@angular-extensions/model
Version:
Angular Model - Simple state management with minimalistic API, one way data flow, multiple model support and immutable data exposed as RxJS Observable.
2 lines • 1.39 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular-extensions/model",["exports","@angular/core","rxjs","rxjs/operators"],t):t((e["angular-extensions"]=e["angular-extensions"]||{},e["angular-extensions"].model={}),e.ng.core,e.rxjs,e.rxjs.operators)}(this,function(e,t,o,a){"use strict";var n=function(){function e(e,t,n,r){this._data=new o.BehaviorSubject(e),this.data$=this._data.asObservable().pipe(a.map(function(e){return t?r?r(e):JSON.parse(JSON.stringify(e)):e}),n?a.shareReplay(1):a.map(function(e){return e}))}return e.prototype.get=function(){return this._data.getValue()},e.prototype.set=function(e){this._data.next(e)},e}(),r=function(){function e(){}return e.prototype.create=function(e){return new n(e,!0,!1)},e.prototype.createMutable=function(e){return new n(e,!1,!1)},e.prototype.createMutableWithSharedSubscription=function(e){return new n(e,!1,!0)},e.prototype.createWithCustomClone=function(e,t){return new n(e,!0,!1,t)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();e.Model=n,e.ModelFactory=r,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=angular-extensions-model.umd.min.js.map