DuyTa's picture
Upload folder using huggingface_hub
bc20498 verified
raw
history blame
7.38 kB
'use strict';
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var debug = _interopDefault(require('debug'));
var heimdall = _interopDefault(require('heimdalljs'));
var asyncGenerator = function () {
function AwaitValue(value) {
this.value = value;
}
function AsyncGenerator(gen) {
var front, back;
function send(key, arg) {
return new Promise(function (resolve, reject) {
var request = {
key: key,
arg: arg,
resolve: resolve,
reject: reject,
next: null
};
if (back) {
back = back.next = request;
} else {
front = back = request;
resume(key, arg);
}
});
}
function resume(key, arg) {
try {
var result = gen[key](arg);
var value = result.value;
if (value instanceof AwaitValue) {
Promise.resolve(value.value).then(function (arg) {
resume("next", arg);
}, function (arg) {
resume("throw", arg);
});
} else {
settle(result.done ? "return" : "normal", result.value);
}
} catch (err) {
settle("throw", err);
}
}
function settle(type, value) {
switch (type) {
case "return":
front.resolve({
value: value,
done: true
});
break;
case "throw":
front.reject(value);
break;
default:
front.resolve({
value: value,
done: false
});
break;
}
front = front.next;
if (front) {
resume(front.key, front.arg);
} else {
back = null;
}
}
this._invoke = send;
if (typeof gen.return !== "function") {
this.return = undefined;
}
}
if (typeof Symbol === "function" && Symbol.asyncIterator) {
AsyncGenerator.prototype[Symbol.asyncIterator] = function () {
return this;
};
}
AsyncGenerator.prototype.next = function (arg) {
return this._invoke("next", arg);
};
AsyncGenerator.prototype.throw = function (arg) {
return this._invoke("throw", arg);
};
AsyncGenerator.prototype.return = function (arg) {
return this._invoke("return", arg);
};
return {
wrap: function (fn) {
return function () {
return new AsyncGenerator(fn.apply(this, arguments));
};
},
await: function (value) {
return new AwaitValue(value);
}
};
}();
var classCallCheck = function (instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
var createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
var MATCHER = function MATCHER(n) {
return true;
};
var Prefixer = function () {
function Prefixer() {
classCallCheck(this, Prefixer);
var logConfig = heimdall.configFor('logging');
this.matcher = logConfig.matcher || MATCHER;
this.depth = typeof logConfig.depth === 'number' ? logConfig.depth : 3;
}
// TODO: possibly memoize this using a WeakMap
// currently we compute prefix on every call to `log`
createClass(Prefixer, [{
key: 'prefix',
value: function prefix() {
var parts = [];
var node = heimdall.current;
while (node) {
if (node.isRoot || parts.length >= this.depth) {
break;
}
if (this.matcher(node.id)) {
parts.push(node.id.name + '#' + node._id);
}
node = node.parent;
}
return parts.length > 0 ? '[' + parts.reverse().join(' -> ') + '] ' : '';
}
}]);
return Prefixer;
}();
var ERROR = 0;
var WARN = 1;
var INFO = 2;
var DEBUG = 3;
var TRACE = 4;
var Logger = function () {
function Logger(namespace, level) {
classCallCheck(this, Logger);
this.level = level;
this._print = debug(namespace);
this._prefixer = new Prefixer();
}
createClass(Logger, [{
key: '_message',
value: function _message(level, msg) {
if (level <= this.level) {
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
this._print.apply(this, ['' + this._prefixer.prefix() + msg].concat(args));
}
}
}, {
key: 'trace',
value: function trace() {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return this._message.apply(this, [TRACE].concat(args));
}
}, {
key: 'debug',
value: function debug() {
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
return this._message.apply(this, [DEBUG].concat(args));
}
}, {
key: 'info',
value: function info() {
for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
args[_key4] = arguments[_key4];
}
return this._message.apply(this, [INFO].concat(args));
}
}, {
key: 'warn',
value: function warn() {
for (var _len5 = arguments.length, args = Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
args[_key5] = arguments[_key5];
}
return this._message.apply(this, [WARN].concat(args));
}
}, {
key: 'error',
value: function error() {
for (var _len6 = arguments.length, args = Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
args[_key6] = arguments[_key6];
}
return this._message.apply(this, [ERROR].concat(args));
}
}]);
return Logger;
}();
var NULL_LOGGER = {
trace: function trace() {},
debug: function debug() {},
info: function info() {},
warn: function warn() {},
error: function error() {}
};
function computeDebugLevel() {
var level = void 0;
if (!process.env.DEBUG_LEVEL) {
level = INFO;
} else {
switch (process.env.DEBUG_LEVEL.toUpperCase()) {
case 'ERROR':
level = ERROR;break;
case 'WARN':
level = WARN;break;
case 'INFO':
level = INFO;break;
case 'DEBUG':
level = DEBUG;break;
case 'TRACE':
level = TRACE;break;
default:
level = parseInt(process.env.DEBUG_LEVEL, 10);
}
}
logGenerator.debugLevel = level;
}
function logGenerator(namespace) {
if (debug.enabled(namespace)) {
if (logGenerator.debugLevel === undefined) {
computeDebugLevel();
}
return new Logger(namespace, logGenerator.debugLevel);
} else {
return NULL_LOGGER;
}
}
logGenerator.debugLevel = undefined;
module.exports = logGenerator;