Skip to content

Instantly share code, notes, and snippets.

// Copy & paste this into browser console to play
(function () {
const winConditions = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
@gg-1414
gg-1414 / async-await.js
Last active February 14, 2021 04:06
Interview Coding Challenge: Requesting from an API - Async/Await
const catEndpoint = 'https://api.thecatapi.com/v1/images/search';
const wordsEndpoint = 'https://random-word-api.herokuapp.com/word?number=5'
function checkStatus(res) {
if (!res.ok) Promise.reject(new Error(res.statusText));
return Promise.resolve(res.json());
}
const renderImage = (imgUrl) => {
const wrapper = document.getElementById('image-wrapper');
@gg-1414
gg-1414 / fetch.js
Last active February 13, 2021 21:32
Interview Coding Challenge: Requesting from an API - Fetch
const catEndpoint = 'https://api.thecatapi.com/v1/images/search';
const wordsEndpoint = 'https://random-word-api.herokuapp.com/word?number=5'
function checkStatus(res) {
if (!res.ok) Promise.reject(new Error(res.statusText));
return Promise.resolve(res.json());
}
const renderImage = (imgUrl) => {
const wrapper = document.getElementById('image-wrapper');
class CloseBtn extends HTMLElement {
constructor() {
super();
// Event listener
const clickHandler = function(event) {
console.log('event target', event.target)
}
// Create a shadow root
<div>
<!-- begin close button -->
<close-btn></close-btn>
<!-- end close button -->
<p>Blah blah I say some stuff</p>
</div>
<div>
<!-- begin close button -->
<close-btn></close-btn>
<div>
<!-- begin close button -->
<div class="btn-wrapper>
<button>
<svg width="34" height="34" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 1L7 7M13 13L7 7M7 7L13 1L1 13" stroke="red" stroke-width="2"/>
</svg>
</button>
</div>
<!-- end close button -->
@gg-1414
gg-1414 / GroceryList.vue
Last active July 22, 2020 00:59
vue component with typescript (class-style)
<template></template>
<script lang="ts">
import Vue from 'vue';
import Component from 'vue-class-component';
import ListItem from '@/components/ListItem.vue';
import { ListItemModel, listData } from '../data/groceryListData';
@Component({
components: { ListItem },
@gg-1414
gg-1414 / GroceryList.vue
Last active July 22, 2020 00:59
vue component with typescript (basic usage)
<template></template>
<script lang="ts">
import Vue from 'vue';
import ListItem from '@/components/ListItem.vue';
import { ListItemModel, listData } from '../data/groceryListData';
export default Vue.extend({
name: 'GroceryList',
components: { ListItem },
@gg-1414
gg-1414 / GroceryList.vue
Last active July 22, 2020 01:00
normal vue component
<template></template>
<script>
import ListItem from '@/components/ListItem.vue';
import listData from '../data/groceryListData';
export default {
name: 'GroceryList',
components: { ListItem },
data() {