New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

autotune

Package Overview
Dependencies
Maintainers
1
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

autotune - npm Package Compare versions

Comparing version 0.0.29 to 1.0.0

dist/util.d.ts

141

dist/index.browser.js

@@ -123,9 +123,3 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.autotune = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){

var html_1 = require("./html");
function uuidv4() {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
var r = (Math.random() * 16) | 0, v = c == "x" ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
var DEBUG = true;
var util_1 = require("./util");
function api(path) {

@@ -144,19 +138,2 @@ return "https://2vyiuehl9j.execute-api.us-east-2.amazonaws.com/prod/" + path;

};
function log() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (DEBUG) {
console.log.apply(console, ["AUTOTUNE"].concat(args));
}
}
function getOwnPropertyValues(x) {
return Object.getOwnPropertyNames(x).map(function (n) { return x[n]; });
}
function mapObject(x, f) {
var result = {};
Object.getOwnPropertyNames(x).forEach(function (n) { return (result[n] = f(x[n], n)); });
return result;
}
function startExperiment(experiment) {

@@ -172,3 +149,3 @@ var _this = this;

return __generator(this, function (_a) {
experiments = mapObject(state.queuedStartedExperiments, function (e) { return ({
experiments = util_1.mapObject(state.queuedStartedExperiments, function (e) { return ({
instanceKey: e.key,

@@ -178,7 +155,7 @@ options: e.options,

}); });
log("Starting experiments", experiments);
util_1.log("Starting experiments", experiments);
state.queuedStartedExperiments = {};
state.startExperimentsTimer = undefined;
try {
http("POST", api("/startExperiments"), {
util_1.http("POST", api("/startExperiments"), {
appKey: state.appKey,

@@ -189,3 +166,3 @@ experiments: experiments

catch (e) {
log("Failed to start experiments", e);
util_1.log("Failed to start experiments", e);
return [2];

@@ -209,3 +186,3 @@ }

case 0:
experiments = getOwnPropertyValues(state.queuedCompletedExperiments);
experiments = util_1.getOwnPropertyValues(state.queuedCompletedExperiments);
state.queuedCompletedExperiments = {};

@@ -215,7 +192,7 @@ state.completeExperimentsTimer = undefined;

experiments.forEach(function (e) { return (experimentsByKey[e.key] = { pick: e.pick, payoff: e.payoff }); });
log("Completing experiments", experimentsByKey);
util_1.log("Completing experiments", experimentsByKey);
_a.label = 1;
case 1:
_a.trys.push([1, 3, 4, 5]);
return [4, http("POST", api("/completeExperiments"), {
return [4, util_1.http("POST", api("/completeExperiments"), {
appKey: state.appKey,

@@ -229,3 +206,3 @@ experiments: experimentsByKey

e_1 = _a.sent();
log("Failed to complete experiments", e_1);
util_1.log("Failed to complete experiments", e_1);
return [3, 5];

@@ -242,29 +219,2 @@ case 4:

}
function http(method, url, data) {
if (data === void 0) { data = undefined; }
return new Promise(function (resolve, reject) {
if (typeof XMLHttpRequest === "undefined") {
return reject("Not running in browser");
}
var request = new XMLHttpRequest();
request.open(method, url, true);
request.setRequestHeader("Content-Type", "application/json");
request.onerror = function () { return reject(request.statusText); };
request.onreadystatechange = function () {
if (request.readyState == 4)
if (request.status == 200) {
resolve(JSON.parse(request.responseText));
}
else {
reject("Request failed with status " + request.status);
}
};
if (data !== undefined) {
request.send(JSON.stringify(data));
}
else {
request.send();
}
});
}
function initialize(appKey) {

@@ -276,3 +226,3 @@ return __awaiter(this, void 0, void 0, function () {

case 0:
log("Initialize", appKey);
util_1.log("Initialize", appKey);
state.appKey = appKey;

@@ -283,3 +233,3 @@ outcomes = {};

_a.trys.push([1, 3, , 4]);
return [4, http("GET", outcomesUrl(appKey))];
return [4, util_1.http("GET", outcomesUrl(appKey))];
case 2:

@@ -290,6 +240,6 @@ outcomes = _a.sent();

e_2 = _a.sent();
log("ERROR getting outcomes", e_2);
util_1.log("ERROR getting outcomes", e_2);
return [3, 4];
case 4:
log("Got outcomes", outcomes);
util_1.log("Got outcomes", outcomes);
Object.getOwnPropertyNames(outcomes).forEach(function (name) {

@@ -323,3 +273,3 @@ if (state.experiments[name] !== undefined)

this.epsilon = epsilon;
this.key = uuidv4();
this.key = util_1.uuidv4();
}

@@ -398,3 +348,64 @@ Experiment.prototype.setValueAndStartExperiment = function (value) {

},{"./html":1}]},{},[1,2])(2)
},{"./html":1,"./util":3}],3:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var DEBUG = true;
function uuidv4() {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
var r = (Math.random() * 16) | 0;
var v = c == "x" ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
exports.uuidv4 = uuidv4;
function log() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (DEBUG) {
console.log.apply(console, ["AUTOTUNE"].concat(args));
}
}
exports.log = log;
function getOwnPropertyValues(x) {
return Object.getOwnPropertyNames(x).map(function (n) { return x[n]; });
}
exports.getOwnPropertyValues = getOwnPropertyValues;
function mapObject(x, f) {
var result = {};
Object.getOwnPropertyNames(x).forEach(function (n) { return (result[n] = f(x[n], n)); });
return result;
}
exports.mapObject = mapObject;
function http(method, url, data) {
if (data === void 0) { data = undefined; }
return new Promise(function (resolve, reject) {
if (typeof XMLHttpRequest === "undefined") {
return reject("Not running in browser");
}
var request = new XMLHttpRequest();
request.open(method, url, true);
request.setRequestHeader("Content-Type", "application/json");
request.onerror = function () { return reject(request.statusText); };
request.onreadystatechange = function () {
if (request.readyState == 4)
if (request.status == 200) {
resolve(JSON.parse(request.responseText));
}
else {
reject("Request failed with status " + request.status);
}
};
if (data !== undefined) {
request.send(JSON.stringify(data));
}
else {
request.send();
}
});
}
exports.http = http;
},{}]},{},[1,2,3])(3)
});

@@ -1,1 +0,1 @@

!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).autotune=e()}}(function(){return function i(u,a,s){function p(t,e){if(!a[t]){if(!u[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(c)return c(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var o=a[t]={exports:{}};u[t][0].call(o.exports,function(e){return p(u[t][1][e]||e)},o,o.exports,i,u,a,s)}return a[t].exports}for(var c="function"==typeof require&&require,e=0;e<s.length;e++)p(s[e]);return p}({1:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var u=e(".");function p(e){for(var t=0,n=0;n<e.length;n++){t=(t<<5)-t+e.charCodeAt(n),t&=t}return t}function c(e){return e.getAttribute("option")||p(e.outerHTML).toString()}n.startHTMLExperiments=function(){var i=function(){for(var e={},t=document.querySelectorAll("[data-experiment]"),n=0;n<t.length;n++){var r=t.item(n),o=r.getAttribute("data-experiment"),i=r.getAttribute("data-option"),u=e[o];void 0===u&&(u=e[o]={options:[],nodes:[]}),-1===u.options.indexOf(i)&&u.options.push(i),u.nodes.push(r)}return e}(),n=function(){for(var e={},t=document.getElementsByTagName("autotune"),n=0;n<t.length;n++){for(var r=t.item(n),o=r.getAttribute("experiment")||p(r.innerHTML).toString(),i={node:r,options:[]},u=0;u<r.children.length;u++){var a=r.children.item(u);i.options.push(c(a))}var s=e[o]||[];s.push(i),e[o]=s}return e}();Object.getOwnPropertyNames(i).forEach(function(e){var t=i[e],n=t.options,r=t.nodes,o=u.oneOf(e,n);r.forEach(function(e){e.getAttribute("data-option")!==o&&e.remove()})}),Object.getOwnPropertyNames(n).forEach(function(e){var t={};n[e].forEach(function(e){e.options.forEach(function(e){return t[e]=null})});var o=u.oneOf(e,Object.getOwnPropertyNames(t));n[e].forEach(function(e){for(var t=e.node.children,n=0;n<t.length;n++){var r=t.item(n);c(r)!==o&&r.remove()}})})}},{".":2}],2:[function(e,t,n){"use strict";var r=this&&this.__awaiter||function(i,u,a,s){return new(a||(a=Promise))(function(e,t){function n(e){try{o(s.next(e))}catch(e){t(e)}}function r(e){try{o(s.throw(e))}catch(e){t(e)}}function o(t){t.done?e(t.value):new a(function(e){e(t.value)}).then(n,r)}o((s=s.apply(i,u||[])).next())})},i=this&&this.__generator||function(n,r){var o,i,u,e,a={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,i&&(u=i[2&t[0]?"return":t[0]?"throw":"next"])&&!(u=u.call(i,t[1])).done)return u;switch(i=0,u&&(t=[0,u.value]),t[0]){case 0:case 1:u=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,i=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!(u=0<(u=a.trys).length&&u[u.length-1])&&(6===t[0]||2===t[0])){a=0;continue}if(3===t[0]&&(!u||t[1]>u[0]&&t[1]<u[3])){a.label=t[1];break}if(6===t[0]&&a.label<u[1]){a.label=u[1],u=t;break}if(u&&a.label<u[2]){a.label=u[2],a.ops.push(t);break}u[2]&&a.ops.pop(),a.trys.pop();continue}t=r.call(n,a)}catch(e){t=[6,e],i=0}finally{o=u=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(n,"__esModule",{value:!0});var u=e("./html");var o=!0;function a(e){return"https://2vyiuehl9j.execute-api.us-east-2.amazonaws.com/prod/"+e}var s={appKey:"",experiments:{},defaultCompletions:{},queuedCompletedExperiments:{},queuedStartedExperiments:{}};function p(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];o&&console.log.apply(console,["AUTOTUNE"].concat(e))}function c(e){var t=this;void 0!==s.startExperimentsTimer&&(clearTimeout(s.startExperimentsTimer),s.startExperimentsTimer=void 0),s.queuedStartedExperiments[e.name]=e,s.startExperimentsTimer=setTimeout(function(){return r(t,void 0,void 0,function(){var o;return i(this,function(e){var t,n,r;t=s.queuedStartedExperiments,n=function(e){return{instanceKey:e.key,options:e.options,pick:e.pick}},r={},Object.getOwnPropertyNames(t).forEach(function(e){return r[e]=n(t[e],e)}),p("Starting experiments",o=r),s.queuedStartedExperiments={},s.startExperimentsTimer=void 0;try{l("POST",a("/startExperiments"),{appKey:s.appKey,experiments:o})}catch(e){return p("Failed to start experiments",e),[2]}return[2]})})},100)}function f(e,o){var t=this;void 0!==s.completeExperimentsTimer&&(clearTimeout(s.completeExperimentsTimer),s.completeExperimentsTimer=void 0),s.queuedCompletedExperiments[e.name]=e,s.completeExperimentsTimer=setTimeout(function(){return r(t,void 0,void 0,function(){var n,r;return i(this,function(e){switch(e.label){case 0:t=s.queuedCompletedExperiments,n=Object.getOwnPropertyNames(t).map(function(e){return t[e]}),s.queuedCompletedExperiments={},s.completeExperimentsTimer=void 0,r={},n.forEach(function(e){return r[e.key]={pick:e.pick,payoff:e.payoff}}),p("Completing experiments",r),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,l("POST",a("/completeExperiments"),{appKey:s.appKey,experiments:r})];case 2:return e.sent(),[3,5];case 3:return p("Failed to complete experiments",e.sent()),[3,5];case 4:return void 0!==o&&o(),[7];case 5:return[2]}var t})})},10)}function l(r,o,i){return void 0===i&&(i=void 0),new Promise(function(e,t){if("undefined"==typeof XMLHttpRequest)return t("Not running in browser");var n=new XMLHttpRequest;n.open(r,o,!0),n.setRequestHeader("Content-Type","application/json"),n.onerror=function(){return t(n.statusText)},n.onreadystatechange=function(){4==n.readyState&&(200==n.status?e(JSON.parse(n.responseText)):t("Request failed with status "+n.status))},void 0!==i?n.send(JSON.stringify(i)):n.send()})}function m(e){var t=s.experiments[e];return void 0===t&&(t=s.experiments[e]=new d(e)),t}n.initialize=function(n){return r(this,void 0,void 0,function(){var o;return i(this,function(e){switch(e.label){case 0:p("Initialize",n),s.appKey=n,o={},e.label=1;case 1:return e.trys.push([1,3,,4]),[4,l("GET",(t=n,"https://s3.us-east-2.amazonaws.com/autotune-outcomes/"+t+".json"))];case 2:return o=e.sent(),[3,4];case 3:return p("ERROR getting outcomes",e.sent()),[3,4];case 4:return p("Got outcomes",o),Object.getOwnPropertyNames(o).forEach(function(e){if(void 0===s.experiments[e]){var t=o[e],n=t.bestOption,r=t.epsilon;s.experiments[e]=new d(e,n,r)}}),u.startHTMLExperiments(),[2,{}]}var t})})},n.experiment=m;var d=function(){function e(e,t,n){void 0===t&&(t=void 0),void 0===n&&(n=1),this.name=e,this.bestOption=t,this.epsilon=n,this.key="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})}return e.prototype.setValueAndStartExperiment=function(e){return void 0===this.pick&&(this.pick=e,c(this)),this.pick},e.prototype.complete=function(t,n){return void 0===t&&(t=1),r(this,void 0,void 0,function(){return i(this,function(e){return this.payoff=t,f(this,n),[2]})})},e.prototype.flipCoin=function(){return"true"===this.oneOf("true","false")},e.prototype.oneOf=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this.options=t,e=void 0===this.bestOption||Math.random()<this.epsilon?t[Math.floor(Math.random()*t.length)]:this.bestOption,this.setValueAndStartExperiment(e)},e}();n.Experiment=d,n.flipCoin=function(e){var t=m(e);return(s.defaultCompletions[e]=t).flipCoin()},n.oneOf=function(e,t){var n=m(e);return(s.defaultCompletions[e]=n).oneOf.apply(n,t)},n.complete=function(e,t){var n,r;n="number"==typeof e?e:1,r="function"==typeof e?e:t;var o=s.defaultCompletions;Object.getOwnPropertyNames(o).forEach(function(e){return o[e].complete(n,r)})}},{"./html":1}]},{},[1,2])(2)});
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).autotune=e()}}(function(){return function i(u,a,s){function p(t,e){if(!a[t]){if(!u[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(c)return c(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var o=a[t]={exports:{}};u[t][0].call(o.exports,function(e){return p(u[t][1][e]||e)},o,o.exports,i,u,a,s)}return a[t].exports}for(var c="function"==typeof require&&require,e=0;e<s.length;e++)p(s[e]);return p}({1:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var u=e(".");function p(e){for(var t=0,n=0;n<e.length;n++){t=(t<<5)-t+e.charCodeAt(n),t&=t}return t}function c(e){return e.getAttribute("option")||p(e.outerHTML).toString()}n.startHTMLExperiments=function(){var i=function(){for(var e={},t=document.querySelectorAll("[data-experiment]"),n=0;n<t.length;n++){var r=t.item(n),o=r.getAttribute("data-experiment"),i=r.getAttribute("data-option"),u=e[o];void 0===u&&(u=e[o]={options:[],nodes:[]}),-1===u.options.indexOf(i)&&u.options.push(i),u.nodes.push(r)}return e}(),n=function(){for(var e={},t=document.getElementsByTagName("autotune"),n=0;n<t.length;n++){for(var r=t.item(n),o=r.getAttribute("experiment")||p(r.innerHTML).toString(),i={node:r,options:[]},u=0;u<r.children.length;u++){var a=r.children.item(u);i.options.push(c(a))}var s=e[o]||[];s.push(i),e[o]=s}return e}();Object.getOwnPropertyNames(i).forEach(function(e){var t=i[e],n=t.options,r=t.nodes,o=u.oneOf(e,n);r.forEach(function(e){e.getAttribute("data-option")!==o&&e.remove()})}),Object.getOwnPropertyNames(n).forEach(function(e){var t={};n[e].forEach(function(e){e.options.forEach(function(e){return t[e]=null})});var o=u.oneOf(e,Object.getOwnPropertyNames(t));n[e].forEach(function(e){for(var t=e.node.children,n=0;n<t.length;n++){var r=t.item(n);c(r)!==o&&r.remove()}})})}},{".":2}],2:[function(e,t,n){"use strict";var i=this&&this.__awaiter||function(i,u,a,s){return new(a||(a=Promise))(function(e,t){function n(e){try{o(s.next(e))}catch(e){t(e)}}function r(e){try{o(s.throw(e))}catch(e){t(e)}}function o(t){t.done?e(t.value):new a(function(e){e(t.value)}).then(n,r)}o((s=s.apply(i,u||[])).next())})},u=this&&this.__generator||function(n,r){var o,i,u,e,a={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,i&&(u=i[2&t[0]?"return":t[0]?"throw":"next"])&&!(u=u.call(i,t[1])).done)return u;switch(i=0,u&&(t=[0,u.value]),t[0]){case 0:case 1:u=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,i=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!(u=0<(u=a.trys).length&&u[u.length-1])&&(6===t[0]||2===t[0])){a=0;continue}if(3===t[0]&&(!u||t[1]>u[0]&&t[1]<u[3])){a.label=t[1];break}if(6===t[0]&&a.label<u[1]){a.label=u[1],u=t;break}if(u&&a.label<u[2]){a.label=u[2],a.ops.push(t);break}u[2]&&a.ops.pop(),a.trys.pop();continue}t=r.call(n,a)}catch(e){t=[6,e],i=0}finally{o=u=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(n,"__esModule",{value:!0});var a=e("./html"),s=e("./util");function p(e){return"https://2vyiuehl9j.execute-api.us-east-2.amazonaws.com/prod/"+e}var c={appKey:"",experiments:{},defaultCompletions:{},queuedCompletedExperiments:{},queuedStartedExperiments:{}};function r(e){var t=c.experiments[e];return void 0===t&&(t=c.experiments[e]=new f(e)),t}n.initialize=function(r){return i(this,void 0,void 0,function(){var o,n;return u(this,function(e){switch(e.label){case 0:s.log("Initialize",r),c.appKey=r,o={},e.label=1;case 1:return e.trys.push([1,3,,4]),[4,s.http("GET",(t=r,"https://s3.us-east-2.amazonaws.com/autotune-outcomes/"+t+".json"))];case 2:return o=e.sent(),[3,4];case 3:return n=e.sent(),s.log("ERROR getting outcomes",n),[3,4];case 4:return s.log("Got outcomes",o),Object.getOwnPropertyNames(o).forEach(function(e){if(void 0===c.experiments[e]){var t=o[e],n=t.bestOption,r=t.epsilon;c.experiments[e]=new f(e,n,r)}}),a.startHTMLExperiments(),[2,{}]}var t})})},n.experiment=r;var f=function(){function e(e,t,n){void 0===t&&(t=void 0),void 0===n&&(n=1),this.name=e,this.bestOption=t,this.epsilon=n,this.key=s.uuidv4()}return e.prototype.setValueAndStartExperiment=function(e){return void 0===this.pick&&(this.pick=e,function(e){var t=this;void 0!==c.startExperimentsTimer&&(clearTimeout(c.startExperimentsTimer),c.startExperimentsTimer=void 0),c.queuedStartedExperiments[e.name]=e,c.startExperimentsTimer=setTimeout(function(){return i(t,void 0,void 0,function(){var t;return u(this,function(e){t=s.mapObject(c.queuedStartedExperiments,function(e){return{instanceKey:e.key,options:e.options,pick:e.pick}}),s.log("Starting experiments",t),c.queuedStartedExperiments={},c.startExperimentsTimer=void 0;try{s.http("POST",p("/startExperiments"),{appKey:c.appKey,experiments:t})}catch(e){return s.log("Failed to start experiments",e),[2]}return[2]})})},100)}(this)),this.pick},e.prototype.complete=function(t,n){return void 0===t&&(t=1),i(this,void 0,void 0,function(){return u(this,function(e){return this.payoff=t,function(e,o){var t=this;void 0!==c.completeExperimentsTimer&&(clearTimeout(c.completeExperimentsTimer),c.completeExperimentsTimer=void 0),c.queuedCompletedExperiments[e.name]=e,c.completeExperimentsTimer=setTimeout(function(){return i(t,void 0,void 0,function(){var t,n,r;return u(this,function(e){switch(e.label){case 0:t=s.getOwnPropertyValues(c.queuedCompletedExperiments),c.queuedCompletedExperiments={},c.completeExperimentsTimer=void 0,n={},t.forEach(function(e){return n[e.key]={pick:e.pick,payoff:e.payoff}}),s.log("Completing experiments",n),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,s.http("POST",p("/completeExperiments"),{appKey:c.appKey,experiments:n})];case 2:return e.sent(),[3,5];case 3:return r=e.sent(),s.log("Failed to complete experiments",r),[3,5];case 4:return void 0!==o&&o(),[7];case 5:return[2]}})})},10)}(this,n),[2]})})},e.prototype.flipCoin=function(){return"true"===this.oneOf("true","false")},e.prototype.oneOf=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this.options=t,e=void 0===this.bestOption||Math.random()<this.epsilon?t[Math.floor(Math.random()*t.length)]:this.bestOption,this.setValueAndStartExperiment(e)},e}();n.Experiment=f,n.flipCoin=function(e){var t=r(e);return(c.defaultCompletions[e]=t).flipCoin()},n.oneOf=function(e,t){var n=r(e);return(c.defaultCompletions[e]=n).oneOf.apply(n,t)},n.complete=function(e,t){var n,r;n="number"==typeof e?e:1,r="function"==typeof e?e:t;var o=c.defaultCompletions;Object.getOwnPropertyNames(o).forEach(function(e){return o[e].complete(n,r)})}},{"./html":1,"./util":3}],3:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.uuidv4=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})},n.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];console.log.apply(console,["AUTOTUNE"].concat(e))},n.getOwnPropertyValues=function(t){return Object.getOwnPropertyNames(t).map(function(e){return t[e]})},n.mapObject=function(t,n){var r={};return Object.getOwnPropertyNames(t).forEach(function(e){return r[e]=n(t[e],e)}),r},n.http=function(r,o,i){return void 0===i&&(i=void 0),new Promise(function(e,t){if("undefined"==typeof XMLHttpRequest)return t("Not running in browser");var n=new XMLHttpRequest;n.open(r,o,!0),n.setRequestHeader("Content-Type","application/json"),n.onerror=function(){return t(n.statusText)},n.onreadystatechange=function(){4==n.readyState&&(200==n.status?e(JSON.parse(n.responseText)):t("Request failed with status "+n.status))},void 0!==i?n.send(JSON.stringify(i)):n.send()})}},{}]},{},[1,2,3])(3)});

@@ -39,9 +39,3 @@ "use strict";

var html_1 = require("./html");
function uuidv4() {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
var r = (Math.random() * 16) | 0, v = c == "x" ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
var DEBUG = true;
var util_1 = require("./util");
function api(path) {

@@ -60,19 +54,2 @@ return "https://2vyiuehl9j.execute-api.us-east-2.amazonaws.com/prod/" + path;

};
function log() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (DEBUG) {
console.log.apply(console, ["AUTOTUNE"].concat(args));
}
}
function getOwnPropertyValues(x) {
return Object.getOwnPropertyNames(x).map(function (n) { return x[n]; });
}
function mapObject(x, f) {
var result = {};
Object.getOwnPropertyNames(x).forEach(function (n) { return (result[n] = f(x[n], n)); });
return result;
}
function startExperiment(experiment) {

@@ -88,3 +65,3 @@ var _this = this;

return __generator(this, function (_a) {
experiments = mapObject(state.queuedStartedExperiments, function (e) { return ({
experiments = util_1.mapObject(state.queuedStartedExperiments, function (e) { return ({
instanceKey: e.key,

@@ -94,7 +71,7 @@ options: e.options,

}); });
log("Starting experiments", experiments);
util_1.log("Starting experiments", experiments);
state.queuedStartedExperiments = {};
state.startExperimentsTimer = undefined;
try {
http("POST", api("/startExperiments"), {
util_1.http("POST", api("/startExperiments"), {
appKey: state.appKey,

@@ -105,3 +82,3 @@ experiments: experiments

catch (e) {
log("Failed to start experiments", e);
util_1.log("Failed to start experiments", e);
return [2];

@@ -125,3 +102,3 @@ }

case 0:
experiments = getOwnPropertyValues(state.queuedCompletedExperiments);
experiments = util_1.getOwnPropertyValues(state.queuedCompletedExperiments);
state.queuedCompletedExperiments = {};

@@ -131,7 +108,7 @@ state.completeExperimentsTimer = undefined;

experiments.forEach(function (e) { return (experimentsByKey[e.key] = { pick: e.pick, payoff: e.payoff }); });
log("Completing experiments", experimentsByKey);
util_1.log("Completing experiments", experimentsByKey);
_a.label = 1;
case 1:
_a.trys.push([1, 3, 4, 5]);
return [4, http("POST", api("/completeExperiments"), {
return [4, util_1.http("POST", api("/completeExperiments"), {
appKey: state.appKey,

@@ -145,3 +122,3 @@ experiments: experimentsByKey

e_1 = _a.sent();
log("Failed to complete experiments", e_1);
util_1.log("Failed to complete experiments", e_1);
return [3, 5];

@@ -158,29 +135,2 @@ case 4:

}
function http(method, url, data) {
if (data === void 0) { data = undefined; }
return new Promise(function (resolve, reject) {
if (typeof XMLHttpRequest === "undefined") {
return reject("Not running in browser");
}
var request = new XMLHttpRequest();
request.open(method, url, true);
request.setRequestHeader("Content-Type", "application/json");
request.onerror = function () { return reject(request.statusText); };
request.onreadystatechange = function () {
if (request.readyState == 4)
if (request.status == 200) {
resolve(JSON.parse(request.responseText));
}
else {
reject("Request failed with status " + request.status);
}
};
if (data !== undefined) {
request.send(JSON.stringify(data));
}
else {
request.send();
}
});
}
function initialize(appKey) {

@@ -192,3 +142,3 @@ return __awaiter(this, void 0, void 0, function () {

case 0:
log("Initialize", appKey);
util_1.log("Initialize", appKey);
state.appKey = appKey;

@@ -199,3 +149,3 @@ outcomes = {};

_a.trys.push([1, 3, , 4]);
return [4, http("GET", outcomesUrl(appKey))];
return [4, util_1.http("GET", outcomesUrl(appKey))];
case 2:

@@ -206,6 +156,6 @@ outcomes = _a.sent();

e_2 = _a.sent();
log("ERROR getting outcomes", e_2);
util_1.log("ERROR getting outcomes", e_2);
return [3, 4];
case 4:
log("Got outcomes", outcomes);
util_1.log("Got outcomes", outcomes);
Object.getOwnPropertyNames(outcomes).forEach(function (name) {

@@ -239,3 +189,3 @@ if (state.experiments[name] !== undefined)

this.epsilon = epsilon;
this.key = uuidv4();
this.key = util_1.uuidv4();
}

@@ -242,0 +192,0 @@ Experiment.prototype.setValueAndStartExperiment = function (value) {

{
"name": "autotune",
"version": "0.0.29",
"version": "1.0.0",
"description": "Automatically tune JavaScript apps",

@@ -9,3 +9,4 @@ "main": "dist/index.js",

"scripts": {
"browserify": "browserify dist/*.js --standalone autotune -o dist/index.browser.js && uglifyjs dist/index.browser.js --compress --mangle -o dist/index.browser.min.js",
"browserify":
"browserify dist/*.js --standalone autotune -o dist/index.browser.js && uglifyjs dist/index.browser.js --compress --mangle -o dist/index.browser.min.js",
"build": "rm -rf dist && tsc -p tsconfig.json && npm run browserify",

@@ -40,2 +41,2 @@ "bump-version": "ts-node scripts/patch-npm-version.ts",

}
}
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc