Skip to content

Instantly share code, notes, and snippets.

View mkozhukharenko's full-sized avatar

Nikolay mkozhukharenko

View GitHub Profile
@mkozhukharenko
mkozhukharenko / bing-api.js
Created July 26, 2017 18:50
Bing API search javascript
let request = async (query: string): Promise<any[]> => {
const myHeaders = new Headers()
myHeaders.append('Ocp-Apim-Subscription-Key', 'b5deb0d4be5a4dcaaa478f7b343baa3d')
const params = {
q: query,
safeSearch: 'Strict',
license: 'Public'
}
const urlParams = new URLSearchParams((Object as any).entries(params)) // entries works in Chrome
const url = 'https://api.cognitive.microsoft.com/bing/v5.0/images/search?' + urlParams.toString()
@mkozhukharenko
mkozhukharenko / wait-for.ts
Created September 11, 2017 14:48
Run function only when the condition is met
interface IWaitForArgs {
test: () => boolean // run function only if test() returns true
interval: number
count: number // should be 0, required
maxAttempts: number // max number of attempts
run: () => any // function to run
}
function waitFor({test, interval, count, maxAttempts, run}: IWaitForArgs) {
// try to run function only maxAttempts times
@mkozhukharenko
mkozhukharenko / progress.story.tsx
Created January 2, 2018 10:01
Progress rc wrapper
import * as React from 'react'
import { storiesOf } from '@storybook/react'
import Progress from './progress'
storiesOf('Progress', module)
.add('Simple', () => (
<div>
<div style={{width: 250}}>
<Progress percent={20} type="line"/>
</div>
@mkozhukharenko
mkozhukharenko / api.js
Created January 14, 2018 14:20
Axios with refresh handlig
import axios from 'axios';
import { IUser } from '../types/index';
let isRefreshing = false;
let refreshSubscribers: any = [];
export const API_VERSION = 'v1';
export const BACKEND_API_URL = process.env.NODE_ENV === 'development'
? '//127.0.0.1:3000'
: process.env.REACT_APP_BACKEND_API_URL || `${window.location.protocol}//${window.location.hostname}`;