ConfigMacrosConfiguration.js 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. "use strict";
  2. var __values = (this && this.__values) || function(o) {
  3. var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
  4. if (m) return m.call(o);
  5. if (o && typeof o.length === "number") return {
  6. next: function () {
  7. if (o && i >= o.length) o = void 0;
  8. return { value: o && o[i++], done: !o };
  9. }
  10. };
  11. throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
  12. };
  13. var __importDefault = (this && this.__importDefault) || function (mod) {
  14. return (mod && mod.__esModule) ? mod : { "default": mod };
  15. };
  16. var _a;
  17. Object.defineProperty(exports, "__esModule", { value: true });
  18. exports.ConfigMacrosConfiguration = void 0;
  19. var Configuration_js_1 = require("../Configuration.js");
  20. var Options_js_1 = require("../../../util/Options.js");
  21. var SymbolMap_js_1 = require("../SymbolMap.js");
  22. var ParseMethods_js_1 = __importDefault(require("../ParseMethods.js"));
  23. var Symbol_js_1 = require("../Symbol.js");
  24. var NewcommandMethods_js_1 = __importDefault(require("../newcommand/NewcommandMethods.js"));
  25. var NewcommandItems_js_1 = require("../newcommand/NewcommandItems.js");
  26. var MACROSMAP = 'configmacros-map';
  27. var ENVIRONMENTMAP = 'configmacros-env-map';
  28. function configmacrosInit(config) {
  29. new SymbolMap_js_1.CommandMap(MACROSMAP, {}, {});
  30. new SymbolMap_js_1.EnvironmentMap(ENVIRONMENTMAP, ParseMethods_js_1.default.environment, {}, {});
  31. config.append(Configuration_js_1.Configuration.local({
  32. handler: {
  33. macro: [MACROSMAP],
  34. environment: [ENVIRONMENTMAP]
  35. },
  36. priority: 3
  37. }));
  38. }
  39. function configmacrosConfig(_config, jax) {
  40. configMacros(jax);
  41. configEnvironments(jax);
  42. }
  43. function configMacros(jax) {
  44. var e_1, _a;
  45. var handler = jax.parseOptions.handlers.retrieve(MACROSMAP);
  46. var macros = jax.parseOptions.options.macros;
  47. try {
  48. for (var _b = __values(Object.keys(macros)), _c = _b.next(); !_c.done; _c = _b.next()) {
  49. var cs = _c.value;
  50. var def = (typeof macros[cs] === 'string' ? [macros[cs]] : macros[cs]);
  51. var macro = Array.isArray(def[2]) ?
  52. new Symbol_js_1.Macro(cs, NewcommandMethods_js_1.default.MacroWithTemplate, def.slice(0, 2).concat(def[2])) :
  53. new Symbol_js_1.Macro(cs, NewcommandMethods_js_1.default.Macro, def);
  54. handler.add(cs, macro);
  55. }
  56. }
  57. catch (e_1_1) { e_1 = { error: e_1_1 }; }
  58. finally {
  59. try {
  60. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  61. }
  62. finally { if (e_1) throw e_1.error; }
  63. }
  64. }
  65. function configEnvironments(jax) {
  66. var e_2, _a;
  67. var handler = jax.parseOptions.handlers.retrieve(ENVIRONMENTMAP);
  68. var environments = jax.parseOptions.options.environments;
  69. try {
  70. for (var _b = __values(Object.keys(environments)), _c = _b.next(); !_c.done; _c = _b.next()) {
  71. var env = _c.value;
  72. handler.add(env, new Symbol_js_1.Macro(env, NewcommandMethods_js_1.default.BeginEnv, [true].concat(environments[env])));
  73. }
  74. }
  75. catch (e_2_1) { e_2 = { error: e_2_1 }; }
  76. finally {
  77. try {
  78. if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
  79. }
  80. finally { if (e_2) throw e_2.error; }
  81. }
  82. }
  83. exports.ConfigMacrosConfiguration = Configuration_js_1.Configuration.create('configmacros', {
  84. init: configmacrosInit,
  85. config: configmacrosConfig,
  86. items: (_a = {},
  87. _a[NewcommandItems_js_1.BeginEnvItem.prototype.kind] = NewcommandItems_js_1.BeginEnvItem,
  88. _a),
  89. options: {
  90. macros: (0, Options_js_1.expandable)({}),
  91. environments: (0, Options_js_1.expandable)({})
  92. }
  93. });
  94. //# sourceMappingURL=ConfigMacrosConfiguration.js.map