Skip to content

Instantly share code, notes, and snippets.

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

Аневризма aneurysmjs

💭
асинхорнный
View GitHub Profile
@aneurysmjs
aneurysmjs / jscodeshift-scope-methods.js
Last active Dec 18, 2022
Jscodeshift's scope methods
View jscodeshift-scope-methods.js
// getScope() is a method provided by jscodeshift that can be used to get the Scope object for a given Node.
// A Scope object represents the lexical scope of a node in the abstract syntax tree (AST).
// It contains information about the variables, functions, and other declarations that are in scope at a given point in the code.
// Here's an example of how getScope() can be used:
import { getScope } from 'jscodeshift';
const source = `
function foo() {
@aneurysmjs
aneurysmjs / generics.rs
Last active Nov 10, 2022
Generics in Rust
View generics.rs
struct Point<T, U> {
x: T,
y: U,
}
impl<T, U> Point<T, U> {
// Methods that use different generic types than their struct’s definition
fn mixup<V, W>(self, other: Point<V, W>) -> Point<T, W> {
Point {
x: self.x,
View rust_cheat_sheet.rs
// represents the `possible` absence of a value
enum Option<T> {
Some(T),
None,
}
let email: Option<String> = Some(email_str);
let email: Option<String> = None;
// representsan operation that could have failed
@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