@bespunky/angular-zen
Version:
The Angular tools you always wished were there.
43 lines • 5.3 kB
JavaScript
import { NgModule, Optional, SkipSelf } from '@angular/core';
import { CoreModule } from '@bespunky/angular-zen/core';
import { provideLanguageIntegration } from './config/language-integration.provider';
import * as i0 from "@angular/core";
/**
* Provides services for libraries requiring integration with their user's language services.
*
* @export
* @class LanguageIntegrationModule
*/
export class LanguageIntegrationModule {
constructor(parentModule) {
if (parentModule)
throw new Error('`LanguageIntegrationModule` has already been loaded. Import it only once, in your app module, using `forRoot()`.');
}
/**
* Generates the language integration modules with the appropriate providers for the app to share its language services with
* libraries and supporting languages.
*
* @static
* @param {LanguageIntegrationProvider} configProvider The integration configuration. Tells the module how to operate with your language services.
*/
static forRoot(configProvider) {
return {
ngModule: LanguageIntegrationModule,
providers: provideLanguageIntegration(configProvider)
};
}
}
LanguageIntegrationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LanguageIntegrationModule, deps: [{ token: LanguageIntegrationModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
LanguageIntegrationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: LanguageIntegrationModule, imports: [CoreModule] });
LanguageIntegrationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LanguageIntegrationModule, imports: [CoreModule] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LanguageIntegrationModule, decorators: [{
type: NgModule,
args: [{
imports: [CoreModule]
}]
}], ctorParameters: function () { return [{ type: LanguageIntegrationModule, decorators: [{
type: Optional
}, {
type: SkipSelf
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtaW50ZWdyYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXplbi9sYW5ndWFnZS9zcmMvbGFuZ3VhZ2UtaW50ZWdyYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFVBQVUsRUFBK0MsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRyxPQUFPLEVBQStCLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7O0FBRWpIOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQUVsQyxZQUFvQyxZQUF1QztRQUV2RSxJQUFJLFlBQVk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtIQUFrSCxDQUFDLENBQUM7SUFDMUosQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBMkM7UUFFdEQsT0FBTztZQUNILFFBQVEsRUFBRyx5QkFBeUI7WUFDcEMsU0FBUyxFQUFFLDBCQUEwQixDQUFDLGNBQWMsQ0FBQztTQUN4RCxDQUFDO0lBQ04sQ0FBQzs7dUhBcEJRLHlCQUF5Qjt3SEFBekIseUJBQXlCLFlBRnhCLFVBQVU7d0hBRVgseUJBQXlCLFlBRnhCLFVBQVU7NEZBRVgseUJBQXlCO2tCQUhyQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDeEI7OzBCQUdnQixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb3JlTW9kdWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZnJvbSAnQGJlc3B1bmt5L2FuZ3VsYXItemVuL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VJbnRlZ3JhdGlvblByb3ZpZGVyLCBwcm92aWRlTGFuZ3VhZ2VJbnRlZ3JhdGlvbiB9IGZyb20gJy4vY29uZmlnL2xhbmd1YWdlLWludGVncmF0aW9uLnByb3ZpZGVyJztcblxuLyoqXG4gKiBQcm92aWRlcyBzZXJ2aWNlcyBmb3IgbGlicmFyaWVzIHJlcXVpcmluZyBpbnRlZ3JhdGlvbiB3aXRoIHRoZWlyIHVzZXIncyBsYW5ndWFnZSBzZXJ2aWNlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgTGFuZ3VhZ2VJbnRlZ3JhdGlvbk1vZHVsZVxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb3JlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZUludGVncmF0aW9uTW9kdWxlXG57XG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBMYW5ndWFnZUludGVncmF0aW9uTW9kdWxlKVxuICAgIHtcbiAgICAgICAgaWYgKHBhcmVudE1vZHVsZSkgdGhyb3cgbmV3IEVycm9yKCdgTGFuZ3VhZ2VJbnRlZ3JhdGlvbk1vZHVsZWAgaGFzIGFscmVhZHkgYmVlbiBsb2FkZWQuIEltcG9ydCBpdCBvbmx5IG9uY2UsIGluIHlvdXIgYXBwIG1vZHVsZSwgdXNpbmcgYGZvclJvb3QoKWAuJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIHRoZSBsYW5ndWFnZSBpbnRlZ3JhdGlvbiBtb2R1bGVzIHdpdGggdGhlIGFwcHJvcHJpYXRlIHByb3ZpZGVycyBmb3IgdGhlIGFwcCB0byBzaGFyZSBpdHMgbGFuZ3VhZ2Ugc2VydmljZXMgd2l0aFxuICAgICAqIGxpYnJhcmllcyBhbmQgc3VwcG9ydGluZyBsYW5ndWFnZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHBhcmFtIHtMYW5ndWFnZUludGVncmF0aW9uUHJvdmlkZXJ9IGNvbmZpZ1Byb3ZpZGVyIFRoZSBpbnRlZ3JhdGlvbiBjb25maWd1cmF0aW9uLiBUZWxscyB0aGUgbW9kdWxlIGhvdyB0byBvcGVyYXRlIHdpdGggeW91ciBsYW5ndWFnZSBzZXJ2aWNlcy5cbiAgICAgKi9cbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWdQcm92aWRlcjogTGFuZ3VhZ2VJbnRlZ3JhdGlvblByb3ZpZGVyKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMYW5ndWFnZUludGVncmF0aW9uTW9kdWxlPlxuICAgIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlIDogTGFuZ3VhZ2VJbnRlZ3JhdGlvbk1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogcHJvdmlkZUxhbmd1YWdlSW50ZWdyYXRpb24oY29uZmlnUHJvdmlkZXIpXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19