From 36c2e45921423b2d2c1ede6fba751190b0514650 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Wed, 31 Mar 2021 10:14:02 +0200 Subject: [PATCH] MOBILE-3639 compile: Pass all error classes to compiled instances --- src/core/classes/errors/errors.ts | 37 +++++++++++++++++++ src/core/features/compile/services/compile.ts | 4 ++ 2 files changed, 41 insertions(+) create mode 100644 src/core/classes/errors/errors.ts diff --git a/src/core/classes/errors/errors.ts b/src/core/classes/errors/errors.ts new file mode 100644 index 000000000..3f0923075 --- /dev/null +++ b/src/core/classes/errors/errors.ts @@ -0,0 +1,37 @@ +// (C) Copyright 2015 Moodle Pty Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { Type } from '@angular/core'; + +import { CoreError } from './error'; +import { CoreWSError } from './wserror'; +import { CoreCanceledError } from './cancelederror'; +import { CoreSilentError } from './silenterror'; +import { CoreAjaxError } from './ajaxerror'; +import { CoreAjaxWSError } from './ajaxwserror'; +import { CoreCaptureError } from './captureerror'; +import { CoreNetworkError } from './network-error'; +import { CoreSiteError } from './siteerror'; + +export const CORE_ERRORS_CLASSES: Type[] = [ + CoreAjaxError, + CoreAjaxWSError, + CoreCanceledError, + CoreCaptureError, + CoreError, + CoreNetworkError, + CoreSilentError, + CoreSiteError, + CoreWSError, +]; diff --git a/src/core/features/compile/services/compile.ts b/src/core/features/compile/services/compile.ts index 4738f4538..e7738fca3 100644 --- a/src/core/features/compile/services/compile.ts +++ b/src/core/features/compile/services/compile.ts @@ -88,6 +88,7 @@ import { CoreContentLinksModuleIndexHandler } from '@features/contentlinks/class import { CoreCourseActivityPrefetchHandlerBase } from '@features/course/classes/activity-prefetch-handler'; import { CoreCourseResourcePrefetchHandlerBase } from '@features/course/classes/resource-prefetch-handler'; import { CoreGeolocationError, CoreGeolocationErrorReason } from '@services/geolocation'; +import { CORE_ERRORS_CLASSES } from '@classes/errors/errors'; // Import all core modules that define components, directives and pipes. import { CoreSharedModule } from '@/core/shared.module'; @@ -361,6 +362,9 @@ export class CoreCompileProvider { instance['CoreSitePluginsAssignSubmissionComponent'] = CoreSitePluginsAssignSubmissionComponent; instance['CoreGeolocationError'] = CoreGeolocationError; instance['CoreGeolocationErrorReason'] = CoreGeolocationErrorReason; + CORE_ERRORS_CLASSES.forEach((classDef) => { + instance[classDef.name] = classDef; + }); } /**