UNPKG

@walletpack/core

Version:

> TODO: description

71 lines (63 loc) 1.93 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var Locale = /*#__PURE__*/ function () { function Locale() { (0, _classCallCheck2["default"])(this, Locale); this.raw = null; this.name = null; this.methods = {}; this.locales = {}; } (0, _createClass2["default"])(Locale, [{ key: "parsed", value: function parsed() { return Locale.fromRaw(JSON.parse(this.raw)); } }], [{ key: "placeholder", value: function placeholder() { return new Locale(); } }, { key: "fromJson", value: function fromJson(json) { return Object.assign(this.placeholder(), json); } }, { key: "fromRaw", value: function fromRaw(raw) { if (!raw) return this.placeholder(); var p = this.placeholder(); p.raw = raw; p.name = raw.name; raw.methods.map(function (x) { p.methods[x.name] = new Function(x.args, x.body); }); Object.keys(raw.locales).map(function (key) { p.locales[key] = function (x) { var parseString = function parseString(s) { s = s.replace('{x}', x); Object.keys(p.methods).map(function (method) { return s = s.replace("{".concat(method, "}"), p.methods[method](x)); }); return s; }; if (typeof raw.locales[key] === 'string') return parseString(raw.locales[key]);else return raw.locales[key].map(function (x) { return parseString(x); }); }; }); return p; } }]); return Locale; }(); exports["default"] = Locale;