@universe/util
Advanced tools
Comparing version
"use strict"; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
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) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -19,26 +10,22 @@ /* global describe, it */ | ||
describe('debounce should', function () { | ||
it('delay a call', function () { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const first = Date.now(); | ||
let second = 0; | ||
yield index_1.debounce(() => second = Date.now(), 1000)(); | ||
assert.ok(second - first >= 1000); | ||
}); | ||
it('delay a call', async function () { | ||
const first = Date.now(); | ||
let second = 0; | ||
await index_1.debounce(() => second = Date.now(), 1000)(); | ||
assert.ok(second - first >= 1000); | ||
}); | ||
it('only call the function once', function () { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const first = Date.now(); | ||
let second = 0; | ||
let count = 0; | ||
const func = index_1.debounce(() => { | ||
count++; | ||
second = Date.now(); | ||
}, 1000); | ||
func(); | ||
func(); | ||
func(); | ||
yield func(); | ||
assert.ok(second - first >= 1000); | ||
assert.strictEqual(count, 1); | ||
}); | ||
it('only call the function once', async function () { | ||
const first = Date.now(); | ||
let second = 0; | ||
let count = 0; | ||
const func = index_1.debounce(() => { | ||
count++; | ||
second = Date.now(); | ||
}, 1000); | ||
func(); | ||
func(); | ||
func(); | ||
await func(); | ||
assert.ok(second - first >= 1000); | ||
assert.strictEqual(count, 1); | ||
}); | ||
@@ -53,5 +40,7 @@ it('runs md5', function () { | ||
assert.strictEqual(index_1.base64UrlDecode(index_1.base64UrlEncode('Adam Miller')), 'Adam Miller'); | ||
assert.strictEqual(index_1.base64UrlEncode('Kelly'), 'S2VsbHk'); | ||
assert.strictEqual(index_1.base64UrlDecode(index_1.base64UrlEncode('Kelly')), 'Kelly'); | ||
}); | ||
}); | ||
}); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFFN0Isd0NBQStFO0FBRS9FLGlDQUFpQztBQUVqQyxRQUFRLENBQUMsT0FBTyxFQUFFO0lBQ2hCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtRQUMxQixFQUFFLENBQUMsY0FBYyxFQUFFOztnQkFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2YsTUFBTSxnQkFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FBQSxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsNkJBQTZCLEVBQUU7O2dCQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2QsTUFBTSxJQUFJLEdBQUcsZ0JBQVEsQ0FBQyxHQUFHLEVBQUU7b0JBQ3pCLEtBQUssRUFBRSxDQUFDO29CQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDVCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQztnQkFDbEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0IsQ0FBQztTQUFBLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxVQUFVLEVBQUU7WUFDYixNQUFNLENBQUMsV0FBVyxDQUFDLFdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBRyxDQUFDLDBFQUEwRSxDQUFDLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztZQUN4SSxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQUcsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDBCQUEwQixDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNJLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1lBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsdUJBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sQ0FBQyxXQUFXLENBQUMsdUJBQWUsQ0FBQyx1QkFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGRlc2NyaWJlLCBpdCAqL1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgZGVib3VuY2UsIG1kNSwgYmFzZTY0VXJsRGVjb2RlLCBiYXNlNjRVcmxFbmNvZGUgfSBmcm9tICcuLi9zcmMvaW5kZXgnO1xuXG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZGVzY3JpYmUoJ1V0aWxzJywgZnVuY3Rpb24oKSB7XG4gIGRlc2NyaWJlKCdkZWJvdW5jZSBzaG91bGQnLCBmdW5jdGlvbigpIHtcbiAgICBpdCgnZGVsYXkgYSBjYWxsJywgYXN5bmMgZnVuY3Rpb24oKSB7XG4gICAgICBjb25zdCBmaXJzdCA9IERhdGUubm93KCk7XG4gICAgICBsZXQgc2Vjb25kID0gMDtcbiAgICAgIGF3YWl0IGRlYm91bmNlKCgpID0+IHNlY29uZCA9IERhdGUubm93KCksIDEwMDApKCk7XG4gICAgICBhc3NlcnQub2soc2Vjb25kIC0gZmlyc3QgPj0gMTAwMCk7XG4gICAgfSk7XG4gICAgaXQoJ29ubHkgY2FsbCB0aGUgZnVuY3Rpb24gb25jZScsIGFzeW5jIGZ1bmN0aW9uKCkge1xuICAgICAgY29uc3QgZmlyc3QgPSBEYXRlLm5vdygpO1xuICAgICAgbGV0IHNlY29uZCA9IDA7XG4gICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgY29uc3QgZnVuYyA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgc2Vjb25kID0gRGF0ZS5ub3coKTtcbiAgICAgIH0sIDEwMDApO1xuICAgICAgZnVuYygpO1xuICAgICAgZnVuYygpO1xuICAgICAgZnVuYygpO1xuICAgICAgYXdhaXQgZnVuYygpO1xuICAgICAgYXNzZXJ0Lm9rKHNlY29uZCAtIGZpcnN0ID49IDEwMDApO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNvdW50LCAxKTtcbiAgICB9KTtcbiAgICBpdCgncnVucyBtZDUnLCBmdW5jdGlvbigpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtZDUoJ2hlbGxvJyksICc1ZDQxNDAyYWJjNGIyYTc2Yjk3MTlkOTExMDE3YzU5MicpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1kNSgnMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JyksICdjMTkwNmZhNGVjNzFlYmRjMDJjNDljNWQxOTkwOGEzOScpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKG1kNShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2ZpeHR1cmVzL3NoYXJlLmpwZycpLCAnYmluYXJ5JykpLCAnN2I1NTQ0NmFkODcyOTczYzVkYjUwMDY5MDVjYzkyYWEnKTtcbiAgICB9KTtcbiAgICBpdCgncnVucyBiYXNlNjRVcmwnLCBmdW5jdGlvbigpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChiYXNlNjRVcmxFbmNvZGUoJ0FkYW0gTWlsbGVyJyksICdRV1JoYlNCTmFXeHNaWEknKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChiYXNlNjRVcmxEZWNvZGUoYmFzZTY0VXJsRW5jb2RlKCdBZGFtIE1pbGxlcicpKSwgJ0FkYW0gTWlsbGVyJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFFN0Isd0NBQStFO0FBRS9FLGlDQUFpQztBQUVqQyxRQUFRLENBQUMsT0FBTyxFQUFFO0lBQ2hCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtRQUMxQixFQUFFLENBQUMsY0FBYyxFQUFFLEtBQUs7WUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNmLE1BQU0sZ0JBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLDZCQUE2QixFQUFFLEtBQUs7WUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNkLE1BQU0sSUFBSSxHQUFHLGdCQUFRLENBQUMsR0FBRyxFQUFFO2dCQUN6QixLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDYixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUM7WUFDbEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsVUFBVSxFQUFFO1lBQ2IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztZQUNyRSxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQUcsQ0FBQywwRUFBMEUsQ0FBQyxFQUFFLGtDQUFrQyxDQUFDLENBQUM7WUFDeEksTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsa0NBQWtDLENBQUMsQ0FBQztRQUMzSSxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUFlLENBQUMsYUFBYSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUN0RSxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUFlLENBQUMsdUJBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBRW5GLE1BQU0sQ0FBQyxXQUFXLENBQUMsdUJBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4RCxNQUFNLENBQUMsV0FBVyxDQUFDLHVCQUFlLENBQUMsdUJBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBkZXNjcmliZSwgaXQgKi9cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IGRlYm91bmNlLCBtZDUsIGJhc2U2NFVybERlY29kZSwgYmFzZTY0VXJsRW5jb2RlIH0gZnJvbSAnLi4vc3JjL2luZGV4JztcblxuaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmRlc2NyaWJlKCdVdGlscycsIGZ1bmN0aW9uKCkge1xuICBkZXNjcmliZSgnZGVib3VuY2Ugc2hvdWxkJywgZnVuY3Rpb24oKSB7XG4gICAgaXQoJ2RlbGF5IGEgY2FsbCcsIGFzeW5jIGZ1bmN0aW9uKCkge1xuICAgICAgY29uc3QgZmlyc3QgPSBEYXRlLm5vdygpO1xuICAgICAgbGV0IHNlY29uZCA9IDA7XG4gICAgICBhd2FpdCBkZWJvdW5jZSgoKSA9PiBzZWNvbmQgPSBEYXRlLm5vdygpLCAxMDAwKSgpO1xuICAgICAgYXNzZXJ0Lm9rKHNlY29uZCAtIGZpcnN0ID49IDEwMDApO1xuICAgIH0pO1xuICAgIGl0KCdvbmx5IGNhbGwgdGhlIGZ1bmN0aW9uIG9uY2UnLCBhc3luYyBmdW5jdGlvbigpIHtcbiAgICAgIGNvbnN0IGZpcnN0ID0gRGF0ZS5ub3coKTtcbiAgICAgIGxldCBzZWNvbmQgPSAwO1xuICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgIGNvbnN0IGZ1bmMgPSBkZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgIGNvdW50Kys7XG4gICAgICAgIHNlY29uZCA9IERhdGUubm93KCk7XG4gICAgICB9LCAxMDAwKTtcbiAgICAgIGZ1bmMoKTtcbiAgICAgIGZ1bmMoKTtcbiAgICAgIGZ1bmMoKTtcbiAgICAgIGF3YWl0IGZ1bmMoKTtcbiAgICAgIGFzc2VydC5vayhzZWNvbmQgLSBmaXJzdCA+PSAxMDAwKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjb3VudCwgMSk7XG4gICAgfSk7XG4gICAgaXQoJ3J1bnMgbWQ1JywgZnVuY3Rpb24oKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobWQ1KCdoZWxsbycpLCAnNWQ0MTQwMmFiYzRiMmE3NmI5NzE5ZDkxMTAxN2M1OTInKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtZDUoJzAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OScpLCAnYzE5MDZmYTRlYzcxZWJkYzAyYzQ5YzVkMTk5MDhhMzknKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChtZDUoZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9maXh0dXJlcy9zaGFyZS5qcGcnKSwgJ2JpbmFyeScpKSwgJzdiNTU0NDZhZDg3Mjk3M2M1ZGI1MDA2OTA1Y2M5MmFhJyk7XG4gICAgfSk7XG4gICAgaXQoJ3J1bnMgYmFzZTY0VXJsJywgZnVuY3Rpb24oKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYmFzZTY0VXJsRW5jb2RlKCdBZGFtIE1pbGxlcicpLCAnUVdSaGJTQk5hV3hzWlhJJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYmFzZTY0VXJsRGVjb2RlKGJhc2U2NFVybEVuY29kZSgnQWRhbSBNaWxsZXInKSksICdBZGFtIE1pbGxlcicpO1xuXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYmFzZTY0VXJsRW5jb2RlKCdLZWxseScpLCAnUzJWc2JIaycpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJhc2U2NFVybERlY29kZShiYXNlNjRVcmxFbmNvZGUoJ0tlbGx5JykpLCAnS2VsbHknKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ== |
{ | ||
"name": "@universe/util", | ||
"version": "0.2.3", | ||
"version": "0.2.4", | ||
"main": "dist/src/index.js", | ||
@@ -5,0 +5,0 @@ "description": "Universe development utilities.", |
@@ -62,3 +62,3 @@ // Generics type checking utils. | ||
export const base64UrlEncode = (str: string) => btoa(str).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); | ||
export const base64UrlDecode = (str: string) => atob((str + '===').slice(0, str.length + (str.length % 4)).replace(/-/g, '+').replace(/_/g, '/')); | ||
export const base64UrlDecode = (str: string) => atob(str).replace(/-/g, '+').replace(/_/g, '/'); | ||
@@ -65,0 +65,0 @@ export const GET = <O>(url: string, headers = {}): Promise<O> => window.fetch(url, { method: 'GET', headers }).then(async(res) => ((await res.json()) as O)); |
@@ -40,4 +40,7 @@ /* global describe, it */ | ||
assert.strictEqual(base64UrlDecode(base64UrlEncode('Adam Miller')), 'Adam Miller'); | ||
assert.strictEqual(base64UrlEncode('Kelly'), 'S2VsbHk'); | ||
assert.strictEqual(base64UrlDecode(base64UrlEncode('Kelly')), 'Kelly'); | ||
}); | ||
}); | ||
}); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
382767
-0.41%683
-3.12%