Skip to content

Instantly share code, notes, and snippets.

View munierujp's full-sized avatar
👨‍💻
Contribute to the world

Munieru munierujp

👨‍💻
Contribute to the world
View GitHub Profile
const sleep = async (ms)=> {
return await new Promise(resolve => setTimeout(resolve, ms))
}
import { useMemo } from 'react'
import { useLocation } from 'react-router-dom'
/**
* @see https://v5.reactrouter.com/web/example/query-parameters
*/
export const useQueryParams = (): URLSearchParams => {
const { search } = useLocation()
return useMemo(() => new URLSearchParams(search), [search])
}
((function () {
const backup = localStorage.getItem('backup')
const { data } = JSON.parse(backup)
const searchParams = new URLSearchParams(data)
const params = Object.fromEntries(searchParams)
console.log(params)
})()
@munierujp
munierujp / sleep.ts
Last active September 25, 2022 14:04
const sleep = async (ms: number): Promise<void> => {
return await new Promise(resolve => setTimeout(resolve, ms))
}
function getRandomNumber (
min: number,
max: number
): number {
min = Math.ceil(min)
max = Math.floor(max)
return Math.floor(Math.random() * (max - min)) + min
}
const KATAKANA_PATTERN = /[\u30A1-\u30FA]/g
function convertKatakanaToHiragana (katakana: string): string {
return katakana.replace(KATAKANA_PATTERN, toHiragana)
}
function toHiragana (katakana: string): string {
const code = katakana.charCodeAt(0) - 0x60
return String.fromCharCode(code)
}
export const HttpMethod = {
Get: 'GET',
Head: 'HEAD',
Post: 'POST',
Put: 'PUT',
Delete: 'DELETE',
Connect: 'CONNECT',
Options: 'OPTIONS',
Trace: 'TRACE',
Patch: 'PATCH'
function tryEscape (escape) {
return new Promise((resolve, reject) => {
try {
const result = escape()
resolve(result)
} catch (e) {
reject(e)
}
})
}
(function (copy) {
main()
async function main () {
const rowElements = getRowElements()
console.log(`${rowElements.length}件のアイテムを取得開始します。`)
const items = await Promise.all(rowElements.map(async (rowElement) => {
const item = await toItem(rowElement)
console.log(`Done: ${item.title}`)
return item
@munierujp
munierujp / echo_middleware_firebase_authentication.go
Last active January 24, 2024 14:47
Echo's middleware for Firebase Authentication
package middleware
import (
"context"
"strings"
"github.com/labstack/echo/v4"
firebase "firebase.google.com/go"
"google.golang.org/api/option"