Skip to content

Instantly share code, notes, and snippets.

t2-MacBook-Pro:location_app T2$ npm install
npm WARN deprecated graceful-fs@3.0.8: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
serve-favicon@2.3.0 node_modules/serve-favicon
├── fresh@0.3.0
├── etag@1.7.0
├── parseurl@1.3.1
└── ms@0.7.1
/**
* HomeController
*
* @description :: Server-side logic for managing Homes
* @help :: See http://sailsjs.org/#!/documentation/concepts/Controllers
*/
"use strict";
const co = require('co');
var map = require('../services/GoogleStaticMapAPI');
@studioTeaTwo
studioTeaTwo / build.js
Created November 9, 2016 08:06
build script by pure nodejs
const browserify = require('browserify'),
babelify = require('babelify'),
compressor = require('node-minify'),
fs = require('fs');
process.env.NODE_ENV = 'production';
// for development enviroment
// "watch": "watchify -t babelify ./app/javascripts/components/message/app.js -o ./public/js/build.js -d",
// "build-css": "node-sass --include-path scss ./app/stylesheets/components/message/main.scss ./public/css/style.css",
@studioTeaTwo
studioTeaTwo / json_params.rake
Last active September 16, 2017 12:28
rake task to generate json shema document for swaggard from ActiveRecord Object
# encoding: utf-8
namespace :json_params do
desc "create the definitions of json params"
task :generate => :environment do
# Custom Definitions
create('Session', "#{Rails.root}/app/controllers/params/session.rb",
nil,
{email: 'string', password: 'string'}
@studioTeaTwo
studioTeaTwo / core.js
Created February 9, 2018 03:04
abstract core.js after building and serving from https://github.com/robwormald/ivy-code-size
/**
* @license Angular v6.0.0-beta.3-67cf712
* (c) 2010-2018 Google, Inc. https://angular.io/
* License: MIT
*/
import { __assign, __extends } from 'tslib';
import { Observable } from 'rxjs/Observable';
import { merge } from 'rxjs/observable/merge';
import { share } from 'rxjs/operator/share';
import { Subject } from 'rxjs/Subject';

Tree Shaking Principles

When designing code please keep these principles in mind

Enums for features are not-tree-shakable

Here is an example of code which is not tree shakable.

export function query<T>(
// library
type TransformFunction = (rawResponse: object) => object;
type TransformedEntity<T extends TransformFunction> = ReturnType<T
>;
// indivisual
function transform1(rawResponse: object) {
return {

Keybase proof

I hereby claim:

  • I am studioteatwo on github.
  • I am teatwo (https://keybase.io/teatwo) on keybase.
  • I have a public key ASA5tRsvy3kVk1xAvkxWJbvn7qSxDUCmeMrdunfSl5SPvAo

To claim this, I am signing this object:

@studioTeaTwo
studioTeaTwo / Emptiable.ts
Created September 9, 2019 16:56
return immediately if source response empty array. otherwise adding some rx functions.
// return immediately empty if source response empty array.
// otherwise adding some functions.
const Emptialbe = <T>(source: Observable<T[]>, additional: Observable<T[]>) => {
source.pipe(
switchMap(array => {
if (array.length === 0) {
return of(array)
} else {
return additional(array)
}
const Observable$ = of(1).pipe(
tap(console.log),
delayWhenLoading(isLoading = true)
);
Observable$.subscribe();
const delayWhenLoading = <T>(isLoading: boolean, delayTime: number = defaultDelayTime): OperatorFunction<T, T> => {
return pipe(
delayWhen(() => {