- MySQL v5.7
sequelize@5.22.3
const { Sequelize, DataTypes, literal } = require("sequelize");
const sequelize = new Sequelize({/* ... */});
import { assertEquals } from "jsr:@std/assert"; | |
import { paginate } from "./pagination.ts"; | |
Deno.test(function paginateTest() { | |
assertEquals(paginate(1, 1), [1]); | |
assertEquals(paginate(1, 2), [1, 2]); | |
assertEquals(paginate(2, 2), [1, 2]); |
#!/bin/bash | |
function print_multiline() { | |
local text=$(cat <<'EOF' | |
``` | |
# Markdown Text | |
- one | |
- two | |
``` |
/** | |
* ref: https://www.freecodecamp.org/news/javascript-range-create-an-array-of-numbers-with-the-from-method/ | |
* | |
* # Example | |
* | |
* ```ts | |
* import { range } from "./main.ts"; | |
* | |
* range(1, 5); | |
* // [1, 2, 3, 4, 5] |
/** | |
* LCM ... Least Common Multiple (最小公倍数) | |
* GCD ... Greatest Common Divisor (最大公約数) | |
* | |
* LCM = (A * B) / GCD | |
*/ | |
function _findGCD(a: number, b: number): number { | |
if (a === 0) return b; | |
if (b === 0) return a; |
// https://deno.com/blog/queues | |
function listenQueue<T>(fn: (msg: T) => Promise<void>) { | |
// | |
} | |
// lib/kv/queue/_core.ts | |
const messageTypes = { | |
foo: "foo", |
// see https://deno.land/std/datetime/constants.ts?source | |
const MILLISECOND = 1; | |
const SECOND = MILLISECOND * 1e3; | |
const MINUTE = SECOND * 60; | |
const HOUR = MINUTE * 60; | |
const DAY = HOUR * 24; | |
const WEEK = DAY * 7; | |
type Unit = | |
| "milliseconds" |
https://pnpm.io/installation#using-corepack
$ corepack enable
$ corepack prepare pnpm@latest --activate
$ pnpm --version
// https://www.typescriptlang.org/play#example/nominal-typing | |
type ValidatedInputString = string & { __brand: "User Input Post Validation" }; | |
// https://speakerdeck.com/naoya/typescript-niyoru-graphql-batukuendokai-fa-75b3dab7-90a8-4169-a4dc-d1e7410b9dbd?slide=91 | |
declare const __newtype: unique symbol; | |
export type newtype<Constructor, Type> = Type & { |