@namefully/ng
Version:
namefully for Angular
90 lines • 6.68 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: namefully.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, Inject } from '@angular/core';
import { Namefully, Config } from 'namefully';
import { CONFIG_TOKEN } from './namefully-config';
import * as i0 from "@angular/core";
import * as i1 from "./namefully-config";
/**
* Inject this service into your Angular component to handle person names
*
* \@usageNotes
* - import the module first to your app
* - then use it with the following props bindings
* // in the AppModule for example:
* ```ts
* import { NamefullyModule } from '\@namefully/ng'
*
* \@NgModule({
* imports: [BrowserModule, NamefullyModule.forRoot(...)],
* declarations: [AppComponent],
* bootstrap: [AppComponent]
* })
* export class AppModule {}
* ```
*
* // in the AppComponent.ts
* ```ts
* \@Component({ template: `<p>{{ superName.shorten() }}</p>` })
* class AppComponent implements OnInit {
* name = 'Mr Smith John Joe PhD';
* superName: Namefully;
*
* constructor(private service: NamefullyService) {}
*
* ngOnInit(): void {
* this.superName = this.service.build(
* this.name,
* // override forRoot config here
* );
* }
* }
* ```
*/
var NamefullyService = /** @class */ (function () {
function NamefullyService(config) {
this.config = !!config.custom ? Config.merge(config.custom) : config.default;
}
/**
* Constructs `Namefully`
* @param raw data to construct the name parts of a full name
* @param options fallback config to override preset forRoot(config)
*/
/**
* Constructs `Namefully`
* @param {?} raw data to construct the name parts of a full name
* @param {?=} options fallback config to override preset forRoot(config)
* @return {?}
*/
NamefullyService.prototype.build = /**
* Constructs `Namefully`
* @param {?} raw data to construct the name parts of a full name
* @param {?=} options fallback config to override preset forRoot(config)
* @return {?}
*/
function (raw, options) {
return new Namefully(raw, options || this.config);
};
NamefullyService.decorators = [
{ type: Injectable, args: [{ providedIn: 'root' },] }
];
/** @nocollapse */
NamefullyService.ctorParameters = function () { return [
{ type: undefined, decorators: [{ type: Inject, args: [CONFIG_TOKEN,] }] }
]; };
/** @nocollapse */ NamefullyService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NamefullyService_Factory() { return new NamefullyService(i0.ɵɵinject(i1.CONFIG_TOKEN)); }, token: NamefullyService, providedIn: "root" });
return NamefullyService;
}());
export { NamefullyService };
if (false) {
/**
* Holds a json-like copy of the preset configuration injected by Angular
* @type {?}
* @private
*/
NamefullyService.prototype.config;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWZ1bGx5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmFtZWZ1bGx5L25nLyIsInNvdXJjZXMiOlsibmFtZWZ1bGx5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBMEIsTUFBTSxXQUFXLENBQUE7QUFDckUsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQzlEO0lBT0ksMEJBQWtDLE1BQW1CO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFBO0lBQ2hGLENBQUM7SUFFRDs7OztPQUlHOzs7Ozs7O0lBQ0gsZ0NBQUs7Ozs7OztJQUFMLFVBQU0sR0FBbUQsRUFBRSxPQUF5QjtRQUNoRixPQUFPLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3JELENBQUM7O2dCQWxCSixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7O2dEQU9qQixNQUFNLFNBQUMsWUFBWTs7OzJCQS9DcEM7Q0EyREMsQUFuQkQsSUFtQkM7U0FsQlksZ0JBQWdCOzs7Ozs7O0lBSXpCLGtDQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOYW1lZnVsbHksIENvbmZpZywgTmFtZSwgSnNvbk5hbWUsIFBhcnNlciB9IGZyb20gJ25hbWVmdWxseSdcbmltcG9ydCB7IENvbmZpZ1Rva2VuLCBDT05GSUdfVE9LRU4gfSBmcm9tICcuL25hbWVmdWxseS1jb25maWcnXG5cbi8qKlxuICogSW5qZWN0IHRoaXMgc2VydmljZSBpbnRvIHlvdXIgQW5ndWxhciBjb21wb25lbnQgdG8gaGFuZGxlIHBlcnNvbiBuYW1lc1xuICpcbiAqIEB1c2FnZU5vdGVzXG4gKiAtIGltcG9ydCB0aGUgbW9kdWxlIGZpcnN0IHRvIHlvdXIgYXBwXG4gKiAtIHRoZW4gdXNlIGl0IHdpdGggdGhlIGZvbGxvd2luZyBwcm9wcyBiaW5kaW5nc1xuICogLy8gaW4gdGhlIEFwcE1vZHVsZSBmb3IgZXhhbXBsZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBOYW1lZnVsbHlNb2R1bGUgfSBmcm9tICdAbmFtZWZ1bGx5L25nJ1xuICpcbiAqIEBOZ01vZHVsZSh7XG4gKiAgIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCBOYW1lZnVsbHlNb2R1bGUuZm9yUm9vdCguLi4pXSxcbiAqICAgZGVjbGFyYXRpb25zOiBbQXBwQ29tcG9uZW50XSxcbiAqICAgYm9vdHN0cmFwOiBbQXBwQ29tcG9uZW50XVxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cbiAqIGBgYFxuICpcbiAqIC8vIGluIHRoZSBBcHBDb21wb25lbnQudHNcbiAqIGBgYHRzXG4gKiBAQ29tcG9uZW50KHsgdGVtcGxhdGU6IGA8cD57eyBzdXBlck5hbWUuc2hvcnRlbigpIH19PC9wPmAgfSlcbiAqIGNsYXNzIEFwcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gKiAgIG5hbWUgPSAnTXIgU21pdGggSm9obiBKb2UgUGhEJztcbiAqICAgc3VwZXJOYW1lOiBOYW1lZnVsbHk7XG4gKlxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IE5hbWVmdWxseVNlcnZpY2UpIHt9XG4gKlxuICogICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAqICAgICAgIHRoaXMuc3VwZXJOYW1lID0gdGhpcy5zZXJ2aWNlLmJ1aWxkKFxuICogICAgICAgICAgIHRoaXMubmFtZSxcbiAqICAgICAgICAgICAgLy8gb3ZlcnJpZGUgZm9yUm9vdCBjb25maWcgaGVyZVxuICogICAgICAgICAgICk7XG4gKiAgICAgICB9XG4gKiAgIH1cbiAqICBgYGBcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOYW1lZnVsbHlTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBIb2xkcyBhIGpzb24tbGlrZSBjb3B5IG9mIHRoZSBwcmVzZXQgY29uZmlndXJhdGlvbiBpbmplY3RlZCBieSBBbmd1bGFyXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IENvbmZpZ1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChDT05GSUdfVE9LRU4pIGNvbmZpZzogQ29uZmlnVG9rZW4pIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSAhIWNvbmZpZy5jdXN0b20gPyBDb25maWcubWVyZ2UoY29uZmlnLmN1c3RvbSkgOiBjb25maWcuZGVmYXVsdFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYE5hbWVmdWxseWBcbiAgICAgKiBAcGFyYW0gcmF3IGRhdGEgdG8gY29uc3RydWN0IHRoZSBuYW1lIHBhcnRzIG9mIGEgZnVsbCBuYW1lXG4gICAgICogQHBhcmFtIG9wdGlvbnMgZmFsbGJhY2sgY29uZmlnIHRvIG92ZXJyaWRlIHByZXNldCBmb3JSb290KGNvbmZpZylcbiAgICAgKi9cbiAgICBidWlsZChyYXc6IHN0cmluZyB8IHN0cmluZ1tdIHwgTmFtZVtdIHwgSnNvbk5hbWUgfCBQYXJzZXIsIG9wdGlvbnM/OiBQYXJ0aWFsPENvbmZpZz4pOiBOYW1lZnVsbHkge1xuICAgICAgICByZXR1cm4gbmV3IE5hbWVmdWxseShyYXcsIG9wdGlvbnMgfHwgdGhpcy5jb25maWcpXG4gICAgfVxufVxuIl19