suitescript-mocks
Version:
Set of mocks for unit testing Netsuite Suitescript 2.*
45 lines • 9.76 kB
JavaScript
var _initClass, _dec, _dec2, _dec3, _init_get, _dec4, _dec5, _init_put, _dec6, _dec7, _init_remove;
function applyDecs2203RFactory() { function createAddInitializerMethod(e, t) { return function (r) { !function (e, t) { if (e.v) throw new Error("attempted to call " + t + " after decoration was finished"); }(t, "addInitializer"), assertCallable(r, "An initializer"), e.push(r); }; } function memberDec(e, t, r, n, a, i, s, o) { var c; switch (a) { case 1: c = "accessor"; break; case 2: c = "method"; break; case 3: c = "getter"; break; case 4: c = "setter"; break; default: c = "field"; } var l, u, f = { kind: c, name: s ? "#" + t : t, static: i, private: s }, p = { v: !1 }; 0 !== a && (f.addInitializer = createAddInitializerMethod(n, p)), 0 === a ? s ? (l = r.get, u = r.set) : (l = function () { return this[t]; }, u = function (e) { this[t] = e; }) : 2 === a ? l = function () { return r.value; } : (1 !== a && 3 !== a || (l = function () { return r.get.call(this); }), 1 !== a && 4 !== a || (u = function (e) { r.set.call(this, e); })), f.access = l && u ? { get: l, set: u } : l ? { get: l } : { set: u }; try { return e(o, f); } finally { p.v = !0; } } function assertCallable(e, t) { if ("function" != typeof e) throw new TypeError(t + " must be a function"); } function assertValidReturnValue(e, t) { var r = typeof t; if (1 === e) { if ("object" !== r || null === t) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); void 0 !== t.get && assertCallable(t.get, "accessor.get"), void 0 !== t.set && assertCallable(t.set, "accessor.set"), void 0 !== t.init && assertCallable(t.init, "accessor.init"); } else if ("function" !== r) { var n; throw n = 0 === e ? "field" : 10 === e ? "class" : "method", new TypeError(n + " decorators must return a function or void 0"); } } function applyMemberDec(e, t, r, n, a, i, s, o) { var c, l, u, f, p, d, h = r[0]; if (s ? c = 0 === a || 1 === a ? { get: r[3], set: r[4] } : 3 === a ? { get: r[3] } : 4 === a ? { set: r[3] } : { value: r[3] } : 0 !== a && (c = Object.getOwnPropertyDescriptor(t, n)), 1 === a ? u = { get: c.get, set: c.set } : 2 === a ? u = c.value : 3 === a ? u = c.get : 4 === a && (u = c.set), "function" == typeof h) void 0 !== (f = memberDec(h, n, c, o, a, i, s, u)) && (assertValidReturnValue(a, f), 0 === a ? l = f : 1 === a ? (l = f.init, p = f.get || u.get, d = f.set || u.set, u = { get: p, set: d }) : u = f);else for (var v = h.length - 1; v >= 0; v--) { var g; if (void 0 !== (f = memberDec(h[v], n, c, o, a, i, s, u))) assertValidReturnValue(a, f), 0 === a ? g = f : 1 === a ? (g = f.init, p = f.get || u.get, d = f.set || u.set, u = { get: p, set: d }) : u = f, void 0 !== g && (void 0 === l ? l = g : "function" == typeof l ? l = [l, g] : l.push(g)); } if (0 === a || 1 === a) { if (void 0 === l) l = function (e, t) { return t; };else if ("function" != typeof l) { var y = l; l = function (e, t) { for (var r = t, n = 0; n < y.length; n++) r = y[n].call(e, r); return r; }; } else { var m = l; l = function (e, t) { return m.call(e, t); }; } e.push(l); } 0 !== a && (1 === a ? (c.get = u.get, c.set = u.set) : 2 === a ? c.value = u : 3 === a ? c.get = u : 4 === a && (c.set = u), s ? 1 === a ? (e.push(function (e, t) { return u.get.call(e, t); }), e.push(function (e, t) { return u.set.call(e, t); })) : 2 === a ? e.push(u) : e.push(function (e, t) { return u.call(e, t); }) : Object.defineProperty(t, n, c)); } function applyMemberDecs(e, t) { for (var r, n, a = [], i = new Map(), s = new Map(), o = 0; o < t.length; o++) { var c = t[o]; if (Array.isArray(c)) { var l, u, f = c[1], p = c[2], d = c.length > 3, h = f >= 5; if (h ? (l = e, 0 !== (f -= 5) && (u = n = n || [])) : (l = e.prototype, 0 !== f && (u = r = r || [])), 0 !== f && !d) { var v = h ? s : i, g = v.get(p) || 0; if (!0 === g || 3 === g && 4 !== f || 4 === g && 3 !== f) throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + p); !g && f > 2 ? v.set(p, f) : v.set(p, !0); } applyMemberDec(a, l, c, p, f, h, d, u); } } return pushInitializers(a, r), pushInitializers(a, n), a; } function pushInitializers(e, t) { t && e.push(function (e) { for (var r = 0; r < t.length; r++) t[r].call(e); return e; }); } return function (e, t, r) { return { e: applyMemberDecs(e, t), get c() { return function (e, t) { if (t.length > 0) { for (var r = [], n = e, a = e.name, i = t.length - 1; i >= 0; i--) { var s = { v: !1 }; try { var o = t[i](n, { kind: "class", name: a, addInitializer: createAddInitializerMethod(r, s) }); } finally { s.v = !0; } void 0 !== o && (assertValidReturnValue(10, o), n = o); } return [n, function () { for (var e = 0; e < r.length; e++) r[e].call(n); }]; } }(e, r); } }; }; }
function _applyDecs2203R(e, t, r) { return (_applyDecs2203R = applyDecs2203RFactory())(e, t, r); }
const {
assignConstructor,
options,
required
} = require("../../helpers.cjs");
let _Cache;
_dec = assignConstructor();
_dec2 = options("key", "loader", "ttl");
_dec3 = required("key");
_dec4 = options("key", "value", "ttl");
_dec5 = required("key", "value");
_dec6 = options("key");
_dec7 = required("key");
class Cache {
static {
({
e: [_init_get, _init_put, _init_remove],
c: [_Cache, _initClass]
} = _applyDecs2203R(this, [[[_dec2, _dec3], 0, "get"], [[_dec4, _dec5], 0, "put"], [[_dec6, _dec7], 0, "remove"]], [_dec]));
}
name;
scope;
values = {};
get = _init_get(this, options => {
if (!(options.key in this.values) && options.loader) {
const value = options.loader();
this.put(options.key, value);
}
return options.key in this.values ? this.values[options.key] : null;
});
put = _init_put(this, options => {
this.values[options.key] = typeof options.value === "string" ? options.value : JSON.stringify(options.value);
});
remove = _init_remove(this, options => {
delete this.values[options.key];
});
static {
_initClass();
}
}
module.exports = _Cache;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NpZ25Db25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJyZXF1aXJlZCIsInJlcXVpcmUiLCJfQ2FjaGUiLCJfZGVjIiwiX2RlYzIiLCJfZGVjMyIsIl9kZWM0IiwiX2RlYzUiLCJfZGVjNiIsIl9kZWM3IiwiQ2FjaGUiLCJlIiwiX2luaXRfZ2V0IiwiX2luaXRfcHV0IiwiX2luaXRfcmVtb3ZlIiwiYyIsIl9pbml0Q2xhc3MiLCJfYXBwbHlEZWNzMjIwM1IiLCJuYW1lIiwic2NvcGUiLCJ2YWx1ZXMiLCJnZXQiLCJrZXkiLCJsb2FkZXIiLCJ2YWx1ZSIsInB1dCIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZW1vdmUiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vY2tzL2NhY2hlL0NhY2hlLmNqcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IGFzc2lnbkNvbnN0cnVjdG9yLCBvcHRpb25zLCByZXF1aXJlZCB9ID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMuY2pzXCIpO1xuXG5AYXNzaWduQ29uc3RydWN0b3IoKVxuY2xhc3MgQ2FjaGUge1xuXHRuYW1lO1xuXHRzY29wZTtcblxuXHR2YWx1ZXMgPSB7fTtcblxuXHRAb3B0aW9ucyhcImtleVwiLCBcImxvYWRlclwiLCBcInR0bFwiKVxuXHRAcmVxdWlyZWQoXCJrZXlcIilcblx0Z2V0ID0gKG9wdGlvbnMpID0+IHtcblx0XHRpZiAoIShvcHRpb25zLmtleSBpbiB0aGlzLnZhbHVlcykgJiYgb3B0aW9ucy5sb2FkZXIpIHtcblx0XHRcdGNvbnN0IHZhbHVlID0gb3B0aW9ucy5sb2FkZXIoKTtcblx0XHRcdHRoaXMucHV0KG9wdGlvbnMua2V5LCB2YWx1ZSk7XG5cdFx0fVxuXHRcdHJldHVybiBvcHRpb25zLmtleSBpbiB0aGlzLnZhbHVlcyA/IHRoaXMudmFsdWVzW29wdGlvbnMua2V5XSA6IG51bGw7XG5cdH07XG5cblx0QG9wdGlvbnMoXCJrZXlcIiwgXCJ2YWx1ZVwiLCBcInR0bFwiKVxuXHRAcmVxdWlyZWQoXCJrZXlcIiwgXCJ2YWx1ZVwiKVxuXHRwdXQgPSAob3B0aW9ucykgPT4ge1xuXHRcdHRoaXMudmFsdWVzW29wdGlvbnMua2V5XSA9IHR5cGVvZiBvcHRpb25zLnZhbHVlID09PSBcInN0cmluZ1wiID8gb3B0aW9ucy52YWx1ZSA6IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMudmFsdWUpO1xuXHR9O1xuXG5cdEBvcHRpb25zKFwia2V5XCIpXG5cdEByZXF1aXJlZChcImtleVwiKVxuXHRyZW1vdmUgPSAob3B0aW9ucykgPT4ge1xuXHRcdGRlbGV0ZSB0aGlzLnZhbHVlc1tvcHRpb25zLmtleV07XG5cdH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ2FjaGU7XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU07RUFBRUEsaUJBQWlCO0VBQUVDLE9BQU87RUFBRUM7QUFBUyxDQUFDLEdBQUdDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztBQUFDLElBQUFDLE1BQUE7QUFBQUMsSUFBQSxHQUU3RUwsaUJBQWlCLENBQUMsQ0FBQztBQUFBTSxLQUFBLEdBT2xCTCxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUM7QUFBQU0sS0FBQSxHQUMvQkwsUUFBUSxDQUFDLEtBQUssQ0FBQztBQUFBTSxLQUFBLEdBU2ZQLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztBQUFBUSxLQUFBLEdBQzlCUCxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztBQUFBUSxLQUFBLEdBS3hCVCxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQUFVLEtBQUEsR0FDZFQsUUFBUSxDQUFDLEtBQUssQ0FBQztBQXhCakIsTUFBQVUsS0FBQSxDQUNZO0VBQUE7SUFBQTtNQUFBQyxDQUFBLEdBQUFDLFNBQUEsRUFBQUMsU0FBQSxFQUFBQyxZQUFBO01BQUFDLENBQUEsR0FBQWIsTUFBQSxFQUFBYyxVQUFBO0lBQUEsSUFBQUMsZUFBQSxVQUFBYixLQUFBLEVBQUFDLEtBQUEsZ0JBQUFDLEtBQUEsRUFBQUMsS0FBQSxnQkFBQUMsS0FBQSxFQUFBQyxLQUFBLG1CQUFBTixJQUFBO0VBQUE7RUFDWGUsSUFBSTtFQUNKQyxLQUFLO0VBRUxDLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFJWEMsR0FBRyxHQUFBVCxTQUFBLE9BQUliLE9BQU8sSUFBSztJQUNsQixJQUFJLEVBQUVBLE9BQU8sQ0FBQ3VCLEdBQUcsSUFBSSxJQUFJLENBQUNGLE1BQU0sQ0FBQyxJQUFJckIsT0FBTyxDQUFDd0IsTUFBTSxFQUFFO01BQ3BELE1BQU1DLEtBQUssR0FBR3pCLE9BQU8sQ0FBQ3dCLE1BQU0sQ0FBQyxDQUFDO01BQzlCLElBQUksQ0FBQ0UsR0FBRyxDQUFDMUIsT0FBTyxDQUFDdUIsR0FBRyxFQUFFRSxLQUFLLENBQUM7SUFDN0I7SUFDQSxPQUFPekIsT0FBTyxDQUFDdUIsR0FBRyxJQUFJLElBQUksQ0FBQ0YsTUFBTSxHQUFHLElBQUksQ0FBQ0EsTUFBTSxDQUFDckIsT0FBTyxDQUFDdUIsR0FBRyxDQUFDLEdBQUcsSUFBSTtFQUNwRSxDQUFDO0VBSURHLEdBQUcsR0FBQVosU0FBQSxPQUFJZCxPQUFPLElBQUs7SUFDbEIsSUFBSSxDQUFDcUIsTUFBTSxDQUFDckIsT0FBTyxDQUFDdUIsR0FBRyxDQUFDLEdBQUcsT0FBT3ZCLE9BQU8sQ0FBQ3lCLEtBQUssS0FBSyxRQUFRLEdBQUd6QixPQUFPLENBQUN5QixLQUFLLEdBQUdFLElBQUksQ0FBQ0MsU0FBUyxDQUFDNUIsT0FBTyxDQUFDeUIsS0FBSyxDQUFDO0VBQzdHLENBQUM7RUFJREksTUFBTSxHQUFBZCxZQUFBLE9BQUlmLE9BQU8sSUFBSztJQUNyQixPQUFPLElBQUksQ0FBQ3FCLE1BQU0sQ0FBQ3JCLE9BQU8sQ0FBQ3VCLEdBQUcsQ0FBQztFQUNoQyxDQUFDO0VBQUM7SUFBQU4sVUFBQTtFQUFBO0FBQ0g7QUFFQWEsTUFBTSxDQUFDQyxPQUFPLEdBQUdwQixNQUFLIiwiaWdub3JlTGlzdCI6W119