/[sudobot]/branches/8.x/src/decorators/SuppressErrors.ts
ViewVC logotype

Contents of /branches/8.x/src/decorators/SuppressErrors.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 577 - (show annotations)
Mon Jul 29 18:52:37 2024 UTC (8 months, 1 week ago) by rakinar2
File MIME type: application/typescript
File size: 1661 byte(s)
chore: add old version archive branches (2.x to 9.x-dev)
1 /*
2 * This file is part of SudoBot.
3 *
4 * Copyright (C) 2021-2023 OSN Developers.
5 *
6 * SudoBot is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU Affero General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * SudoBot is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public License
17 * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20 export function SuppressErrors() {
21 return (
22 originalMethodOrTarget: unknown,
23 contextOrMethodName: string | ClassMethodDecoratorContext,
24 _descriptor?: PropertyDescriptor
25 ) => {
26 if (typeof contextOrMethodName === "string") {
27 Reflect.defineMetadata(
28 "suppress_errors",
29 {
30 mode: "suppress"
31 } satisfies SuppressErrorsMetadata,
32 originalMethodOrTarget as object,
33 contextOrMethodName
34 );
35 } else {
36 (contextOrMethodName.metadata as unknown) ??= {};
37 contextOrMethodName.metadata.suppressErrors = {
38 mode: "suppress"
39 } satisfies SuppressErrorsMetadata;
40 return originalMethodOrTarget as void;
41 }
42 };
43 }
44
45 export interface SuppressErrorsMetadata {
46 mode: "suppress" | "log" | "disabled";
47 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26