Skip to content

Instantly share code, notes, and snippets.

View MRezaSafari's full-sized avatar
🎯
Focusing

Reza Safari MRezaSafari

🎯
Focusing
View GitHub Profile
@MRezaSafari
MRezaSafari / avatar.tsx
Created February 9, 2023 09:45
Nextjs 13 Gravatar Like Generator
import { ImageResponse } from '@vercel/og';
import { NextRequest } from 'next/server';
export const config = {
runtime: 'edge',
};
const padZero = (str: string, len = 2) => {
const zeros = new Array(len).join('0');
return (zeros + str).slice(-len);
@MRezaSafari
MRezaSafari / fetch-interceptor.js
Created August 11, 2023 22:56
fetch interceptor
export const interceptor = async () => {
const { fetch: originalFetch } = window;
window.fetch = async (...args) => {
let [resource, config] = args;
const URLcutOff = "https://myapi.com";
const trailing = resource.slice(URLcutOff.length);
console.log(trailing);
if (trailing.startsWith("/posts")) {
resource = `https://myapi.com`;
}
@MRezaSafari
MRezaSafari / enforce-element-jsx-rule.js
Created August 29, 2023 11:04
Enforce allowed child types for custom components
module.exports = {
meta: {
type: "suggestion",
docs: {
description: "Enforce allowed child types for custom components",
category: "Best Practices",
recommended: true,
},
},
create(context) {
@MRezaSafari
MRezaSafari / server.js
Created June 8, 2024 13:44
simple http server
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
const port = 3000;
app.use(bodyParser());
const USER_EMAIL = "[email protected]";
const USER_PASSWORD = "123";

🔗

Table of contents

Types and Interfaces

  • Types should start with T: