ngx-party-parrots
Version:
This gonna be easter egg library
80 lines • 5.85 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, HostListener, Output } from '@angular/core';
var CodeDetectorComponent = /** @class */ (function () {
function CodeDetectorComponent() {
this.codeProvided = new EventEmitter();
this.ppCode = ['p', 'a', 'r', 'r', 'o', 't'];
this.ppCodePosition = 0;
this.allowedKeys = {
'o': 'o',
'p': 'p',
'r': 'r',
't': 't',
'a': 'a',
};
}
/**
* @param {?} event
* @return {?}
*/
CodeDetectorComponent.prototype.handleKeyboardEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
// get the value of the key code from the key map
/** @type {?} */
var key = this.allowedKeys[event.key];
// get the value of the required key from the konami code
/** @type {?} */
var requiredKey = this.ppCode[this.ppCodePosition];
// compare the key with the required key
if (key === requiredKey) {
// move to the next key in the konami code sequence
this.ppCodePosition++;
// if the last key is reached, activate cheats
if (this.ppCodePosition === this.ppCode.length) {
this.codeProvided.emit();
this.ppCodePosition = 0;
}
}
else {
this.ppCodePosition = 0;
}
};
CodeDetectorComponent.decorators = [
{ type: Component, args: [{
selector: 'ngx-pp-code-detector',
template: ''
}] }
];
CodeDetectorComponent.propDecorators = {
codeProvided: [{ type: Output }],
handleKeyboardEvent: [{ type: HostListener, args: ['document:keydown', ['$event'],] }]
};
return CodeDetectorComponent;
}());
export { CodeDetectorComponent };
if (false) {
/** @type {?} */
CodeDetectorComponent.prototype.codeProvided;
/**
* @type {?}
* @private
*/
CodeDetectorComponent.prototype.ppCode;
/**
* @type {?}
* @private
*/
CodeDetectorComponent.prototype.ppCodePosition;
/**
* @type {?}
* @private
*/
CodeDetectorComponent.prototype.allowedKeys;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1kZXRlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtcGFydHktcGFycm90cy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NvZGUtZGV0ZWN0b3IvY29kZS1kZXRlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUU7SUFBQTtRQU9ZLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMxQyxXQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsRUFBQyxHQUFHLEVBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLGdCQUFXLEdBQUc7WUFDcEIsR0FBRyxFQUFFLEdBQUc7WUFDUixHQUFHLEVBQUUsR0FBRztZQUNSLEdBQUcsRUFBRSxHQUFHO1lBQ1IsR0FBRyxFQUFFLEdBQUc7WUFDUixHQUFHLEVBQUUsR0FBRztTQUNULENBQUM7SUEyQkosQ0FBQzs7Ozs7SUF2QkMsbURBQW1COzs7O0lBRG5CLFVBQ29CLEtBQW9COzs7WUFFaEMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzs7O1lBR2pDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFcEQsd0NBQXdDO1FBQ3hDLElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRTtZQUV2QixtREFBbUQ7WUFDbkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXRCLDhDQUE4QztZQUM5QyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO2FBQ3pCO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7Z0JBekNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsRUFBRTtpQkFFYjs7OytCQUdFLE1BQU07c0NBWU4sWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDOztJQXdCOUMsNEJBQUM7Q0FBQSxBQTNDRCxJQTJDQztTQXRDWSxxQkFBcUI7OztJQUVoQyw2Q0FBa0Q7Ozs7O0lBQ2xELHVDQUEyQzs7Ozs7SUFDM0MsK0NBQTJCOzs7OztJQUMzQiw0Q0FNRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtcHAtY29kZS1kZXRlY3RvcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBDb2RlRGV0ZWN0b3JDb21wb25lbnQge1xuXG4gIEBPdXRwdXQoKSBjb2RlUHJvdmlkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XG4gIHByaXZhdGUgcHBDb2RlID0gWydwJywnYScsJ3InLCdyJywnbycsJ3QnXTtcbiAgcHJpdmF0ZSBwcENvZGVQb3NpdGlvbiA9IDA7XG4gIHByaXZhdGUgYWxsb3dlZEtleXMgPSB7XG4gICAgJ28nOiAnbycsXG4gICAgJ3AnOiAncCcsXG4gICAgJ3InOiAncicsXG4gICAgJ3QnOiAndCcsXG4gICAgJ2EnOiAnYScsXG4gIH07XG5cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIC8vIGdldCB0aGUgdmFsdWUgb2YgdGhlIGtleSBjb2RlIGZyb20gdGhlIGtleSBtYXBcbiAgICBjb25zdCBrZXkgPSB0aGlzLmFsbG93ZWRLZXlzW2V2ZW50LmtleV07XG5cbiAgICAvLyBnZXQgdGhlIHZhbHVlIG9mIHRoZSByZXF1aXJlZCBrZXkgZnJvbSB0aGUga29uYW1pIGNvZGVcbiAgICBjb25zdCByZXF1aXJlZEtleSA9IHRoaXMucHBDb2RlW3RoaXMucHBDb2RlUG9zaXRpb25dO1xuXG4gICAgLy8gY29tcGFyZSB0aGUga2V5IHdpdGggdGhlIHJlcXVpcmVkIGtleVxuICAgIGlmIChrZXkgPT09IHJlcXVpcmVkS2V5KSB7XG5cbiAgICAgIC8vIG1vdmUgdG8gdGhlIG5leHQga2V5IGluIHRoZSBrb25hbWkgY29kZSBzZXF1ZW5jZVxuICAgICAgdGhpcy5wcENvZGVQb3NpdGlvbisrO1xuXG4gICAgICAvLyBpZiB0aGUgbGFzdCBrZXkgaXMgcmVhY2hlZCwgYWN0aXZhdGUgY2hlYXRzXG4gICAgICBpZiAodGhpcy5wcENvZGVQb3NpdGlvbiA9PT0gdGhpcy5wcENvZGUubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuY29kZVByb3ZpZGVkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5wcENvZGVQb3NpdGlvbiA9IDA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHBDb2RlUG9zaXRpb24gPSAwO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=