@versatiledatakit/shared
Version:
Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.
59 lines • 8.43 kB
JavaScript
/*
* Copyright 2023-2025 Broadcom
* SPDX-License-Identifier: Apache-2.0
*/
/* eslint-disable @typescript-eslint/unified-signatures */
import { NgModule } from '@angular/core';
import { StoreModule } from '@ngrx/store';
import { EffectsModule } from '@ngrx/effects';
import { VdkSharedNgrxProdModule, VdkSharedNgrxDevModule } from './helper-modules';
import * as i0 from "@angular/core";
/**
* ** Integration Class module for NgRx Redux.
*/
export class VdkSharedNgRxModule {
/**
* ** Provides VdkSharedNgrxProdModule and all Services related to VDK Redux.
*
* - Recommended for Prod (release) builds.
* - Should be invoked at Root and only once for entire project.
* - In FeaturesModules (lazy loaded Modules) invoke one of the methods <b>forFeatureEffects/forFeatureStore</b>.
*/
static forRoot() {
return VdkSharedNgrxProdModule.forRoot();
}
/**
* ** Provides VdkSharedNgrxDevModule including StoreDevTools and all Services related to VDK Redux.
*
* - Recommended for Dev (local) builds.
* - Should be invoked at Root and only once for entire project.
* - In FeaturesModules (lazy loaded Modules) invoke one of the methods <b>forFeatureEffects/forFeatureStore</b>.
*/
static forRootWithDevtools(config = {}) {
return VdkSharedNgrxDevModule.forRoot(config.storeDevToolsConfig);
}
/**
* ** Load Features Effects.
*
* - Should be invoke in FeatureModules (lazy loaded Modules).
* - It will register Effects for that Feature.
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
static forFeatureEffects(effects) {
return EffectsModule.forFeature(effects);
}
static forFeatureStore(featureName,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
reducer, config) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
return StoreModule.forFeature(featureName, reducer, config);
}
}
VdkSharedNgRxModule.ɵfac = function VdkSharedNgRxModule_Factory(t) { return new (t || VdkSharedNgRxModule)(); };
VdkSharedNgRxModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: VdkSharedNgRxModule });
VdkSharedNgRxModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VdkSharedNgRxModule, [{
type: NgModule,
args: [{}]
}], null, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmRrLXNoYXJlZC1uZ3J4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL2NvcmUvbmdyeC92ZGstc2hhcmVkLW5ncngubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILDBEQUEwRDtBQUUxRCxPQUFPLEVBQXVDLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQTRFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwSCxPQUFPLEVBQXdCLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFbkY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQTJCLEVBQUU7UUFDcEQsT0FBTyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsOERBQThEO0lBQzlELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUF5QjtRQUM5QyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQWtCRCxNQUFNLENBQUMsZUFBZSxDQUNsQixXQUFtQjtJQUNuQiw4REFBOEQ7SUFDOUQsT0FBWSxFQUNaLE1BQThEO1FBRTlELGlFQUFpRTtRQUNqRSxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDOztzRkExRFEsbUJBQW1CO3FFQUFuQixtQkFBbUI7O3VGQUFuQixtQkFBbUI7Y0FEL0IsUUFBUTtlQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjMtMjAyNSBCcm9hZGNvbVxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5pZmllZC1zaWduYXR1cmVzICovXG5cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvblJlZHVjZXIsIEFjdGlvblJlZHVjZXJNYXAsIFN0b3JlQ29uZmlnLCBTdG9yZUZlYXR1cmVNb2R1bGUsIFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c0ZlYXR1cmVNb2R1bGUsIEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcblxuaW1wb3J0IHsgVGF1cnVzTmdSeENvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IFZka1NoYXJlZE5ncnhQcm9kTW9kdWxlLCBWZGtTaGFyZWROZ3J4RGV2TW9kdWxlIH0gZnJvbSAnLi9oZWxwZXItbW9kdWxlcyc7XG5cbi8qKlxuICogKiogSW50ZWdyYXRpb24gQ2xhc3MgbW9kdWxlIGZvciBOZ1J4IFJlZHV4LlxuICovXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgVmRrU2hhcmVkTmdSeE1vZHVsZSB7XG4gICAgLyoqXG4gICAgICogKiogUHJvdmlkZXMgVmRrU2hhcmVkTmdyeFByb2RNb2R1bGUgYW5kIGFsbCBTZXJ2aWNlcyByZWxhdGVkIHRvIFZESyBSZWR1eC5cbiAgICAgKlxuICAgICAqICAgICAgLSBSZWNvbW1lbmRlZCBmb3IgUHJvZCAocmVsZWFzZSkgYnVpbGRzLlxuICAgICAqICAgICAgLSBTaG91bGQgYmUgaW52b2tlZCBhdCBSb290IGFuZCBvbmx5IG9uY2UgZm9yIGVudGlyZSBwcm9qZWN0LlxuICAgICAqICAgICAgLSBJbiBGZWF0dXJlc01vZHVsZXMgKGxhenkgbG9hZGVkIE1vZHVsZXMpIGludm9rZSBvbmUgb2YgdGhlIG1ldGhvZHMgPGI+Zm9yRmVhdHVyZUVmZmVjdHMvZm9yRmVhdHVyZVN0b3JlPC9iPi5cbiAgICAgKi9cbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZka1NoYXJlZE5ncnhQcm9kTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiBWZGtTaGFyZWROZ3J4UHJvZE1vZHVsZS5mb3JSb290KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogKiogUHJvdmlkZXMgVmRrU2hhcmVkTmdyeERldk1vZHVsZSBpbmNsdWRpbmcgU3RvcmVEZXZUb29scyBhbmQgYWxsIFNlcnZpY2VzIHJlbGF0ZWQgdG8gVkRLIFJlZHV4LlxuICAgICAqXG4gICAgICogICAgICAtIFJlY29tbWVuZGVkIGZvciBEZXYgKGxvY2FsKSBidWlsZHMuXG4gICAgICogICAgICAtIFNob3VsZCBiZSBpbnZva2VkIGF0IFJvb3QgYW5kIG9ubHkgb25jZSBmb3IgZW50aXJlIHByb2plY3QuXG4gICAgICogICAgICAtIEluIEZlYXR1cmVzTW9kdWxlcyAobGF6eSBsb2FkZWQgTW9kdWxlcykgaW52b2tlIG9uZSBvZiB0aGUgbWV0aG9kcyA8Yj5mb3JGZWF0dXJlRWZmZWN0cy9mb3JGZWF0dXJlU3RvcmU8L2I+LlxuICAgICAqL1xuICAgIHN0YXRpYyBmb3JSb290V2l0aERldnRvb2xzKGNvbmZpZzogVGF1cnVzTmdSeENvbmZpZyA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxWZGtTaGFyZWROZ3J4RGV2TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiBWZGtTaGFyZWROZ3J4RGV2TW9kdWxlLmZvclJvb3QoY29uZmlnLnN0b3JlRGV2VG9vbHNDb25maWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICoqIExvYWQgRmVhdHVyZXMgRWZmZWN0cy5cbiAgICAgKlxuICAgICAqICAgICAgLSBTaG91bGQgYmUgaW52b2tlIGluIEZlYXR1cmVNb2R1bGVzIChsYXp5IGxvYWRlZCBNb2R1bGVzKS5cbiAgICAgKiAgICAgIC0gSXQgd2lsbCByZWdpc3RlciBFZmZlY3RzIGZvciB0aGF0IEZlYXR1cmUuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzdGF0aWMgZm9yRmVhdHVyZUVmZmVjdHMoZWZmZWN0czogQXJyYXk8VHlwZTxhbnk+Pik6IE1vZHVsZVdpdGhQcm92aWRlcnM8RWZmZWN0c0ZlYXR1cmVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShlZmZlY3RzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAqKiBMb2FkIEZlYXR1cmVzIFN0b3JlIHJlZHVjZXJzLlxuICAgICAqXG4gICAgICogICAgICAtIFNob3VsZCBiZSBpbnZva2UgaW4gRmVhdHVyZU1vZHVsZXMgKGxhenkgbG9hZGVkIE1vZHVsZXMpLlxuICAgICAqICAgICAgLSBJdCB3aWxsIGV4dGVuZCBTdG9yZSBhbmQgYWRkIHJlZHVjZXJzIGZvciB0aGF0IEZlYXR1cmUuXG4gICAgICovXG4gICAgc3RhdGljIGZvckZlYXR1cmVTdG9yZTxULCBWIGV4dGVuZHMgQWN0aW9uID0gQWN0aW9uPihcbiAgICAgICAgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgICAgICAgcmVkdWNlcnM6IEFjdGlvblJlZHVjZXJNYXA8VCwgVj4gfCBJbmplY3Rpb25Ub2tlbjxBY3Rpb25SZWR1Y2VyTWFwPFQsIFY+PixcbiAgICAgICAgY29uZmlnPzogU3RvcmVDb25maWc8VCwgVj4gfCBJbmplY3Rpb25Ub2tlbjxTdG9yZUNvbmZpZzxULCBWPj5cbiAgICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFN0b3JlRmVhdHVyZU1vZHVsZT47XG4gICAgc3RhdGljIGZvckZlYXR1cmVTdG9yZTxULCBWIGV4dGVuZHMgQWN0aW9uID0gQWN0aW9uPihcbiAgICAgICAgZmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgICAgICAgcmVkdWNlcjogQWN0aW9uUmVkdWNlcjxULCBWPiB8IEluamVjdGlvblRva2VuPEFjdGlvblJlZHVjZXI8VCwgVj4+LFxuICAgICAgICBjb25maWc/OiBTdG9yZUNvbmZpZzxULCBWPiB8IEluamVjdGlvblRva2VuPFN0b3JlQ29uZmlnPFQsIFY+PlxuICAgICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U3RvcmVGZWF0dXJlTW9kdWxlPjtcbiAgICBzdGF0aWMgZm9yRmVhdHVyZVN0b3JlPFQsIFYgZXh0ZW5kcyBBY3Rpb24gPSBBY3Rpb24+KFxuICAgICAgICBmZWF0dXJlTmFtZTogc3RyaW5nLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICByZWR1Y2VyOiBhbnksXG4gICAgICAgIGNvbmZpZz86IFN0b3JlQ29uZmlnPFQsIFY+IHwgSW5qZWN0aW9uVG9rZW48U3RvcmVDb25maWc8VCwgVj4+XG4gICAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTdG9yZUZlYXR1cmVNb2R1bGU+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcbiAgICAgICAgcmV0dXJuIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoZmVhdHVyZU5hbWUsIHJlZHVjZXIsIGNvbmZpZyk7XG4gICAgfVxufVxuIl19