Skip to content

Instantly share code, notes, and snippets.

@fxm90
fxm90 / Deferred.js
Created February 28, 2017 14:27
Create a angular like deferred object with plain javascript (ES6)
class Deferred {
constructor() {
this.promise = new Promise((resolve, reject) => {
this.reject = reject;
this.resolve = resolve;
});
}
resolve(value) {
this.resolve(value);
@fxm90
fxm90 / isset.swift
Last active April 23, 2017 11:35
Equivalent of php "isset()" in swift 3.0
func isset(_ args: Any?...) -> Bool {
return !args.contains { $0 == nil }
}
@fxm90
fxm90 / Array+PlusAssignment.swift
Last active August 17, 2017 06:40
Append one value of same type to array.
func += <T>(left: inout [T], right: T) {
left.append(right)
}
@fxm90
fxm90 / randomHelpers.php
Created August 31, 2017 07:29
PHP - Random helper functions
// Returns a random float value between "$min" and "$max".
// Usage: $latitude = randomFloat(53.394655, 53.694865)
function randomFloat($min, $max) {
return $min + lcg_value() * abs($max - $min);
}
// Returns a random argument, passed to this function.
// Usage: $fruit = randomArgument('Apple', 'Banana', 'Strawberry');
function randomArgument() {
$numberOfArguments = func_num_args();
@fxm90
fxm90 / isNumeric.php
Last active April 28, 2018 08:58
Checks whether all given parameters are numeric (Same as php-vanilla "is_numeric" but as variadic function).
// Checks whether all given parameters are numeric.
// Usage: $validCoordinates = isNumeric($_GET['p1Lat'], $_GET['p1Lon']));
function isNumeric() {
$numberOfArguments = func_num_args();
$arguments = func_get_args();
return count(array_filter($arguments, 'is_numeric')) === $numberOfArguments;
}
@fxm90
fxm90 / CustomNotificationCenterTestCase.swift
Created August 6, 2018 12:57
XCTest - Use custom notification center in test case and assert notification (not) triggered.
class CustomNotificationCenterTestCase: XCTestCase {
var notificationCenter: NotificationCenter!
override func setUp() {
super.setUp()
notificationCenter = NotificationCenter()
}
@fxm90
fxm90 / VerticalGradientImageView.swift
Last active February 11, 2019 13:19
An image view containing a vertical gradient as background.
//
// VerticalGradientImageView.swift
//
// Created by Felix Mau on 23/09/18.
// Copyright © 2018 Felix Mau. All rights reserved.
//
import UIKit
class VerticalGradientImageView: UIImageView {
@fxm90
fxm90 / Observable.swift
Last active June 16, 2019 14:23
A lightweight implementation of an observable sequence that you can subscribe to.
//
// For reusability reasons I've moved the code into a Framework.
// https://github.com/fxm90/LightweightObservable
//
@fxm90
fxm90 / swiftlint.sh
Last active September 1, 2019 10:19
Check "SwiftLint" installed via CocoaPods. Add a new "Run Script Phase" with this gist.
SWIFTLINT="${PODS_ROOT}/SwiftLint/swiftlint"
if [ ! -f "$SWIFTLINT" ]; then
echo "warning: SwiftLint not installed!"
exit 1
fi
$SWIFTLINT
@fxm90
fxm90 / swiftformat.sh
Created September 1, 2019 10:20
Check "SwiftFormat" installed via CocoaPods. Add a new "Run Script Phase" with this gist.
SWIFTFORMAT="${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat"
if [ ! -f "$SWIFTFORMAT" ]; then
echo "warning: SwiftFormat not installed!"
exit 1
fi
$SWIFTFORMAT ./