Skip to content

Instantly share code, notes, and snippets.

@alex-taxiera
alex-taxiera / file-loader.ts
Created June 23, 2020 00:52
a utility for dynamically loading, unloading, and reloading JS and TS source files.
/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return */
import {
promises as fs,
} from 'fs'
import { join } from 'path'
export async function load (path: string): Promise<any>
export async function load (path: Array<string>): Promise<Array<any>>
export async function load (
path: string | Array<string>,
@alex-taxiera
alex-taxiera / package.json
Last active February 23, 2021 04:29
node http request wrapper (JS and TS)
{
"name": "request",
"version": "1.0.0",
"main": "request.js"
}
@alex-taxiera
alex-taxiera / typeguards.ts
Created October 12, 2020 15:12
Eris TS Channel/Message Typeguards
export function isInDM (
subject: TextableChannel,
): subject is PrivateChannel
export function isInDM (
subject: Message,
): subject is Message<PrivateChannel>
export function isInDM (
subject: Message | TextableChannel,
): subject is Message<PrivateChannel> | PrivateChannel {
if (subject.constructor === Message) {
@alex-taxiera
alex-taxiera / index.js
Last active February 24, 2021 21:56
Create image posts with Tumblr API v2 (NPF)
import { readFile } from 'fs/promises'
import crypto from 'crypto'
import OAuth from 'oauth-1.0a'
import fetch from 'node-fetch'
import { config } from 'dotenv'
config()
const CAPTION_SEPARATOR = ' - '
const POST_STATE = 'draft' // creating post as a draft