| 1 |
import { readable } from 'svelte/store'; let loaded = false; export default readable({key: null, items: []}, set => { if (!loaded) { (async () => { const transitions = await fetch(`/api/transitions`).then(r => r.json()); set(withTotals(transitions.data)); loaded = true; })(); } }); |
| 2 |
import { getJson, buildUrl } from '../utils/http'; import { processCarouselContentResponse } from '../content/fetchers/carousels'; export const fetchSearchCarousel = async (query, options) => { const params = { ...defaultParams, text: query }; const url = buildUrl({ url: searchUrl, params }); const searchCarousel = await getJson(url, options); return { content: processCarouselContentResponse( convertSearchCarouselToUsualCarousel(searchCarousel), ), }; }; |
| 3 |
import {createStore, createEvent} from 'effector' import {useStore} from 'effector-react' const increment = createEvent() const decrement = createEvent() const resetCounter = createEvent() const counter = createStore(0) .on(increment, state => state + 1) .on(decrement, state => state - 1) .reset(resetCounter) counter.watch(console.log) const Counter = () => { const value = useStore(counter) return <div>{value}</div> } const App = () => { const value = useStore(counter) return ( <> <Counter /> <button onClick={increment}>+</button> <button onClick={decrement}>-</button> <button onClick={resetCounter}>reset</button> </> ) } |
| 4 |
import { Dictionary } from 'common/ott/store/types'; export interface RequestParams { type: CustomizableContentType; isCollectionsUpdateNecessary?: boolean; } export interface Response { dictionary: Pick<Dictionary, 'customizableContent'>; } export type RequestDetails = { requestPrefix: string } & Pick< RequestParams, 'type' >; export enum CustomizableContentType { KP_BASIC_OFFER = 'KP_BASIC_OFFER', PREMIUM_OFFER = 'PREMIUM_OFFER', } export type GetRequestId = (params: Params) => string; |
| 5 |
const micro = require('micro'); const { promisify } = require('util'); exports.init = async ({ port, handler }) => { const server = micro(handler) server.listen = promisify(server.listen); server.close = promisify(server.close); await server.listen(port); console.log(new Date(), `HTTP Server started on http://localhost:${port}`); |
| 6 |
const permute = function(nums) { const res = []; const used = new Map(); const backtrack = permutation => { if (permutation.length === nums.length) { res.push(permutation.slice()); } else { for (let i = 0; i < nums.length; i++) { if (!used.get(i)) { used.set(i, true); permutation.push(nums[i]); backtrack(permutation); permutation.pop(); used.set(i, false); } } } }; backtrack(0, []); return res; }; |
Комментарии