Skip to content

Instantly share code, notes, and snippets.

View yornaath's full-sized avatar
🔥
buidling

Yornaath yornaath

🔥
buidling
View GitHub Profile
@yornaath
yornaath / extrinsics-at-event.ts
Created May 30, 2022 14:36
Substrate/Polkadot.js - get extrinsics at event
export const extrinsicsAtEvent = (
events: Vec<EventRecord>,
block: SignedBlock,
filter?: {
method?: string;
}
) => {
return block.block.extrinsics.filter((ex, index) =>
Boolean(
events.find(
export type Normalized<T extends Record<string | number | symbol, any>, K extends keyof T> = {
ids: T[K][],
byId: Partial<Record<T[K], T>>
}
export const fromArray = <T extends Record<string, any>, K extends keyof T> (array: T[], key: K): Normalized<T, K> => {
const keys = array.map(item => item[key])
const index = array.reduce<Normalized<T, K>['byId']>((index, item) => {
return {
export interface Resolve<T> {
(value: T | PromiseLike<T>): Resolvable<T>;
}
export interface Reject<T> {
(reason: T | PromiseLike<T>): Resolvable<T>;
}
export interface Resolvable<T> extends Promise<T> {
@yornaath
yornaath / DraftLineNumbers.js
Created March 12, 2020 12:08 — forked from schabluk/DraftLineNumbers.js
Display line numbers is Draft-JS Editor
// Required Draf-js version: 0.10.
// Live example: https://jsfiddle.net/schabluk/gh2gt22n/
import React from 'react'
import ReactDOM from 'react-dom'
import {Editor, EditorState, EditorBlock} from 'draft-js'
class Line extends React.Component {
render () {
const blockMap = this.props.contentState.getBlockMap().toArray()
@yornaath
yornaath / plink-plonk.js
Created February 26, 2020 11:29 — forked from tomhicks/plink-plonk.js
Listen to your web pages
export const enum Job {
FOO = "FOO",
BAR = "BAR"
}
export const doJob = (job: Job) => {
if(job == Job.FOO) {
foo()
}
if(job == Job.BAR) {
import {periodic, map, filter, tap, combine, runEffects, multicast, merge} from "@most/core";
import { newDefaultScheduler, asap } from "@most/scheduler";
const scheduler = newDefaultScheduler();
const everySecond$ = periodic(333);
let i = 0;
const increments$ = multicast(map(_ => i++, everySecond$));
class WrittenText extends React.PureComponent {
constructor(props) {
super(props)
this.state = {
i: 0,
output: ""
}
}
<?php
/**
* Only accept cross origin from certain domains.
* Netlify browser app and localhost for development.
*/
add_action( 'rest_api_init', function() {
remove_filter( 'rest_pre_serve_request', 'rest_send_cors_headers' );
// Defines selectors using 'reselect'
import * as breedsSelectors from '../../core/domain/breeds/selectors'
function createSelectorMap(selectors, state) {
return Object.keys(selectors).reduce((selectorMap, selectorName) => {
selectorMap[selectorName] = (...args) => selectors[selectorName](state, ...args)
return selectorMap
}, {})
}