UNPKG

@vindev/particle

Version:

Angular Component Library using Tailwind

40 lines 5.01 kB
import { Directive } from '@angular/core'; import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; export function InitializedMixin(Base = class { }) { class Initialized extends Base { constructor(...args) { super(...args); this._isInitialized = false; this._pendingSubscribers = []; this.initialized = new Observable((subscriber) => { if (this._isInitialized) { this._notifySubscriber(subscriber); } else { this._pendingSubscribers?.push(subscriber); } }); } _markInitialized() { if (this._isInitialized) { throw Error('This directive has already been marked as initialized and should not be called twice.'); } this._isInitialized = true; this._pendingSubscribers?.forEach(this._notifySubscriber); this._pendingSubscribers = null; } _notifySubscriber(subscriber) { subscriber.next(); subscriber.complete(); } } Initialized.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Initialized, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); Initialized.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: Initialized, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Initialized, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: undefined }]; } }); return Initialized; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZWQubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BhcnRpY2xlLWxpYi9zcmMvbGliL3NoYXJlZC9taXhpbnMvaW5pdGlhbGl6ZWQubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQUc5QyxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE9BQVU7Q0FBZTtJQUV6QixNQUNNLFdBQVksU0FBUSxJQUFJO1FBYTVCLFlBQVksR0FBRyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBYmpCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1lBRXZCLHdCQUFtQixHQUE4QixFQUFFLENBQUM7WUFFcEQsZ0JBQVcsR0FBRyxJQUFJLFVBQVUsQ0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUNoRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDcEM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDNUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUlILENBQUM7UUFFRCxnQkFBZ0I7WUFDZCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLE1BQU0sS0FBSyxDQUNULHVGQUF1RixDQUN4RixDQUFDO2FBQ0g7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUUzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsQ0FBQztRQUVELGlCQUFpQixDQUFDLFVBQTRCO1lBQzVDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsQ0FBQzs7NEdBakNHLFdBQVc7Z0dBQVgsV0FBVzsrRkFBWCxXQUFXO3NCQURoQixTQUFTOztJQXFDVixPQUFPLFdBQVcsQ0FBQztDQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvcic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSW5pdGlhbGl6ZWRNaXhpbjxUIGV4dGVuZHMgQ29uc3RydWN0b3I8e30+PihcclxuICBCYXNlOiBUID0gY2xhc3Mge30gYXMgYW55XHJcbikge1xyXG4gIEBEaXJlY3RpdmUoKVxyXG4gIGNsYXNzIEluaXRpYWxpemVkIGV4dGVuZHMgQmFzZSB7XHJcbiAgICBfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xyXG5cclxuICAgIF9wZW5kaW5nU3Vic2NyaWJlcnM6IFN1YnNjcmliZXI8dm9pZD5bXSB8IG51bGwgPSBbXTtcclxuXHJcbiAgICBpbml0aWFsaXplZCA9IG5ldyBPYnNlcnZhYmxlPHZvaWQ+KChzdWJzY3JpYmVyKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgdGhpcy5fbm90aWZ5U3Vic2NyaWJlcihzdWJzY3JpYmVyKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9wZW5kaW5nU3Vic2NyaWJlcnM/LnB1c2goc3Vic2NyaWJlcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgIF9tYXJrSW5pdGlhbGl6ZWQoKTogdm9pZCB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgdGhyb3cgRXJyb3IoXHJcbiAgICAgICAgICAnVGhpcyBkaXJlY3RpdmUgaGFzIGFscmVhZHkgYmVlbiBtYXJrZWQgYXMgaW5pdGlhbGl6ZWQgYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIHR3aWNlLidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuX3BlbmRpbmdTdWJzY3JpYmVycz8uZm9yRWFjaCh0aGlzLl9ub3RpZnlTdWJzY3JpYmVyKTtcclxuICAgICAgdGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBfbm90aWZ5U3Vic2NyaWJlcihzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPHZvaWQ+KTogdm9pZCB7XHJcbiAgICAgIHN1YnNjcmliZXIubmV4dCgpO1xyXG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gSW5pdGlhbGl6ZWQ7XHJcbn1cclxuIl19