dev-api: add developer portal, OpenAPI spec, and Flatenbadet case study
- New /developers/ page with API docs, SDKs, pricing, use cases - OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics - Case study: Glasskiosken i Flatenbadet — complete ROI analysis - Updated /order/ with recurring missions and frequency dropdown
This commit is contained in:
+130
@@ -0,0 +1,130 @@
|
||||
// Generated by LiveScript 1.6.0
|
||||
var max, min, negate, abs, signum, quot, rem, div, mod, recip, pi, tau, exp, sqrt, ln, pow, sin, tan, cos, asin, acos, atan, atan2, truncate, round, ceiling, floor, isItNaN, even, odd, gcd, lcm;
|
||||
max = curry$(function(x$, y$){
|
||||
return x$ > y$ ? x$ : y$;
|
||||
});
|
||||
min = curry$(function(x$, y$){
|
||||
return x$ < y$ ? x$ : y$;
|
||||
});
|
||||
negate = function(x){
|
||||
return -x;
|
||||
};
|
||||
abs = Math.abs;
|
||||
signum = function(x){
|
||||
if (x < 0) {
|
||||
return -1;
|
||||
} else if (x > 0) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
quot = curry$(function(x, y){
|
||||
return ~~(x / y);
|
||||
});
|
||||
rem = curry$(function(x$, y$){
|
||||
return x$ % y$;
|
||||
});
|
||||
div = curry$(function(x, y){
|
||||
return Math.floor(x / y);
|
||||
});
|
||||
mod = curry$(function(x$, y$){
|
||||
var ref$;
|
||||
return ((x$) % (ref$ = y$) + ref$) % ref$;
|
||||
});
|
||||
recip = (function(it){
|
||||
return 1 / it;
|
||||
});
|
||||
pi = Math.PI;
|
||||
tau = pi * 2;
|
||||
exp = Math.exp;
|
||||
sqrt = Math.sqrt;
|
||||
ln = Math.log;
|
||||
pow = curry$(function(x$, y$){
|
||||
return Math.pow(x$, y$);
|
||||
});
|
||||
sin = Math.sin;
|
||||
tan = Math.tan;
|
||||
cos = Math.cos;
|
||||
asin = Math.asin;
|
||||
acos = Math.acos;
|
||||
atan = Math.atan;
|
||||
atan2 = curry$(function(x, y){
|
||||
return Math.atan2(x, y);
|
||||
});
|
||||
truncate = function(x){
|
||||
return ~~x;
|
||||
};
|
||||
round = Math.round;
|
||||
ceiling = Math.ceil;
|
||||
floor = Math.floor;
|
||||
isItNaN = function(x){
|
||||
return x !== x;
|
||||
};
|
||||
even = function(x){
|
||||
return x % 2 === 0;
|
||||
};
|
||||
odd = function(x){
|
||||
return x % 2 !== 0;
|
||||
};
|
||||
gcd = curry$(function(x, y){
|
||||
var z;
|
||||
x = Math.abs(x);
|
||||
y = Math.abs(y);
|
||||
while (y !== 0) {
|
||||
z = x % y;
|
||||
x = y;
|
||||
y = z;
|
||||
}
|
||||
return x;
|
||||
});
|
||||
lcm = curry$(function(x, y){
|
||||
return Math.abs(Math.floor(x / gcd(x, y) * y));
|
||||
});
|
||||
module.exports = {
|
||||
max: max,
|
||||
min: min,
|
||||
negate: negate,
|
||||
abs: abs,
|
||||
signum: signum,
|
||||
quot: quot,
|
||||
rem: rem,
|
||||
div: div,
|
||||
mod: mod,
|
||||
recip: recip,
|
||||
pi: pi,
|
||||
tau: tau,
|
||||
exp: exp,
|
||||
sqrt: sqrt,
|
||||
ln: ln,
|
||||
pow: pow,
|
||||
sin: sin,
|
||||
tan: tan,
|
||||
cos: cos,
|
||||
acos: acos,
|
||||
asin: asin,
|
||||
atan: atan,
|
||||
atan2: atan2,
|
||||
truncate: truncate,
|
||||
round: round,
|
||||
ceiling: ceiling,
|
||||
floor: floor,
|
||||
isItNaN: isItNaN,
|
||||
even: even,
|
||||
odd: odd,
|
||||
gcd: gcd,
|
||||
lcm: lcm
|
||||
};
|
||||
function curry$(f, bound){
|
||||
var context,
|
||||
_curry = function(args) {
|
||||
return f.length > 1 ? function(){
|
||||
var params = args ? args.concat() : [];
|
||||
context = bound ? context || this : this;
|
||||
return params.push.apply(params, arguments) <
|
||||
f.length && arguments.length ?
|
||||
_curry.call(context, params) : f.apply(context, params);
|
||||
} : f;
|
||||
};
|
||||
return _curry();
|
||||
}
|
||||
Reference in New Issue
Block a user