Skip to content

Instantly share code, notes, and snippets.

View brentvatne's full-sized avatar
😶‍🌫️
☕️⚛️🏃‍♂️🐶🎸

Brent Vatne brentvatne

😶‍🌫️
☕️⚛️🏃‍♂️🐶🎸
View GitHub Profile
{
"hooks": {
"postPublish": [
{
"file": "./notify",
"config": {
"webhookUrl": "https://hooks.slack.com/put-your-stuff-here"
}
}
]
module.exports = ({ url, iosManifest, config }) => {
const { webhookUrl } = config;
const slack = require('slack-notify')(webhookUrl);
return new Promise((resolve, reject) => {
slack.send(
{
icon_url: iosManifest.iconUrl,
text: `${iosManifest.name} v${iosManifest.version} published to ${url}`,
unfurl_links: 0,
@brentvatne
brentvatne / GrowingTextInput.js
Last active May 16, 2018 14:44
React Europe Workshop Files
import React from 'react';
import { TextInput, View } from 'react-native';
// Try it: https://snack.expo.io/ByW4CFPx-
export default class GrowingTextInput extends React.Component {
static defaultProps = {
minHeight: 30,
};
constructor(props, context) {
import _ from 'lodash';
import parseCustomDateString from '../util/parseCustomDateString';
const response = {
data: {
events: [
{
schedule: [
{
description: "With the advent of libraries like React, Redux and Immutable.js, it's clear that there's a shift away from imperative and object-oriented in the front-end towards a more declarative and functional approach. Meanwhile, libraries like RxJS and Mobx are spreading the use of Reactive Programming to model UIs via discrete, asynchronous event streams. How can we combine the best of both functional and reactive paradigms to model and build predictable UIs that control themselves?\n\nIn this talk, Preethi will explain what “Functional Reactive Programming” is, how close React / Redux / Mobx / RxJs and others come in realizing Functional Reactive Programming, and what's still fundamentally missing from these tools to achieve a true implementation of FRP. Lastly, she'll describe when and why FRP is suitable (or not suita
import { LayoutAnimation, Keyboard, Platform } from 'react-native';
export default class KeyboardEventListener {
static subscribe(callback) {
const listener = new KeyboardEventListener(callback);
return () => {
listener.unsubscribe();
};
}
@brentvatne
brentvatne / app.json
Created May 29, 2017 18:15
app.json vs exp.json
{
"expo": {
"icon": "./assets/icon.png",
"sdkVersion": "17.0.0"
}
}
// https://snack.expo.io/SkoufmcW-
// console.log(BarCodeScanner.Constants.BarCodeType);
iPhone Simulator: {"code39":"org.iso.Code39","code39mod43":"org.iso.Code39Mod43","code93":"com.intermec.Code93","code138":"org.iso.Code128","pdf417":"org.iso.PDF417","qr":"org.iso.QRCode","upce":"org.gs1.UPC-E","ean13":"org.gs1.EAN-13","ean8":"org.gs1.EAN-8","aztec":"org.iso.Aztec"}
Nexus 5X: {"maxicode":"maxicode","rssexpanded":"rssexpanded","codabar":"codabar","aztec":"aztec","qr":"qr","interleaved2of5":"interleaved2of5","code39":"code39","code128":"code128","ean8":"ean8","upce":"upce","upceanextension":"upceanextension","code93":"code93","pdf417":"pdf417","upca":"upca","datamatrix":"datamatrix","rss14":"rss14","ean13":"ean13"}
╭─ ~/coding/hello-there ag expo --ignore yarn.lock --ignore node_modules
App.js
4:export default class App extends React.Component {
app.json
2: "expo": {
package.json
7: "jest-expo": "~1.0.1",
19: "preset": "jest-expo"
{
"expo": {
"hooks": {
"postPublish": [
{
"file": "./notify",
"config": {
"webhookUrl": "https://hooks.slack.com/put-your-stuff-here"
}
}