{"version":3,"sources":["../src/permission.ts"],"names":[],"mappings":";AAGO,IAAM,aAAN,MAAiB;AAqDxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AArDa,UAAA,CAOF,IAAA,GAAO,CAAC,IAAA,KAAyB;AACpC,EAAA,OAAO,SAAS,IAAI,CAAA,EAAA,CAAA;AACxB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AATS,UAAA,CAoBF,KAAA,GAAQ,CAAC,IAAA,KAAyB;AACrC,EAAA,OAAO,UAAU,IAAI,CAAA,EAAA,CAAA;AACzB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAtBS,UAAA,CA8BF,MAAA,GAAS,CAAC,IAAA,KAAyB;AACtC,EAAA,OAAO,WAAW,IAAI,CAAA,EAAA,CAAA;AAC1B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAhCS,UAAA,CAwCF,MAAA,GAAS,CAAC,IAAA,KAAyB;AACtC,EAAA,OAAO,WAAW,IAAI,CAAA,EAAA,CAAA;AAC1B,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA1CS,UAAA,CAkDF,MAAA,GAAS,CAAC,IAAA,KAAyB;AACtC,EAAA,OAAO,WAAW,IAAI,CAAA,EAAA,CAAA;AAC1B,CAAA","file":"permission.mjs","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"]}