By Ryan Aunur Rassyid
Simply create RESTful API with Google Script and store it to Google SpreadSheet like a Pro.
| function isInside(p, [a, b]) { | |
| return (b[0] - a[0]) * (p[1] - a[1]) > (b[1] - a[1]) * (p[0] - a[0]); | |
| } | |
| function getEdges(polygon) { | |
| let edges = []; | |
| for (let i = 0; i < polygon.length; i++) { | |
| let edge = [polygon[(i + polygon.length - 1) % polygon.length], polygon[i]]; |
| node_modules | |
| dist/ | |
| yarn.lock | |
| wwwroot |
| interface Point { | |
| x: number; | |
| y: number; | |
| } | |
| /** | |
| * Compute the perpendicular distance between a point and a line | |
| * @param point | |
| * @param line | |
| */ |
| license: mit | |
| height: 320 | |
| border: no |
| function createOnlineEmitter() { | |
| let cbs = []; //array of registered callbacks for the event | |
| let unsub; //function for removing the main event listener | |
| //this is the main event listener that gets registered with window.online/offline event | |
| const mainListener = (isOnline) => { | |
| //call all the subscribed callbacks | |
| cbs.forEach(cb => cb(isOnline)); | |
| }; |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <!-- | |
| Copyright (c) 2014-2017, Jan Bösenberg & Jürg Lehni | |
| Permission is hereby granted, free of charge, to any person obtaining a copy | |
| of this software and associated documentation files (the "Software"), to deal | |
| in the Software without restriction, including without limitation the rights | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| #!/usr/bin/env bash | |
| VERSION=4.0.1 | |
| SCRIPT=`basename "$0"` | |
| APPNAME="My App" | |
| APPICONS="/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns" | |
| OSX_VERSION=`sw_vers -productVersion` | |
| PWD=`pwd` | |
| function usage { |
Vanilla Debounce esnextbin