Skip to content

Instantly share code, notes, and snippets.

@datatypevoid
datatypevoid / getMoonPhase.ts
Last active September 11, 2022 15:42 — forked from endel/getMoonPhase.js
Get moon phase by Date, written in TypeScript. Accurate from year 1900 to 2199 inclusive.
export { EMoonPhase, EMoonPhaseName, MOON_PHASE_NAMES, moonPhase }
const { round, trunc: truncate } = Math
enum EMoonPhase {
New = 0,
WaxingCrescent,
@smeijer
smeijer / parse-es6-template.js
Last active March 13, 2024 07:53
ES6 template string parser
function get(path, obj, fb = `$\{${path}}`) {
return path.split('.').reduce((res, key) => res[key] || fb, obj);
}
function parseTpl(template, map, fallback) {
return template.replace(/\$\{.+?}/g, (match) => {
const path = match.substr(2, match.length - 3).trim();
return get(path, map, fallback);
});
}
@mufumbo
mufumbo / gist:8547036
Created January 21, 2014 19:49
An extension over google's servingUrl "cdn" features: https://developers.google.com/appengine/docs/java/images/ It links to the Media datastore object and also provides rectangular cropping.
/**
* An extension over google's servingUrl "cdn" features: https://developers.google.com/appengine/docs/java/images/
*
* It links to the Media datastore object and also provides rectangular cropping.
*
* Examples:
* /c/i/69589306
* /c/i/69589306=s300
* /c/i/69589306=s300-c
* /c/i/69589306=s300-c=h20
@mufumbo
mufumbo / gist:6325670
Last active December 21, 2015 15:19
proof of concept for simulating the appengine dispatch.xml while in development mode
package com.yumyumlabs.web.filter;
import com.google.appengine.api.labs.modules.ModulesService;
import com.google.appengine.api.labs.modules.ModulesServiceFactory;
import com.google.appengine.api.utils.SystemProperty;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;