Skip to content

Instantly share code, notes, and snippets.

View longfellowone's full-sized avatar

Matt Wright longfellowone

  • Vancouver, Canada
View GitHub Profile
@longfellowone
longfellowone / group-objects-by-property.md
Created April 29, 2019 03:19 — forked from JamieMason/group-objects-by-property.md
Group Array of JavaScript Objects by Key or Property Value

Group Array of JavaScript Objects by Key or Property Value

Implementation

const groupBy = key => array =>
  array.reduce((objectsByKeyValue, obj) => {
    const value = obj[key];
    objectsByKeyValue[value] = (objectsByKeyValue[value] || []).concat(obj);
    return objectsByKeyValue;
@longfellowone
longfellowone / .js
Last active April 29, 2019 05:13
Group by date
import React from "react";
import ReactDOM from "react-dom";
function App() {
const orders = [
{ date: 1556396396, project: "Project 1" },
{ date: 1556396416, project: "Project 2" },
{ date: 1552186577, project: "Project 3" },
{ date: 1554064562, project: "Project 4" },
{ date: 1556396473, project: "Project 5" },
@longfellowone
longfellowone / .js
Last active April 29, 2019 05:05
replaceAtReducer
function replaceAt(indexArray, string) {
const func = (string, i) => {
string[i] = (
<span className="font-bold text-red" key={i}>
{string[i]}
</span>
);
return string;
};
@longfellowone
longfellowone / .js
Last active April 29, 2019 17:27
Purchasing tempalte
import React, { useState } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
import { orders } from "./models";
const App = () => {
const [currentOrder, setCurrentOrder] = useState(null); // orders[0]
const [searchFocused, setSearchFocused] = useState(false);
func (r *mutationResolver) UpdateUser(ctx context.Context, input UpdateUser) (User, error) {
var fields = bson.M{}
var user User
update := false
if input.First != nil && *input.First != "" {
fields["first"] = *input.First
update = true
}
import React from 'react';
import { Provider1, Provider2, Provider3 } from './';
function ProviderComposer({ contexts, children }) {
return contexts.reduceRight(
// kids = accumulator, parent = currentValue
(kids, parent) =>
React.cloneElement(parent, {
children: kids
}),
// https://stackoverflow.com/questions/37069186/calculate-working-days-between-two-dates-in-javascript-excepts-holidays
$(document).ready(() => {
$('#calc').click(() => {
var d1 = $('#d1').val();
var d2 = $('#d2').val();
$('#dif').text(workingDaysBetweenDates(d1,d2));
});
});
package main
import (
"encoding/csv"
"fmt"
"log"
"os"
"path/filepath"
"strings"
"time"
@longfellowone
longfellowone / Dockerfile
Created August 15, 2020 16:13 — forked from terry90/Dockerfile
Rust Dockerfile to build really small containers with postgres and SSL (~20Mo with rocket and diesel). Dependencies are cached for faster builds.
FROM clux/muslrust as build
WORKDIR /app/
# Deps caching begins
COPY Cargo.toml .
COPY Cargo.lock .
RUN mkdir src
RUN echo "fn main() {}" > src/main.rs
@longfellowone
longfellowone / rust-xp-03-redis.rs
Created October 11, 2021 18:04 — forked from jeremychone/rust-xp-03-redis.rs
Rust Redis with Async/Await (single threaded concurrency) | RustLang by example
#![allow(unused)] // silence unused warnings while exploring (to comment out)
use std::{error::Error, time::Duration};
use tokio::time::sleep;
use redis::{
from_redis_value,
streams::{StreamRangeReply, StreamReadOptions, StreamReadReply},
AsyncCommands, Client,
};