Skip to content

Instantly share code, notes, and snippets.

View osben's full-sized avatar
🐱
dev

Yevhen Yerko osben

🐱
dev
View GitHub Profile
#!/bin/bash
# Scroll direction: natural
defaults write 'Apple Global Domain' com.apple.swipescrolldirection -bool FALSE
# Set the timezone
sudo systemsetup -settimezone "Europe/Paris" > /dev/null
# Require password immediately after sleep or screen saver begins
#defaults write com.apple.screensaver askForPasswordDelay -int 0
@osben
osben / password.validator.ts
Created April 1, 2019 08:58 — forked from djabif/password.validator.ts
Password Validator for ionic apps
import { FormControl, FormGroup } from '@angular/forms';
export class PasswordValidator {
static areEqual(formGroup: FormGroup) {
let val;
let valid = true;
for (let key in formGroup.controls) {
if (formGroup.controls.hasOwnProperty(key)) {
let control: FormControl = <FormControl>formGroup.controls[key];
@osben
osben / phone.validator.ts
Created April 1, 2019 08:58 — forked from djabif/phone.validator.ts
Angular Phone + Country Validator
//Complete example for Ionic Framework in: https://ionicthemes.com/tutorials/about/forms-and-validation-in-ionic
//Complete example for Angular 5 in: https://angular-templates.io/tutorials/about/angular-forms-and-validations
import { AbstractControl, ValidatorFn } from '@angular/forms';
import * as libphonenumber from 'google-libphonenumber';
export class PhoneValidator {
// Inspired on: https://github.com/yuyang041060120/ng2-validation/blob/master/src/equal-to/validator.ts
static validCountryPhone = (countryControl: AbstractControl): ValidatorFn => {
@osben
osben / 0-throw-for-codes.ts
Created February 27, 2019 15:41 — forked from nilsmehlhorn/0-throw-for-codes.ts
RxJS operator for throwing semantic errors for certain HTTP status codes
import { Observable, throwError } from 'rxjs'
import { catchError } from 'rxjs/operators'
import { HttpErrorResponse } from '@angular/common/http'
export const throwForCodes = (codeErrors: Array<[number, () => Error]>) => {
const mappedCodeErrors = new Map(codeErrors)
return <T>(source: Observable<T>) =>
source.pipe(catchError(error => {
if (error instanceof HttpErrorResponse) {
const mappedErrorFn = mappedCodeErrors.get(error.status)
@osben
osben / css3radios.css
Last active July 26, 2016 14:39 — forked from andremescaline/css3radios.css
css3-radios
.css3-radios label {
display: inline-block;
vertical-align: middle;
}
.css3-radios input[type="radio"] + span {
display: inline-block;
vertical-align: middle;
}
.css3-radios input[type="radio"] + span::before {
display: inline-block;
@osben
osben / ChromeExtensionGulp.js
Created March 31, 2016 01:16 — forked from TravelingTechGuy/ChromeExtensionGulp.js
Gulp file for building a Chrome Extension
'use strict';
//npm install gulp gulp-minify-css gulp-uglify gulp-clean gulp-cleanhtml gulp-jshint gulp-strip-debug gulp-zip --save-dev
var gulp = require('gulp'),
clean = require('gulp-clean'),
cleanhtml = require('gulp-cleanhtml'),
minifycss = require('gulp-minify-css'),
jshint = require('gulp-jshint'),
stripdebug = require('gulp-strip-debug'),
@osben
osben / sm-annotated.html
Created December 24, 2015 00:06 — forked from hdragomir/sm-annotated.html
The deferred font loading logic for Smashing Magazine. http://www.smashingmagazine.com/
<script type="text/javascript">
(function () {
"use strict";
// once cached, the css file is stored on the client forever unless
// the URL below is changed. Any change will invalidate the cache
var css_href = './index_files/web-fonts.css';
// a simple event handler wrapper
function on(el, ev, callback) {
if (el.addEventListener) {
el.addEventListener(ev, callback, false);