UNPKG

@scrolia/react-native

Version:
1 lines 1.04 kB
{"version":3,"file":"plugin.mjs","names":[],"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,eAAe,OAAc,WAA0B;AACzD,OAAM,UAAU,GAAG,OAAO,GAAG,MAAM;AACnC,QAAO;;AAGX,MAAM,aACF,QACA,IACA,GAAG,SACM;AACT,KAAI;AACA,SAAO,GAAG,GAAG,KAAK;UACb,KAAc;EACnB,MAAM,SAAiB,IAAI,OAAO,QAAQ,SAAS;AACnD,MAAI,eAAe,MAAO,OAAM,YAAY,KAAK,OAAO;AACxD,QAAM,IAAI,MAAM,GAAG,OAAO,GAAG,OAAO,IAAI,GAAG"}