Skip to content

Instantly share code, notes, and snippets.

View Kelin2025's full-sized avatar
🤚
Came back with more Open-Source stuff

Anton Kosykh Kelin2025

🤚
Came back with more Open-Source stuff
View GitHub Profile
@Kelin2025
Kelin2025 / ci.yml
Last active October 26, 2022 00:02 — forked from epicfaace/ci.yml
encrypting an entire github pages (mkdocs) website with staticrypt - replace MY_PASSWORD and "YOUR SITE NAME HERE"
name: Docs
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
name: Build docs
import { combine } from 'effector'
const $name = createStore('Anton')
const $surname = createStore('Kosykh')
// Creates a store with an object of stores states
const $profile = combine({
name: $name,
surname: $surname
})
export const NameField = createField({
view: ({ value, onChange }) => <Input value={value} onChange={onChange} />
})
const $names = createStore([])
const $completed = createStore([])
const $todos = combine(
$names,
$completed,
(names, completed) => names.map((name, i) => ({ name, completed: completed[i] })
)
$names
import { interval } from 'rxjs'
import { fromObservable } from 'effector'
//emit value in sequence every 1 second
const tick = interval(1000)
const tickEvent = fromObservable(tick)
//output: 0,1,2,3,4,5....
tickEvent.watch(console.log)
import { combine, createStoreObject } from 'effector'
const $name = createStore('Anton')
const $surname = createStore('Kosykh')
// createStoreObject creates store with object of stores states
const $profile = createStoreObject({
name: $name,
surname: $surname
})
import { createStore, createEffect } from 'effector'
const getPost = createEffect('Fetch posts')
const $isLoading = createStore(false)
const $post = createStore(null)
const $error = createStore(null)
$isLoading
.on(getPost, () => true)
import React from 'react'
import { useStore } from 'effector-react'
import { $todo, $todos, submitPressed, inputChanged, todoToggled, todoRemoved } from './stores'
export const TodoInput = () => {
// Use useStore(store) hook to get the state
// And update the component on state changes
const todo = useStore($todo)
@Kelin2025
Kelin2025 / watch.js
Last active September 14, 2022 05:45
import { createStore, createEvent } from 'effector'
const inputChanged = createEvent('Input changed')
const todoAdded = createEvent('Todo added')
const todoRemoved = createEvent('Todo removed')
const todoToggled = createEvent('Todo toggled')
// We added one more event here
const submitPressed = createEvent('Submit pressed')
const $todo = createStore('')
import { createStore, createEvent } from 'effector'
// Create events
const inputChanged = createEvent('Input changed')
const todoAdded = createEvent('Todo added')
const todoRemoved = createEvent('Todo removed')
const todoToggled = createEvent('Todo toggled')
const $todo = createStore('')
const $todos = createStore([])