Skip to content

Instantly share code, notes, and snippets.

🤖
👨‍💻

Radoslav Stankov RStankov

🤖
👨‍💻
Block or report user

Report or block RStankov

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View toast.tsx
import Flex from '~/components/Flex';
import Font from '~/components/Font';
import IconClose from './IconClose.svg';
import React from 'react';
import classNames from 'classnames';
import styles from './styles.module.css';
type IToastType = 'notice' | 'success' | 'alert';
type ICloseFn = () => void;
View initApollo.ts
import {
ApolloClient,
InMemoryCache,
HttpLink,
IntrospectionFragmentMatcher,
} from 'apollo-boost';
import { GRAPHQL_URI } from '~/config';
function createClient(initialState: any, { fetch }: { fetch: any }) {
const headers: any = {
View ibooks_clear_clipboards.rb
# frozen_string_literal: true
require 'open3'
module Clipboard
extend self
def paste
`pbpaste`
end
View next_9_2_css_modules.rb
# frozen_string_literal: true
# NOTE(rstankov): styles ignored intentionally
files = %w(components routes utils layouts hooks).map { |dir| Dir["frontend/#{dir}/**/*.css"] }.flatten
files.each do |file|
next if file.end_with?('.module.css')
`git mv #{file} #{file.gsub('.css', '.module.css')}`
`git mv #{file + '.d.ts'} #{file.gsub('.css', '.module.css.d.ts')}`
View support_graphql.rb
module SpecSupport
module GraphHelper
def execute_mutation(current_user: nil, context: {}, **inputs)
context = Graph::Context.new(
query: OpenStruct.new(schema: YourSchema),
values: context.merge(current_user: current_user),
object: nil,
)
described_class.new(object: nil, context: context, field: nil).resolve(inputs)
end
View friend_clusters.rb
# frozen_string_literal: true
require 'csv'
require 'ostruct'
require 'prettyprint'
users = {}
CSV.foreach('data.csv', headers: true) do |row|
users[row['id'].to_i] = row['friend_ids'].gsub('{', '').gsub('}', '').split(',').map(&:to_i)
end
View featureSwitch.ts
// profiles/[slug]/index.tsx
import dynamic from 'next/dynamic';
import featureSwitch from '~/utls/featureSwitch';
const page = dynamic(() => import('~/routes/profiles/show'), {
loading: () => null,
}) as any;
const legacy = dynamic(() => import('~/routes/profiles/legacy-show'), {
loading: () => null,
@RStankov
RStankov / README.md
Last active Nov 3, 2019
GraphQL Tracer
View README.md

Scope

Tracking performance for GraphQL in development is quite hard.

I'm using the Apollo Tracing format here. Unfortunately there isn't a good viewer for the information from there. It also doesn't include SQL/Cache information.

Features:

  • Viewer for tracing information
  • Store tracing information on disk, for future reference
View newsletter.html.erb
<%= newsletter_section @digest.trending do |data, section| %>
<% section.title 'Trending products this week' %>
<% section.thumbnail do %>
<%= newsletter_mosaic data.profiles %>
<% end %>
<% section.content do %>
<%= newsletter_links data.profiles %> were the most popular products last week.
<% end %>
<% end %>
View handle_network_errors.rb
# frozen_string_literal: true
module Handle::NetworkErrors
extend self
ERRORS = [
EOFError,
Errno::ECONNREFUSED,
Errno::ECONNRESET,
Errno::EFAULT,
You can’t perform that action at this time.