Skip to content

Instantly share code, notes, and snippets.

Avatar
🍜

Kyle Truong KTruong008

🍜
View GitHub Profile
@KTruong008
KTruong008 / date-utc.js
Created May 23, 2020
JS Date UTC methods
View date-utc.js
Date.getUTCDate()
Date.getUTCDay()
Date.getUTCHours()
Date.toUTCString()
@KTruong008
KTruong008 / date.js
Created May 23, 2020
default JS date methods
View date.js
Date.getDate()
Date.getDay()
Date.getHours()
Date.toString()
@KTruong008
KTruong008 / hasura-first-look-example.ts
Created May 23, 2020
A first look at hasura example
View hasura-first-look-example.ts
export const promotionsFetchEpic = (
action$: ActionsObservable<PayloadAction>,
state$: StateObservable<StoreState>,
): Observable<PayloadAction> =>
action$.pipe(
filter((action) => action.type === appDataFetchSuccess.toString()),
asyncRequest(
promotionsFetchStart.toString(),
promotionsFetchSuccess.toString(),
promotionsFetchError.toString(),
View script-tag-ex
// app.middleware.js
const buildScriptTagSrcUrl = (): string => {
return process.env.SCRIPT_TAG_URL || '';
};
export const initializeApp = async (ctx) => {
...
await createScriptTag(
buildScriptTagSrcUrl(),
View graphql-setup
// cross-sell.graphql.ts
export const crossSellQueryTypeDefinitions = `
crossSell(crossSellId: Int): CrossSell
productCrossSells(productId: String): [CrossSell!]
`;
export const crossSellTypeDefinitions = `
type CrossSell {
displaysProductPrice: Boolean
View graphql-request.ts
// shared.ts
export const graphqlRequest = async <T>(
query: string,
variables = {},
): Promise<T> => {
const headers = {
...buildContentTypeHeader('application/json'),
};
View gist:17097a1d57c3601744c6979830c401d8
import * as React from 'react';
import { Field, FormSection } from 'redux-form';
import IntlLink from '../../core/intl/intlLink/intlLink.container';
import { LOCATION } from '../../core/location/location.types';
import { IntlText } from '../../core/intl/intlText/intlText.container';
import { Input, Radio, Button, Icon, Text } from '../../components';
import { Address } from '../address/address.fieldset';
import { Name } from '../name/name.fieldset';
import {
View gist:09e7839fb22b2f0833a4512ce6d4549c
import { createSelector, createStructuredSelector } from 'reselect';
import { getFormValues } from 'redux-form';
import { AppStateT, LoginStateT, FORM_NAMES, LOCATION } from '../../core/types';
import { selectPreviousPageType, selectKind } from '../../core/location/location.selectors';
export const selectLogin = (state: AppStateT) => state.login;
export const selectAuthenticated = createSelector(
selectLogin,
(loginState: LoginStateT) => loginState.authenticated
@KTruong008
KTruong008 / .js
Created Nov 14, 2017
reselect example
View .js
import { path, find, propEq } from 'ramda';
import { createSelector } from 'reselect';
import {
AppStateT,
UserProfileT,
BusinessNameSearchesT,
BusinessNameSearchesSearchesT,
UserDetailsT,
PaymentOrderT,
BUSINESS_REGISTRATION_STATUS,
@KTruong008
KTruong008 / .js
Created Nov 14, 2017
form selectors reselect
View .js
import { createStructuredSelector, createSelector } from 'reselect';
import { getFormValues } from 'redux-form';
import { FORM_NAMES } from '../../core/types';
export const selectBusinessNameRegistrationFormValues = createSelector(
getFormValues(FORM_NAMES.BUSINESS_NAME_REGISTRATION),
formValues => formValues
);
export const businessNameRegistrationFormConnector = createStructuredSelector({
You can’t perform that action at this time.