{"version":3,"sources":["../src/permission.ts"],"names":[],"mappings":";AAGO,IAAM,aAAN,MAAiB;AAqDxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AArDa,WAOF,OAAO,CAAC,SAAyB;AACpC,SAAO,SAAS,IAAI;AACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AATS,WAoBF,QAAQ,CAAC,SAAyB;AACrC,SAAO,UAAU,IAAI;AACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAtBS,WA8BF,SAAS,CAAC,SAAyB;AACtC,SAAO,WAAW,IAAI;AAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAhCS,WAwCF,SAAS,CAAC,SAAyB;AACtC,SAAO,WAAW,IAAI;AAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA1CS,WAkDF,SAAS,CAAC,SAAyB;AACtC,SAAO,WAAW,IAAI;AAC1B","sourcesContent":["/**\n * Helper class to generate permission strings for resources.\n */\nexport class Permission {\n    /**\n     * Generate read permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    static read = (role: string): string => {\n        return `read(\"${role}\")`;\n    }\n\n    /**\n     * Generate write permission string for the provided role.\n     *\n     * This is an alias of update, delete, and possibly create.\n     * Don't use write in combination with update, delete, or create.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    static write = (role: string): string => {\n        return `write(\"${role}\")`;\n    }\n\n    /**\n     * Generate create permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    static create = (role: string): string => {\n        return `create(\"${role}\")`;\n    }\n\n    /**\n     * Generate update permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    static update = (role: string): string => {\n        return `update(\"${role}\")`;\n    }\n\n    /**\n     * Generate delete permission string for the provided role.\n     *\n     * @param {string} role\n     * @returns {string}\n     */\n    static delete = (role: string): string => {\n        return `delete(\"${role}\")`;\n    }\n}\n"]}