Skip to content

Instantly share code, notes, and snippets.

View guidomb's full-sized avatar

Guido Marucci Blas guidomb

View GitHub Profile
use std::time::{Duration, Instant};
use actix::prelude::*;
use rand::Rng;
use tokio::time::sleep;
#[actix_rt::main]
async fn main() {
let actor = MyActor::start_default();
@guidomb
guidomb / FirestoreCoderTests.swift
Created October 4, 2018 13:18
Test case for FirestoreDecoder / FirestoreEncoder
//
// FirestoreEncoderTests.swift
// GoogleAPITests
//
// Created by Guido Marucci Blas on 10/1/18.
//
import Foundation
import XCTest
import GoogleAPI
@guidomb
guidomb / FirestoreDecoder.swift
Created October 4, 2018 13:12
A Firebase's Firestore document Swift decoder implementation
// AnyCodingKey.swift
import Foundation
struct AnyCodingKey: CodingKey, Equatable {
var stringValue: String
var intValue: Int?
init?(stringValue: String) {
@guidomb
guidomb / Firestore.swift
Created October 4, 2018 13:08
A Firebase's firestore document object represented in Swift
//
// Firestore.swift
// Feebi
//
// Created by Guido Marucci Blas on 5/20/18.
//
import Foundation
public protocol JSONRepresentable: Encodable {
public protocol JSONRepresentable: Encodable {
func asJsonData() throws -> Data
func asJson() throws -> [String : Any]?
}
extension JSONRepresentable {
import Foundation
struct AnyError: Error {
private let error: Error
init(_ error: Error) {
self.error = error
}
@guidomb
guidomb / gist:92a26b2f2b84942122a3782db70cbf49
Created June 3, 2018 03:22
Swift compiler crasher dump - only on linux - swif 4.1
Swift version: Swift version 4.1 (swift-4.1-RELEASE)
Target: x86_64-unknown-linux-gnu
swift: /home/buildnode/jenkins/workspace/oss-swift-4.1-package-linux-ubuntu-14_04/swift/include/swift/AST/Decl.h:840: void swift::Decl::setIsBeingValidated(bool): Assertion `DeclBits.BeingValidated != ibv' failed.
/usr/bin/swift[0x3b78654]
/usr/bin/swift[0x3b78dc6]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10330)[0x7f84ee7f9330]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7f84ecfdbc37]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7f84ecfdf028]
/lib/x86_64-linux-gnu/libc.so.6(+0x2fbf6)[0x7f84ecfd4bf6]