Skip to content

Instantly share code, notes, and snippets.

View krivaten's full-sized avatar

Kris Van Houten krivaten

View GitHub Profile
@krivaten
krivaten / try-catch.ts
Created July 19, 2025 18:11 — forked from t3dotgg/try-catch.ts
Theo's preferred way of handling try/catch in TypeScript
// Types for the result object with discriminated union
type Success<T> = {
data: T;
error: null;
};
type Failure<E> = {
data: null;
error: E;
};
@krivaten
krivaten / _state-enum.ts
Last active July 19, 2025 18:10
Better State Example
/**
* An enum representing the possible states of UI features
*
* These states help design consistent user experiences across different
* scenarios like loading, empty states, errors, and varying data quantities.
*/
export enum State {
/**
* The starting state before any user interaction or data loading.
* Example: A search page before the user has entered a query.
@krivaten
krivaten / input.scss
Last active September 1, 2022 16:48
Generated by SassMeister.com.
// Goes into theme file
$tecton-variable-shims: (
--t-primary: 400,
--t-secondary: 500,
--t-tertiary: 700
);
// Goes into Tecton files
$tecton-variable-shims: () !default;
[data-tecton-module] {
@krivaten
krivaten / input.scss
Last active October 18, 2021 23:05
Generated by SassMeister.com.
@use "sass:list";
@function is-variable-ref($string) {
@return str-slice(#{$string}, 0, 2) == '--';
}
@function is-variable($string) {
@return str-slice(#{$string}, 0, 3) == 'var';
}
@krivaten
krivaten / input.scss
Created October 18, 2021 23:04
Generated by SassMeister.com.
@use "sass:list";
@function is-variable-ref($string) {
@return str-slice(#{$string}, 0, 2) == '--';
}
@function is-variable($string) {
@return str-slice(#{$string}, 0, 3) == 'var';
}
@krivaten
krivaten / settings.json
Last active March 15, 2021 18:20
Generated by SassMeister.com.
{
"sass": {
"compiler": "dart-sass/1.26.11",
"extensions": {},
"syntax": "SCSS",
"outputStyle": "expanded"
},
"autoprefixer": false
}
@krivaten
krivaten / createFragment.js
Last active August 6, 2019 00:51
createFragment
function createFragment(markup) {
const fragment = document.createRange().createContextualFragment(markup);
return fragment.firstChild;
}
const btnContainer = createFragment(`
<div class="container">
<button>Click Me</button>
</div>
`)
@krivaten
krivaten / components.ui-test.js
Created October 18, 2018 16:12
Array Property Gotcha
import Ember from 'ember';
export default Ember.Component.extend({
testArray: [],
didReceiveAttrs() {
this._super(...arguments);
const elementId = this.get('elementId')
this.get('testArray').push(elementId)
}
@krivaten
krivaten / components.ui-test.js
Created October 18, 2018 16:07
Array Property
import Ember from 'ember';
export default Ember.Component.extend({
testArray: [],
didInsertElement() {
this._super(...arguments);
const elementId = this.get('elementId')
this.get('testArray').push(elementId)
@krivaten
krivaten / graphql.js
Created July 30, 2018 13:34
A Netlify Lambda Function for that uses Apollo GraphQL
const { ApolloServer, gql } = require('apollo-server-lambda');
const MongoClient= require('mongodb/lib/mongo_client');
if (process.env.NODE_ENV !== 'production') {
require('dotenv').load()
}
const DB_URI = process.env.DB_URI
const DB_NAME = process.env.DB_NAME