Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
асинхорнный

Аневризма aneurysmjs

💭
асинхорнный
View GitHub Profile
@aneurysmjs
aneurysmjs / noUncheckedIndexAccess.ts
Created Aug 7, 2022
'noUncheckedIndexAccess' Typescript compiler option
View noUncheckedIndexAccess.ts
function upper(arr: string[]) {
for (let i = 0; i < arr.length; i += 1) {
let str = arr[i];
console.log(str.upperCase())
}
}
upper(['foo', 'bar', 'baz']);
// In Typescript when index into an array you get the element type of the array.
@aneurysmjs
aneurysmjs / remove_brew-mongo_osx.sh
Created Jan 11, 2020 — forked from katychuang/remove_brew-mongo_osx.sh
remove mongodb that was installed via brew
View remove_brew-mongo_osx.sh
#!/usr/bin/env sh
# checks to see if running
launchctl list | grep mongo
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
launchctl remove homebrew.mxcl.mongodb
pkill -f mongod
View replaceAtRange.ts
function replaceRange(str: string, start: number, end: number, substitute: string): string {
const chunk = substitute.repeat(end - start);
return `${str.substring(0, start)${chunk}${str.substring(end)}`;
}
@aneurysmjs
aneurysmjs / regexes.ts
Last active Nov 8, 2019
regexes tricks
View regexes.ts
/**
* match first character after white space
*/
const firstAtWhiteSpace = /(^|\s)[a-z]/g;
View store.js
// in this case the state is each individual product
const product = (state, action) => {
switch (action.type) {
case 'CREATE_PRODUCT':
return {
id: action.id,
name: action.name,
price: action.price,
};
case 'EDIT_PRODUCT':
View index.html
<!--
even though the "blue" comes later in the list of classes,
but CSS rules of precedence actually depends of the order of
classes in the stylesheet
-->
<span class="red blue">
so I'm red
</span>
View git-tricks.txt
/**
* ignore files temporarily
*/
start ignoring changes to a file:
git update-index --assume-unchanged path/to/file
keep tracking again:
git update-index --no-assume-unchanged path/to/file
// @see https://stackoverflow.com/questions/2363197/can-i-get-a-list-of-files-marked-assume-unchanged
@aneurysmjs
aneurysmjs / useErrorHook.tsx
Last active Oct 21, 2019
handle promise exceptions inside a hook
View useErrorHook.tsx
/**
* @link this is taken from here for reference
* https://github.com/testing-library/react-hooks-testing-library/issues/20#issuecomment-476628600
*/
import { useState, useEffect } from 'react';
import { renderHook } from '@testing-library/react-hooks';
describe('error hook tests', () => {
function useError(obj: Error | string): boolean {
if (obj.constructor.name === 'Error') {
@aneurysmjs
aneurysmjs / bundle.js
Last active Oct 17, 2019
bundle-tricks
View bundle.js
// .babelrc
{
"presets": [
[
"@babel/preset-env",
{
// this tells @babel "hey, don'y change any of the modules, let Webpack handle it
"modules": false
// you only get the individual pollyfill that you need
"useBuiltIns": "usage"
View types-vs-interface.ts
interface Base {
id: string;
timestamp: string;
}
interface Product extends Base {
price: number;
stock: number;
}