Skip to content

Instantly share code, notes, and snippets.

View 1natsu172's full-sized avatar
🤷‍♂️
わかったためしがない

1natsu 1natsu172

🤷‍♂️
わかったためしがない
View GitHub Profile
@1natsu172
1natsu172 / heirroomGetTrial.js
Last active February 6, 2024 19:05
Heirroom謎スクリプト
// --- fetch
const count = await fetch("https://heirroom.coffee/api/coffee/count", {
headers: {
accept: "*/*",
"accept-language": "ja,en;q=0.9,en-US;q=0.8,pt;q=0.7,el;q=0.6",
"content-type": "text/plain;charset=UTF-8",
"sec-ch-ua":
'"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"macOS"',
@1natsu172
1natsu172 / AppState.mock.example.ts
Created September 13, 2022 12:51
React NativeのAppStateのモックのスニペット
import { renderHook, act } from '@testing-library/react-hooks'
import { AppState, AppStateStatus } from 'react-native'
let appStateAddEventListenerHandlerMock: (
nextAppStateStatus: AppStateStatus,
) => void
// NOTE: fetchをモックしておくためにglobalに型を生やす
type FetchMock = NodeJS.Global & {
fetch: unknown
@1natsu172
1natsu172 / windows-macos-keybindings.ahk
Created December 27, 2021 16:16
Windows keybind hotkeys
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Ctrl::!` ; controlキーで日本語/英語切り替え(Alt+`)
LCtrl & Tab:: AltTab
!Tab:: Send ^{Tab}
!+Tab:: Send ^+{Tab}
@1natsu172
1natsu172 / NonNullablePromise.ts
Last active June 18, 2020 15:52
TypeScriptでNonNullableなPromise型をやる
/*
* PlayGroundはこれ
* https://www.typescriptlang.org/play/index.html#code/PTAEAUCcHsFsEsDOBTAPAOwK6wEbMqAD6iboAmyAZvOsmQHygC8jUcSaWu+jg1gyDqDIH0GQCIMAWABQEkKEBSDIFUGQJEMY8QBcAngAdkoAHKZSzUFzwFipCtVpkJ6rbujo9AGyc6AjIZ0PnTgIY4nND1SegkpMDYEFEBo9UA7BkAi1MAHU0AkhkATBkB5BkBohgkAYwdEFVBKaGhDX0Q1dBzQAAp0AC4jbBMASmZGdFBGNwAGUAB+I1BG8yoaOjDxaQAlZBVMSHQAFU1kQHMGQBX4wCiGQBIFWOjkwCaGQGGGQAmGG1XQWZUAMRLDa4Xl1dRbZGhKIpLQySmwL0cmBcgA0GQDBDIArBmEgDICC52AE+a53UpMeyAlz+QKoRHfSYzOZPFZafiAMwZhJlANIMCkA+P9vD4ksmUqntUCAAl9ACzmvEAIQyAYwZiYB-Bmyqku4GCnRRkQ4GGa+CIJHIYysP2kgEhNQDxDLzITChXZwJ5vEC-AE0CL9OgfuFQAALFQqDSIeogADm8BUlswOAAdHlYMBEDQyJBkIhoJA3YhgG8ALSUIMqWHaCUoABqvicmGNMCiyEJyAANKAAPKu-AAdw4hkT2dWjHFmY4OdAyAAHipkOREBA6yhUDQYwQU2nkIxBgP08NC8XIGWUABueOgACCFSqN1IORU8AchhqHt3vkgjvtoF86DUAG0ALptFid9jd0gAa3Q0BLZrn2u0S8qOUeixzqCWfdHTmRsWzbMgOy-Fc1w3Bwa1vLNRzQX9ni0ACgLmeh6HfC1K1ibZohOU41kAWQZiUAAHNAA2s+cAGVfHgB9oEwCsu2QJDUBNEILRQnNYkrQAJJ2ZPCCKI0iKOoj9QDohimIAJkMKCf3xP8XlpT5imgJUIlY-CtgOeEDV4MSqNo+jGMwABmPU0UNTFpPM2TzT+UBhEACQZAB+GZQ3g
@1natsu172
1natsu172 / package.json
Created April 10, 2019 07:34
A strategy to automatically install @types definitely-typed at postinstall script using "npx typesync"
{
"name": "npm-scripts-fun",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"postinstall": "npx typesync && git diff --exit-code --quiet HEAD package.json || yarn --ignore-scripts"
},
"dependencies": {
"react": "^16.8.6"
@1natsu172
1natsu172 / HTMLElementEventHandlers.ts
Created March 16, 2019 11:23
The interface of HTMLElement's event type and event handler
/* eslint-disable @typescript-eslint/no-explicit-any */
export type HTMLElementEventHandlers<U extends keyof HTMLElementEventMap> = {
[K in U]: (event: HTMLElementEventMap[K]) => any
}
@1natsu172
1natsu172 / useEventCallback.ts
Created March 14, 2019 08:33
custom hooks for event handler.
import { useRef, useCallback, useEffect, useLayoutEffect } from 'react'
/* eslint-disable @typescript-eslint/no-explicit-any */
/**
*
* @description For reference state value on event handler.
* @see https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback
* @see https://github.com/facebook/react/issues/14099
* @todo `unknown` type loos better than `any`. But can't use unknown……Error message "Type 'unknown' is not assignable to type ~" why??
@1natsu172
1natsu172 / .eslintrc
Last active July 5, 2023 10:23
My airbnb based ESLint config for "typescript-eslint" with React & prettier
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.json",
"tsconfigRootDir": "."
},
"env": {
"browser": true,
"jest/globals": true
},
@1natsu172
1natsu172 / getElementRects.ts
Created February 1, 2019 10:08
dom elementのRectを取って計算して返すくん。paddingを含まない値も欲しくてとりあえず書いたけど、ボツになったので供養
export const getElementRects = (element: HTMLElement) => {
const heightWithPadding = element.getBoundingClientRect().height
const heightWithoutPadding = () => {
if (!getComputedStyle) return 0
const { paddingTop, paddingBottom } = getComputedStyle(element)
const padding =
parseFloat(paddingTop ? paddingTop : '0') +
@1natsu172
1natsu172 / file0.txt
Last active April 10, 2019 03:34
@foo/barみたいな形式の大量のnpmパッケージをちょっとラクしてインストールする方法 ref: https://qiita.com/1natsu172/items/b9a0e2befcf3122cccc7
$ yarn add -D @types/react-collapsible @types/react-dom @types/react-image-gallery @types/react-modal @types/react-router-dom @types/react-swipeable-views @types/react-virtualized