{"version":3,"file":"plugin.mjs","names":["error: Error","prefix: string","plugin: Plugin","fn: (...args: Args) => Result","err: unknown"],"sources":["../../src/functions/plugin.ts"],"sourcesContent":["import type { Plugin } from \"#/@types/options\";\n\nconst prefixError = (error: Error, prefix: string): Error => {\n    error.message = `${prefix} ${error.message}`;\n    return error;\n};\n\nconst tryPlugin = <Args extends unknown[], Result>(\n    plugin: Plugin,\n    fn: (...args: Args) => Result,\n    ...args: Args\n): Result => {\n    try {\n        return fn(...args);\n    } catch (err: unknown) {\n        const prefix: string = `[${plugin.name ?? \"plugin\"}]`;\n        if (err instanceof Error) throw prefixError(err, prefix);\n        throw new Error(`${prefix} ${String(err)}`);\n    }\n};\n\nexport { tryPlugin };\n"],"mappings":"AAEA,MAAM,cAAc,CAACA,OAAcC,WAA0B;CACzD,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,MAAM,SAAS;AAC5C,QAAO;AACV;AAED,MAAM,YAAY,CACdC,QACAC,IACA,GAAG,SACM;AACT,KAAI;AACA,SAAO,GAAG,GAAG,KAAK;CACrB,SAAQC,KAAc;EACnB,MAAMH,SAAiB,CAAC,CAAC,EAAE,OAAO,QAAQ,SAAS,CAAC,CAAC;AACrD,MAAI,eAAe,MAAO,OAAM,YAAY,KAAK,OAAO;AACxD,QAAM,IAAI,MAAM,GAAG,OAAO,CAAC,EAAE,OAAO,IAAI,EAAE;CAC7C;AACJ"}