UNPKG

ng-toast-notify

Version:

Lightweight and flexible toast notifications for Angular

33 lines 4.39 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export class ToastysoundService { constructor() { this.oscillatorType = 'sine'; this.frequency = 430; this.audioCtx = new AudioContext(); } notify() { if (this.audioCtx.state === 'suspended') { this.audioCtx.resume(); } const osc = this.audioCtx.createOscillator(); const gain = this.audioCtx.createGain(); osc.type = this.oscillatorType; osc.frequency.value = this.frequency; gain.gain.setValueAtTime(0.3, this.audioCtx.currentTime); gain.gain.exponentialRampToValueAtTime(0.00009, this.audioCtx.currentTime + 0.4); osc.connect(gain); gain.connect(this.audioCtx.destination); osc.start(0); osc.stop(this.audioCtx.currentTime + 1); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastysoundService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastysoundService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastysoundService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3R5c291bmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRvYXN0LW5vdGlmeS9zcmMvbGliL3RvYXN0eXNvdW5kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QjtRQUVRLG1CQUFjLEdBQW1CLE1BQU0sQ0FBQztRQUN4QyxjQUFTLEdBQVcsR0FBRyxDQUFDO1FBQ3hCLGFBQVEsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUpwQyxDQUFDO0lBTWpCLE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXhDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMvQixHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBRWpGLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXhDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7K0dBM0JVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdHlzb3VuZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwcml2YXRlIG9zY2lsbGF0b3JUeXBlOiBPc2NpbGxhdG9yVHlwZSA9ICdzaW5lJztcclxuICBwcml2YXRlIGZyZXF1ZW5jeTogbnVtYmVyID0gNDMwO1xyXG4gIHByaXZhdGUgYXVkaW9DdHg6IEF1ZGlvQ29udGV4dCA9IG5ldyBBdWRpb0NvbnRleHQoKTtcclxuXHJcbiAgbm90aWZ5KCkge1xyXG4gICAgaWYgKHRoaXMuYXVkaW9DdHguc3RhdGUgPT09ICdzdXNwZW5kZWQnKSB7XHJcbiAgICAgIHRoaXMuYXVkaW9DdHgucmVzdW1lKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0IG9zYyA9IHRoaXMuYXVkaW9DdHguY3JlYXRlT3NjaWxsYXRvcigpO1xyXG4gICAgY29uc3QgZ2FpbiA9IHRoaXMuYXVkaW9DdHguY3JlYXRlR2FpbigpO1xyXG5cclxuICAgIG9zYy50eXBlID0gdGhpcy5vc2NpbGxhdG9yVHlwZTtcclxuICAgIG9zYy5mcmVxdWVuY3kudmFsdWUgPSB0aGlzLmZyZXF1ZW5jeTtcclxuXHJcbiAgICBnYWluLmdhaW4uc2V0VmFsdWVBdFRpbWUoMC4zLCB0aGlzLmF1ZGlvQ3R4LmN1cnJlbnRUaW1lKTtcclxuICAgIGdhaW4uZ2Fpbi5leHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKDAuMDAwMDksIHRoaXMuYXVkaW9DdHguY3VycmVudFRpbWUgKyAwLjQpO1xyXG5cclxuICAgIG9zYy5jb25uZWN0KGdhaW4pO1xyXG4gICAgZ2Fpbi5jb25uZWN0KHRoaXMuYXVkaW9DdHguZGVzdGluYXRpb24pO1xyXG5cclxuICAgIG9zYy5zdGFydCgwKTtcclxuICAgIG9zYy5zdG9wKHRoaXMuYXVkaW9DdHguY3VycmVudFRpbWUgKyAxKTtcclxuICB9XHJcbn1cclxuIl19