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

@neoskop/aviation-client

Package Overview
Dependencies
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@neoskop/aviation-client - npm Package Compare versions

Comparing version 0.2.1 to 0.2.2

2

dist/aviation-client-builder.d.ts

@@ -7,6 +7,8 @@ import { AviationClient } from "./aviation-client";

private _meta;
private _cacheTime;
endpoint(endpointUrl: string): AviationClientBuilder;
token(token: string): AviationClientBuilder;
cache(cacheTime: number): AviationClientBuilder;
meta(meta: any): AviationClientBuilder;
mix(): AviationClient;
}

@@ -11,2 +11,3 @@ "use strict";

this._meta = {};
this._cacheTime = 10;
}

@@ -21,2 +22,6 @@ AviationClientBuilder.prototype.endpoint = function (endpointUrl) {

};
AviationClientBuilder.prototype.cache = function (cacheTime) {
this._cacheTime = cacheTime;
return this;
};
AviationClientBuilder.prototype.meta = function (meta) {

@@ -27,3 +32,3 @@ this._meta = meta;

AviationClientBuilder.prototype.mix = function () {
return new aviation_client_1.AviationClient(this._endpointUrl, this._token, this._meta);
return new aviation_client_1.AviationClient(this._endpointUrl, this._token, this._cacheTime, this._meta);
};

@@ -30,0 +35,0 @@ return AviationClientBuilder;

5

dist/aviation-client.d.ts

@@ -7,4 +7,7 @@ import { AviationFeature } from "./model/aviation-feature";

private _featureMap;
constructor(endpointUrl: string, token: string, meta?: any);
private _cachingTime;
private _featureLoadingTime;
constructor(endpointUrl: string, token: string, cachingTime?: number, meta?: any);
feature(name: string): Promise<AviationFeature>;
private cacheIsStale();
}

@@ -43,5 +43,7 @@ "use strict";

var AviationClient = (function () {
function AviationClient(endpointUrl, token, meta) {
function AviationClient(endpointUrl, token, cachingTime, meta) {
if (cachingTime === void 0) { cachingTime = 10; }
this._endpointUrl = endpointUrl;
this._token = token;
this._cachingTime = cachingTime;
this._meta = meta;

@@ -56,3 +58,3 @@ }

case 0:
if (!(this._featureMap == null)) return [3 /*break*/, 2];
if (!(this._featureMap == null || this.cacheIsStale())) return [3 /*break*/, 2];
return [4 /*yield*/, request

@@ -67,2 +69,3 @@ .get(this._endpointUrl + '/features')

this._featureMap = new Map();
this._featureLoadingTime = new Date().getTime();
res.body.forEach(function (f) {

@@ -82,2 +85,5 @@ var feature = new aviation_feature_1.AviationFeature(f);

};
AviationClient.prototype.cacheIsStale = function () {
return this._featureLoadingTime + this._cachingTime < new Date().getTime() * 1000;
};
return AviationClient;

@@ -84,0 +90,0 @@ }());

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [0, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var _this = this;
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,6 +42,12 @@ var aviation_client_1 = require("../aviation-client");

var chaiAsPromised = require("chai-as-promised");
var sinon = require("sinon");
var mongodb_1 = require("mongodb");
before(function () {
chai.should();
chai.use(chaiAsPromised);
_this.clock = sinon.useFakeTimers();
});
after(function () {
_this.clock.restore();
});
var endpointTestUrl = process.env['ENDPOINT_TEST_URL'] || 'http://localhost:8080';

@@ -37,3 +79,30 @@ describe('Aviation client', function () {

});
it('should pickup feature changes after 10 seconds per default', function () { return __awaiter(_this, void 0, void 0, function () {
var sut, db, project;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
sut = new aviation_client_1.AviationClient(endpointTestUrl, 'sup3rs3cr3t');
return [4 /*yield*/, sut.feature('test-feature-1').catch(function (err) { return console.log(err); })];
case 1:
_a.sent();
return [4 /*yield*/, mongodb_1.MongoClient.connect('mongodb://mongo:27017/aviation')];
case 2:
db = _a.sent();
return [4 /*yield*/, db.collection('projects').findOne({ token: 'sup3rs3cr3t' })];
case 3:
project = _a.sent();
project.features[0].enabled = false;
return [4 /*yield*/, db.collection('projects').findOneAndUpdate({ token: 'sup3rs3cr3t' }, project)];
case 4:
_a.sent();
this.clock.tick(10000);
return [2 /*return*/, sut.feature('test-feature-1').should.eventually.be.fulfilled.and.then(function (f) {
sut.feature('test-feature-1').catch(function (err) { return console.log(err); });
return f.evaluate().should.be.false;
})];
}
});
}); });
});
//# sourceMappingURL=aviation-client.spec.js.map
{
"name": "@neoskop/aviation-client",
"version": "0.2.1",
"version": "0.2.2",
"main": "dist/index.js",

@@ -27,2 +27,4 @@ "typings": "dist/index.d.ts",

"@types/mocha": "^2.2.41",
"@types/mongodb": "^2.2.7",
"@types/sinon": "^2.3.2",
"chai": "3.x.x",

@@ -33,5 +35,7 @@ "chai-as-promised": "^6.0.0",

"mocha": "^3.4.2",
"mongodb": "^2.2.29",
"node-localstorage": "^1.3.0",
"node-mocks-http": "^1.6.3",
"rimraf": "^2.6.1",
"sinon": "^2.3.6",
"ts-node": "^3.0.6",

@@ -38,0 +42,0 @@ "typescript": "^2.4.1"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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