questmark 0.0.31 → 0.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bin/questmark.mjs +1 -1
  2. package/dist/{cjs → browser}/QuestVM.d.ts +0 -0
  3. package/dist/{cjs → browser}/QuestVM.js +1 -0
  4. package/dist/browser/QuestVM.js.map +1 -0
  5. package/dist/{cjs → browser}/cli.d.ts +0 -0
  6. package/dist/{cjs → browser}/cli.js +9 -5
  7. package/dist/browser/cli.js.map +1 -0
  8. package/dist/{cjs → browser}/index.d.ts +0 -0
  9. package/dist/{cjs → browser}/index.js +1 -0
  10. package/dist/browser/index.js.map +1 -0
  11. package/dist/{cjs → browser}/parseMarkdown.d.ts +0 -0
  12. package/dist/{cjs → browser}/parseMarkdown.js +1 -0
  13. package/dist/browser/parseMarkdown.js.map +1 -0
  14. package/dist/{mjs → node}/QuestVM.d.ts +0 -0
  15. package/dist/node/QuestVM.js +89 -0
  16. package/dist/node/QuestVM.js.map +1 -0
  17. package/dist/{mjs → node}/cli.d.ts +0 -0
  18. package/dist/node/cli.js +80 -0
  19. package/dist/node/cli.js.map +1 -0
  20. package/dist/{mjs → node}/index.d.ts +0 -0
  21. package/dist/node/index.js +15 -0
  22. package/dist/node/index.js.map +1 -0
  23. package/dist/{mjs → node}/parseMarkdown.d.ts +0 -0
  24. package/dist/{mjs → node}/parseMarkdown.js +72 -64
  25. package/dist/node/parseMarkdown.js.map +1 -0
  26. package/package.json +9 -10
  27. package/tsconfig-browser.json +9 -0
  28. package/tsconfig.json +25 -5
  29. package/cjs_package.json +0 -3
  30. package/dist/cjs/package.json +0 -3
  31. package/dist/mjs/QuestVM.js +0 -87
  32. package/dist/mjs/cli.js +0 -60
  33. package/dist/mjs/index.js +0 -2
  34. package/dist/mjs/package.json +0 -3
  35. package/mjs_package.json +0 -3
  36. package/tsconfig-base.json +0 -34
  37. package/tsconfig-cjs.json +0 -8
package/bin/questmark.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import '../dist/mjs/cli.js';
3
+ import '../dist/node/cli.js';
File without changes
@@ -86,3 +86,4 @@ class QuestVM extends tzo_1.VM {
86
86
  }
87
87
  }
88
88
  exports.QuestVM = QuestVM;
89
+ //# sourceMappingURL=QuestVM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestVM.js","sourceRoot":"","sources":["../../src/QuestVM.ts"],"names":[],"mappings":"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"}
File without changes
@@ -15,8 +15,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  const fs_1 = __importDefault(require("fs"));
17
17
  const commander_1 = __importDefault(require("commander"));
18
- const parseMarkdown_js_1 = require("./parseMarkdown.js");
19
- const QuestVM_js_1 = require("./QuestVM.js");
18
+ const parseMarkdown_1 = require("./parseMarkdown");
19
+ const QuestVM_1 = require("./QuestVM");
20
20
  const inquirer_1 = __importDefault(require("inquirer"));
21
21
  const node_fetch_1 = __importDefault(require("node-fetch"));
22
22
  commander_1.default
@@ -46,7 +46,7 @@ function load() {
46
46
  }
47
47
  (() => __awaiter(void 0, void 0, void 0, function* () {
48
48
  const input_file = yield load();
49
- const vm = new QuestVM_js_1.QuestVM(body => {
49
+ const vm = new QuestVM_1.QuestVM(body => {
50
50
  process.stdout.write(`${body}`);
51
51
  }, (choices) => {
52
52
  process.stdout.write("\n"); // add newline to make inquirer not overwrie any previously emitted text
@@ -63,8 +63,11 @@ function load() {
63
63
  if (commander_1.default.input.endsWith(".json")) {
64
64
  vmState = JSON.parse(input_file);
65
65
  }
66
- else if (commander_1.default.input.endsWith(".md")) {
67
- vmState = parseMarkdown_js_1.parseMarkdown(input_file).qvmState;
66
+ else if (commander_1.default.input.endsWith(".qmd") || commander_1.default.input.endsWith(".qmd.html") || commander_1.default.input.endsWith(".md") || commander_1.default.input.endsWith(".md.html")) {
67
+ vmState = parseMarkdown_1.parseMarkdown(input_file).qvmState;
68
+ }
69
+ else {
70
+ throw new Error("Program input file needs to have .json or .qmd / .qmd.html / .md / .md.html extension!");
68
71
  }
69
72
  if (commander_1.default.output) {
70
73
  fs_1.default.writeFileSync(commander_1.default.output, JSON.stringify(vmState, null, 2));
@@ -74,3 +77,4 @@ function load() {
74
77
  vm.run();
75
78
  }
76
79
  }))();
80
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
File without changes
@@ -12,3 +12,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./QuestVM"), exports);
14
14
  __exportStar(require("./parseMarkdown"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,kDAAgC"}
File without changes
@@ -347,3 +347,4 @@ function parseMarkdown(file_contents) {
347
347
  };
348
348
  }
349
349
  exports.parseMarkdown = parseMarkdown;
350
+ //# sourceMappingURL=parseMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMarkdown.js","sourceRoot":"","sources":["../../src/parseMarkdown.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuestVM = void 0;
4
+ const events_1 = require("events");
5
+ const tzo_1 = require("tzo");
6
+ class QuestVM extends tzo_1.VM {
7
+ constructor(emitFunction, getResponseFunction, additionalFunctions) {
8
+ super({}, Object.assign(Object.assign({}, (additionalFunctions || {})), {
9
+ "emit": (stack) => {
10
+ const [str1] = tzo_1.getStackParams("emit", ["string | number"], stack);
11
+ this.eventBus.emit('emit', str1);
12
+ emitFunction(str1);
13
+ },
14
+ "response": (stack, context, vm) => {
15
+ const [num1, str1] = tzo_1.getStackParams("response", ["number", "string"], stack);
16
+ const response = { response: str1, pc: num1 };
17
+ this.eventBus.emit('response', response);
18
+ this.responses.push(response);
19
+ },
20
+ "getResponse": (stack, context, vm) => {
21
+ vm.suspend();
22
+ const choices = this.responses.map((resp, index) => { return { title: resp.response, programCounter: resp.pc, id: index }; });
23
+ const sChoices = choices.map(c => ({ title: c.title, id: c.id }));
24
+ while (this.responses.length > 0) { // clear responses, so that current responses won't appear again next time
25
+ this.responses.pop();
26
+ }
27
+ getResponseFunction(sChoices).then(choiceID => {
28
+ const choice = choices.find(c => c.id === choiceID);
29
+ if (choice === undefined) {
30
+ throw new Error(`Unknown choice ID: ${choiceID}!`);
31
+ }
32
+ vm.stack.push(choice.programCounter);
33
+ vm.run();
34
+ }).catch(e => {
35
+ this.eventBus.emit('error', e);
36
+ this.quit();
37
+ });
38
+ },
39
+ "optionEnabled": (stack, context, vm) => {
40
+ // DEPRECATED - do not use!
41
+ console.warn("optionEnabled opcode is deprecated! - do not use!");
42
+ const [str1] = tzo_1.getStackParams("optionEnabled", ["string"], stack);
43
+ const optstr = `optionEnabled_${str1}`;
44
+ let retval = null;
45
+ if (vm.context[optstr] === undefined) {
46
+ vm.context[optstr] = 1;
47
+ retval = 1;
48
+ }
49
+ else {
50
+ retval = vm.context[optstr];
51
+ }
52
+ stack.push(retval);
53
+ },
54
+ "optionDisabled": (stack, context, vm) => {
55
+ // DEPRECATED - do not use!
56
+ console.warn("optionDisabled opcode is deprecated! - do not use!");
57
+ const [str1] = tzo_1.getStackParams("optionDisabled", ["string"], stack);
58
+ const optstr = `optionEnabled_${str1}`;
59
+ let retval = null;
60
+ if (vm.context[optstr] === undefined) {
61
+ vm.context[optstr] = 1;
62
+ retval = 0;
63
+ }
64
+ else {
65
+ retval = vm.context[optstr] === 1 ? 0 : 1;
66
+ }
67
+ stack.push(retval);
68
+ },
69
+ "disableOption": (stack, context, vm) => {
70
+ // DEPRECATED - do not use!
71
+ console.warn("disableOption opcode is deprecated! - do not use!");
72
+ const [str1] = tzo_1.getStackParams("disableOption", ["string"], stack);
73
+ const optstr = `optionEnabled_${str1}`;
74
+ vm.context[optstr] = 0;
75
+ },
76
+ "enableOption": (stack, context, vm) => {
77
+ // DEPRECATED - do not use!
78
+ console.warn("enableOption opcode is deprecated! - do not use!");
79
+ const [str1] = tzo_1.getStackParams("enableOption", ["string"], stack);
80
+ const optstr = `optionEnabled_${str1}`;
81
+ vm.context[optstr] = 1;
82
+ },
83
+ }));
84
+ this.responses = [];
85
+ this.eventBus = new events_1.EventEmitter();
86
+ }
87
+ }
88
+ exports.QuestVM = QuestVM;
89
+ //# sourceMappingURL=QuestVM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuestVM.js","sourceRoot":"","sources":["../../src/QuestVM.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const fs_1 = __importDefault(require("fs"));
17
+ const commander_1 = __importDefault(require("commander"));
18
+ const parseMarkdown_1 = require("./parseMarkdown");
19
+ const QuestVM_1 = require("./QuestVM");
20
+ const inquirer_1 = __importDefault(require("inquirer"));
21
+ const node_fetch_1 = __importDefault(require("node-fetch"));
22
+ commander_1.default
23
+ .version('0.0.12')
24
+ .option('-c, --clear', 'Clear console on each state')
25
+ .option('--input <path>', "Load source .md or .json file from path. Path can be either from local filesystem, or via HTTP(S) URL")
26
+ .option('--output <path>', "Emit VMState .json file")
27
+ .option('--no-run', "Do not actually load and run the VM; just parse input and (optionally) emit output")
28
+ .parse(process.argv);
29
+ if (!commander_1.default.input) {
30
+ console.log("Missing input! Please specify an input file via --input");
31
+ process.exit(1);
32
+ }
33
+ function load() {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ let input_file;
36
+ if (commander_1.default.input.startsWith("http://") || commander_1.default.input.startsWith("https://")) {
37
+ const res = yield node_fetch_1.default(commander_1.default.input);
38
+ input_file = yield res.text();
39
+ }
40
+ else {
41
+ const input_file_buf = yield fs_1.default.promises.readFile(commander_1.default.input);
42
+ input_file = input_file_buf.toString();
43
+ }
44
+ return input_file;
45
+ });
46
+ }
47
+ (() => __awaiter(void 0, void 0, void 0, function* () {
48
+ const input_file = yield load();
49
+ const vm = new QuestVM_1.QuestVM(body => {
50
+ process.stdout.write(`${body}`);
51
+ }, (choices) => {
52
+ process.stdout.write("\n"); // add newline to make inquirer not overwrie any previously emitted text
53
+ return inquirer_1.default.prompt([{
54
+ type: "list",
55
+ name: "selectedChoice",
56
+ message: " ",
57
+ choices: choices.map(c => ({ name: c.title, value: c.id }))
58
+ }]).then(answers => {
59
+ return answers.selectedChoice;
60
+ });
61
+ }, {});
62
+ let vmState = undefined;
63
+ if (commander_1.default.input.endsWith(".json")) {
64
+ vmState = JSON.parse(input_file);
65
+ }
66
+ else if (commander_1.default.input.endsWith(".qmd") || commander_1.default.input.endsWith(".qmd.html") || commander_1.default.input.endsWith(".md") || commander_1.default.input.endsWith(".md.html")) {
67
+ vmState = parseMarkdown_1.parseMarkdown(input_file).qvmState;
68
+ }
69
+ else {
70
+ throw new Error("Program input file needs to have .json or .qmd / .qmd.html / .md / .md.html extension!");
71
+ }
72
+ if (commander_1.default.output) {
73
+ fs_1.default.writeFileSync(commander_1.default.output, JSON.stringify(vmState, null, 2));
74
+ }
75
+ if (commander_1.default.run) {
76
+ vm.loadVMState(vmState);
77
+ vm.run();
78
+ }
79
+ }))();
80
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./QuestVM"), exports);
14
+ __exportStar(require("./parseMarkdown"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,kDAAgC"}
File without changes
@@ -1,38 +1,44 @@
1
- import fromMarkdown from "mdast-util-from-markdown";
2
- import findAfter from "unist-util-find-after";
3
- import removePosition from "unist-util-remove-position";
4
- import findAllAfter from "unist-util-find-all-after";
5
- import findAllBetween from "unist-util-find-all-between";
6
- import visitParents from "unist-util-visit-parents";
7
- import visit from "unist-util-visit";
8
- import u from "unist-builder";
9
- import 'array-flat-polyfill';
10
- import { Tokenizer, pushString, pushNumber, invokeFunction } from "tzo";
11
- export var NoLinkBehaviour;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseMarkdown = exports.NoLinkBehaviour = void 0;
7
+ const mdast_util_from_markdown_1 = __importDefault(require("mdast-util-from-markdown"));
8
+ const unist_util_find_after_1 = __importDefault(require("unist-util-find-after"));
9
+ const unist_util_remove_position_1 = __importDefault(require("unist-util-remove-position"));
10
+ const unist_util_find_all_after_1 = __importDefault(require("unist-util-find-all-after"));
11
+ const unist_util_find_all_between_1 = __importDefault(require("unist-util-find-all-between"));
12
+ const unist_util_visit_parents_1 = __importDefault(require("unist-util-visit-parents"));
13
+ const unist_util_visit_1 = __importDefault(require("unist-util-visit"));
14
+ const unist_builder_1 = __importDefault(require("unist-builder"));
15
+ require("array-flat-polyfill");
16
+ const tzo_1 = require("tzo");
17
+ var NoLinkBehaviour;
12
18
  (function (NoLinkBehaviour) {
13
19
  NoLinkBehaviour[NoLinkBehaviour["EXIT"] = 0] = "EXIT";
14
20
  NoLinkBehaviour[NoLinkBehaviour["LOOPBACK_TO_OPTIONS"] = 1] = "LOOPBACK_TO_OPTIONS"; // DEFAULT: Loopback to the options section if no link is found for an option and an option does not explicitly call an `exit` or `goto` effect.
15
- })(NoLinkBehaviour || (NoLinkBehaviour = {}));
16
- export function parseMarkdown(file_contents) {
17
- const tree = fromMarkdown(file_contents);
18
- const tokenizer = new Tokenizer();
19
- const root = u('questmarkDocument', { options: {} }, []);
21
+ })(NoLinkBehaviour = exports.NoLinkBehaviour || (exports.NoLinkBehaviour = {}));
22
+ function parseMarkdown(file_contents) {
23
+ const tree = mdast_util_from_markdown_1.default(file_contents);
24
+ const tokenizer = new tzo_1.Tokenizer();
25
+ const root = unist_builder_1.default('questmarkDocument', { options: {} }, []);
20
26
  let last_once_directive_nr = 0;
21
27
  let noLinkBehaviour = NoLinkBehaviour.LOOPBACK_TO_OPTIONS;
22
28
  let retainWhitespace = false;
23
- visitParents(tree, 'heading', (x, ancestors) => {
29
+ unist_util_visit_parents_1.default(tree, 'heading', (x, ancestors) => {
24
30
  if (ancestors.length > 1) {
25
31
  return;
26
32
  }
27
33
  // capture name
28
34
  let name = "";
29
- visitParents(x, 'text', t => {
35
+ unist_util_visit_parents_1.default(x, 'text', t => {
30
36
  name = `${name} ${t.value}`;
31
37
  });
32
38
  name = name.trim();
33
39
  // capture children belonging to this heading group
34
- const nextHeading = findAfter(tree, x, 'heading');
35
- const children = nextHeading !== null ? findAllBetween(tree, x, nextHeading) : findAllAfter(tree, x);
40
+ const nextHeading = unist_util_find_after_1.default(tree, x, 'heading');
41
+ const children = nextHeading !== null ? unist_util_find_all_between_1.default(tree, x, nextHeading) : unist_util_find_all_after_1.default(tree, x);
36
42
  if (name === "QUESTMARK-OPTIONS-HEADER") {
37
43
  root.options = getQuestmarkOptions(children);
38
44
  }
@@ -42,14 +48,14 @@ export function parseMarkdown(file_contents) {
42
48
  });
43
49
  function getQuestmarkOptions(children) {
44
50
  let code = '';
45
- visit(u('bla', children), 'code', n => {
51
+ unist_util_visit_1.default(unist_builder_1.default('bla', children), 'code', n => {
46
52
  code = `${code} ${n.value}`;
47
53
  });
48
54
  return JSON.parse(code.trim());
49
55
  }
50
56
  function createStateNode(name, children) {
51
57
  // create new state node
52
- const stateNode = u('state', { name, options: [] }, []);
58
+ const stateNode = unist_builder_1.default('state', { name, options: [] }, []);
53
59
  let found = false;
54
60
  let stateChildren = [];
55
61
  let remainingChildren = [];
@@ -88,13 +94,13 @@ export function parseMarkdown(file_contents) {
88
94
  const options = remainingChildren.map((li) => {
89
95
  // li's `link` / `text` children are the main links / options, but only the first item is considered (the others are effect nodes)
90
96
  // li's `inlineCode` children are either precondition or effect code blocks
91
- const optionNode = u("option", { preconditionChildren: null, effectChildren: null, text: null, link: null, directives: null });
97
+ const optionNode = unist_builder_1.default("option", { preconditionChildren: null, effectChildren: null, text: null, link: null, directives: null });
92
98
  let effectNodes = [];
93
99
  let preconditionNodes = [];
94
100
  let text = [];
95
101
  let link = [];
96
102
  let directives = [];
97
- visit(li, n => {
103
+ unist_util_visit_1.default(li, n => {
98
104
  if (text.length > 0 && n.type !== "paragraph") {
99
105
  if (n.type === "text" && n.value && n.value.trim().length === 0) {
100
106
  // whitespace only node!
@@ -149,7 +155,7 @@ export function parseMarkdown(file_contents) {
149
155
  stateNode.options = options;
150
156
  return stateNode;
151
157
  }
152
- const qvmState = u("questmarkVMState", {
158
+ const qvmState = unist_builder_1.default("questmarkVMState", {
153
159
  stack: [],
154
160
  context: {},
155
161
  programList: [],
@@ -188,18 +194,18 @@ export function parseMarkdown(file_contents) {
188
194
  if (node.options["initial-context"]) {
189
195
  Object.entries(node.options["initial-context"]).forEach(entry => {
190
196
  if (typeof entry[1] === "string") {
191
- q(pushString(entry[1]));
197
+ q(tzo_1.pushString(entry[1]));
192
198
  }
193
199
  else if (typeof entry[1] === "number") {
194
- q(pushNumber(entry[1]));
200
+ q(tzo_1.pushNumber(entry[1]));
195
201
  }
196
- q(pushString(entry[0]));
197
- q(invokeFunction("setContext"));
202
+ q(tzo_1.pushString(entry[0]));
203
+ q(tzo_1.invokeFunction("setContext"));
198
204
  });
199
205
  }
200
206
  if (node.options["initial-state"]) {
201
- q(pushString(node.options["initial-state"]));
202
- q(invokeFunction("goto"));
207
+ q(tzo_1.pushString(node.options["initial-state"]));
208
+ q(tzo_1.invokeFunction("goto"));
203
209
  }
204
210
  if (node.options["options"]) {
205
211
  if (node.options["options"]["no_link_behaviour"]) {
@@ -225,7 +231,7 @@ export function parseMarkdown(file_contents) {
225
231
  const nodeLabel = node.name;
226
232
  const nodeOptionsLabel = node.name + "__options";
227
233
  qvmState.labelMap[nodeLabel] = qvmState.programList.length;
228
- visit(node, visitorFunc); // parse children immediately, before we parse the node's options
234
+ unist_util_visit_1.default(node, visitorFunc); // parse children immediately, before we parse the node's options
229
235
  qvmState.labelMap[nodeOptionsLabel] = qvmState.programList.length; // add a label immediately after the node's options to be able to shortcut jump to in certain cases
230
236
  node.options.forEach(option => {
231
237
  let has_precondition = false;
@@ -237,10 +243,10 @@ export function parseMarkdown(file_contents) {
237
243
  last_once_directive_nr += 1;
238
244
  }
239
245
  if (has_once_directive) {
240
- q(pushString(once_directive_name));
241
- q(invokeFunction("hasContext"));
242
- q(invokeFunction("jz"));
243
- q(invokeFunction("{")); // once directive block start
246
+ q(tzo_1.pushString(once_directive_name));
247
+ q(tzo_1.invokeFunction("hasContext"));
248
+ q(tzo_1.invokeFunction("jz"));
249
+ q(tzo_1.invokeFunction("{")); // once directive block start
244
250
  }
245
251
  if (option.preconditionChildren !== null) {
246
252
  has_precondition = true;
@@ -254,25 +260,25 @@ export function parseMarkdown(file_contents) {
254
260
  });
255
261
  }
256
262
  if (has_precondition) {
257
- q(invokeFunction("jgz"));
258
- q(invokeFunction("{")); // precondition block start
263
+ q(tzo_1.invokeFunction("jgz"));
264
+ q(tzo_1.invokeFunction("{")); // precondition block start
259
265
  }
260
266
  if (option.text !== null) {
261
267
  if (option.text.includes("`")) {
262
268
  // TODO: support inlineCode in options. Can do via `concat`.
263
269
  console.warn("WARN: Option text contains a backtick. Inline code elements in option blocks is currently not supported!");
264
270
  }
265
- q(pushString(option.text));
271
+ q(tzo_1.pushString(option.text));
266
272
  }
267
- q(invokeFunction("ppc")); // push address of effect body to stack
268
- q(pushNumber(4));
269
- q(invokeFunction("+"));
270
- q(invokeFunction("{")); // effect body start
273
+ q(tzo_1.invokeFunction("ppc")); // push address of effect body to stack
274
+ q(tzo_1.pushNumber(4));
275
+ q(tzo_1.invokeFunction("+"));
276
+ q(tzo_1.invokeFunction("{")); // effect body start
271
277
  if (has_once_directive) {
272
278
  // set the once directive context variable immediatley
273
- q(pushNumber(1));
274
- q(pushString(once_directive_name));
275
- q(invokeFunction("setContext"));
279
+ q(tzo_1.pushNumber(1));
280
+ q(tzo_1.pushString(once_directive_name));
281
+ q(tzo_1.invokeFunction("setContext"));
276
282
  }
277
283
  if (option.effectChildren !== null) {
278
284
  option.effectChildren.forEach(child => {
@@ -286,35 +292,35 @@ export function parseMarkdown(file_contents) {
286
292
  tokenizer.parse(child.value).forEach(i => q(i));
287
293
  }
288
294
  else {
289
- q(pushString(fixText(child)));
290
- q(invokeFunction("emit"));
295
+ q(tzo_1.pushString(fixText(child)));
296
+ q(tzo_1.invokeFunction("emit"));
291
297
  }
292
298
  });
293
299
  }
294
300
  if (option.link !== null) {
295
- q(pushString(option.link.substr(1)));
296
- q(invokeFunction("goto"));
301
+ q(tzo_1.pushString(option.link.substr(1)));
302
+ q(tzo_1.invokeFunction("goto"));
297
303
  }
298
304
  if (noLinkBehaviour === NoLinkBehaviour.LOOPBACK_TO_OPTIONS) {
299
- q(pushString(nodeOptionsLabel)); // ensure that options with no link or "goto" effect loop back to the options
300
- q(invokeFunction("goto"));
305
+ q(tzo_1.pushString(nodeOptionsLabel)); // ensure that options with no link or "goto" effect loop back to the options
306
+ q(tzo_1.invokeFunction("goto"));
301
307
  }
302
308
  else if (noLinkBehaviour === NoLinkBehaviour.EXIT) {
303
- q(invokeFunction("exit")); // ensure that options with no effect or link cause the VM to exit
309
+ q(tzo_1.invokeFunction("exit")); // ensure that options with no effect or link cause the VM to exit
304
310
  }
305
- q(invokeFunction("}")); // effect body end
306
- q(invokeFunction("response"));
311
+ q(tzo_1.invokeFunction("}")); // effect body end
312
+ q(tzo_1.invokeFunction("response"));
307
313
  if (has_once_directive) {
308
314
  // when there was a once directive, ensure we close its block
309
- q(invokeFunction("}")); // once directive block end
315
+ q(tzo_1.invokeFunction("}")); // once directive block end
310
316
  }
311
317
  if (has_precondition) {
312
318
  // when there was a precondition, ensure we close the precondition block
313
- q(invokeFunction("}")); // precondition block end
319
+ q(tzo_1.invokeFunction("}")); // precondition block end
314
320
  }
315
321
  });
316
- q(invokeFunction("getResponse")); // getResponse is expected to pause the VM and push the relevant programlist index onto the stack
317
- q(invokeFunction("goto")); // goto whatever was pushed onto the stack by getResponse
322
+ q(tzo_1.invokeFunction("getResponse")); // getResponse is expected to pause the VM and push the relevant programlist index onto the stack
323
+ q(tzo_1.invokeFunction("goto")); // goto whatever was pushed onto the stack by getResponse
318
324
  return "skip";
319
325
  // children have been parsed earlier
320
326
  break;
@@ -326,17 +332,19 @@ export function parseMarkdown(file_contents) {
326
332
  tokenizer.parse(node.value).forEach(i => q(i));
327
333
  break;
328
334
  case "text":
329
- q(pushString(fixText(node)));
330
- q(invokeFunction("emit"));
335
+ q(tzo_1.pushString(fixText(node)));
336
+ q(tzo_1.invokeFunction("emit"));
331
337
  break;
332
338
  default:
333
339
  break;
334
340
  }
335
341
  };
336
- visit(root, visitorFunc);
337
- q(invokeFunction("exit")); // ensure we always exit at the end
342
+ unist_util_visit_1.default(root, visitorFunc);
343
+ q(tzo_1.invokeFunction("exit")); // ensure we always exit at the end
338
344
  return {
339
- parsedMDFile: removePosition(root, true),
345
+ parsedMDFile: unist_util_remove_position_1.default(root, true),
340
346
  qvmState
341
347
  };
342
348
  }
349
+ exports.parseMarkdown = parseMarkdown;
350
+ //# sourceMappingURL=parseMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseMarkdown.js","sourceRoot":"","sources":["../../src/parseMarkdown.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,21 +1,20 @@
1
1
  {
2
2
  "name": "questmark",
3
- "version": "0.0.31",
3
+ "version": "0.0.35",
4
4
  "description": "",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/mjs/index.js",
5
+ "main": "dist/node/index.js",
6
+ "types": "dist/node/index.d.js",
7
7
  "exports": {
8
8
  ".": {
9
- "import": "./dist/mjs/index.js",
10
- "require": "./dist/cjs/index.js"
9
+ "import": "./dist/node/index.js",
10
+ "require": "./dist/browser/index.js"
11
11
  }
12
12
  },
13
- "types": "dist/mjs/index.d.ts",
14
13
  "scripts": {
15
14
  "prepublishOnly": "npm run build",
16
- "build": "npx cross-env rm -rf dist/ && tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && cp cjs_package.json dist/cjs/package.json && cp mjs_package.json dist/mjs/package.json",
15
+ "build": "npx cross-env rm -rf dist/ && tsc -p tsconfig.json && tsc -p tsconfig-browser.json",
17
16
  "test": "echo \"Error: no test specified\" && exit 1",
18
- "start": "npm run build ; node ./dist/cjs/cli.js"
17
+ "start": "ts-node ./src/cli"
19
18
  },
20
19
  "bin": {
21
20
  "questmark": "./bin/questmark.mjs"
@@ -24,12 +23,12 @@
24
23
  "license": "MIT",
25
24
  "dependencies": {
26
25
  "array-flat-polyfill": "^1.0.1",
27
- "commander": "^2.19.0",
26
+ "commander": "^6.1.0",
28
27
  "inquirer": "^6.2.0",
29
28
  "mdast": "^3.0.0",
30
29
  "mdast-util-from-markdown": "^0.1.1",
31
30
  "node-fetch": "^2.6.5",
32
- "tzo": "^1.0.15",
31
+ "tzo": "^1.0.19",
33
32
  "unist-builder": "^2.0.3",
34
33
  "unist-util-filter": "^2.0.2",
35
34
  "unist-util-find-after": "^3.0.0",
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "commonjs",
5
+ "declarationDir": "./dist/browser",
6
+ "outDir": "./dist/browser",
7
+ "target": "es2015"
8
+ }
9
+ }
package/tsconfig.json CHANGED
@@ -1,8 +1,28 @@
1
1
  {
2
- "extends": "./tsconfig-base.json",
3
2
  "compilerOptions": {
4
- "module": "esnext",
5
- "outDir": "dist/mjs",
6
- "target": "esnext"
7
- }
3
+ "moduleResolution": "node",
4
+ "target": "es6",
5
+ "module": "commonjs",
6
+ "lib": [
7
+ "esnext"
8
+ ],
9
+ "strict": false,
10
+ "sourceMap": true,
11
+ "declaration": true,
12
+ "esModuleInterop": true,
13
+ "allowSyntheticDefaultImports": true,
14
+ "allowJs": true,
15
+ "experimentalDecorators": true,
16
+ "emitDecoratorMetadata": true,
17
+ "declarationDir": "./dist/node",
18
+ "outDir": "./dist/node",
19
+ "rootDir": "./src",
20
+ "typeRoots": [
21
+ "node_modules/@types"
22
+ ]
23
+ },
24
+ "exclude": [
25
+ "dist",
26
+ "node_modules"
27
+ ]
8
28
  }
package/cjs_package.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,87 +0,0 @@
1
- import { EventEmitter } from "events";
2
- import { VM, getStackParams } from "tzo";
3
- export class QuestVM extends VM {
4
- constructor(emitFunction, getResponseFunction, additionalFunctions) {
5
- super({}, {
6
- ...(additionalFunctions || {}),
7
- ...{
8
- "emit": (stack) => {
9
- const [str1] = getStackParams("emit", ["string | number"], stack);
10
- this.eventBus.emit('emit', str1);
11
- emitFunction(str1);
12
- },
13
- "response": (stack, context, vm) => {
14
- const [num1, str1] = getStackParams("response", ["number", "string"], stack);
15
- const response = { response: str1, pc: num1 };
16
- this.eventBus.emit('response', response);
17
- this.responses.push(response);
18
- },
19
- "getResponse": (stack, context, vm) => {
20
- vm.suspend();
21
- const choices = this.responses.map((resp, index) => { return { title: resp.response, programCounter: resp.pc, id: index }; });
22
- const sChoices = choices.map(c => ({ title: c.title, id: c.id }));
23
- while (this.responses.length > 0) { // clear responses, so that current responses won't appear again next time
24
- this.responses.pop();
25
- }
26
- getResponseFunction(sChoices).then(choiceID => {
27
- const choice = choices.find(c => c.id === choiceID);
28
- if (choice === undefined) {
29
- throw new Error(`Unknown choice ID: ${choiceID}!`);
30
- }
31
- vm.stack.push(choice.programCounter);
32
- vm.run();
33
- }).catch(e => {
34
- this.eventBus.emit('error', e);
35
- this.quit();
36
- });
37
- },
38
- "optionEnabled": (stack, context, vm) => {
39
- // DEPRECATED - do not use!
40
- console.warn("optionEnabled opcode is deprecated! - do not use!");
41
- const [str1] = getStackParams("optionEnabled", ["string"], stack);
42
- const optstr = `optionEnabled_${str1}`;
43
- let retval = null;
44
- if (vm.context[optstr] === undefined) {
45
- vm.context[optstr] = 1;
46
- retval = 1;
47
- }
48
- else {
49
- retval = vm.context[optstr];
50
- }
51
- stack.push(retval);
52
- },
53
- "optionDisabled": (stack, context, vm) => {
54
- // DEPRECATED - do not use!
55
- console.warn("optionDisabled opcode is deprecated! - do not use!");
56
- const [str1] = getStackParams("optionDisabled", ["string"], stack);
57
- const optstr = `optionEnabled_${str1}`;
58
- let retval = null;
59
- if (vm.context[optstr] === undefined) {
60
- vm.context[optstr] = 1;
61
- retval = 0;
62
- }
63
- else {
64
- retval = vm.context[optstr] === 1 ? 0 : 1;
65
- }
66
- stack.push(retval);
67
- },
68
- "disableOption": (stack, context, vm) => {
69
- // DEPRECATED - do not use!
70
- console.warn("disableOption opcode is deprecated! - do not use!");
71
- const [str1] = getStackParams("disableOption", ["string"], stack);
72
- const optstr = `optionEnabled_${str1}`;
73
- vm.context[optstr] = 0;
74
- },
75
- "enableOption": (stack, context, vm) => {
76
- // DEPRECATED - do not use!
77
- console.warn("enableOption opcode is deprecated! - do not use!");
78
- const [str1] = getStackParams("enableOption", ["string"], stack);
79
- const optstr = `optionEnabled_${str1}`;
80
- vm.context[optstr] = 1;
81
- },
82
- }
83
- });
84
- this.responses = [];
85
- this.eventBus = new EventEmitter();
86
- }
87
- }
package/dist/mjs/cli.js DELETED
@@ -1,60 +0,0 @@
1
- #!/usr/bin/env node
2
- import fs from "fs";
3
- import program from "commander";
4
- import { parseMarkdown } from "./parseMarkdown.js";
5
- import { QuestVM } from "./QuestVM.js";
6
- import inquirer from "inquirer";
7
- import fetch from "node-fetch";
8
- program
9
- .version('0.0.12')
10
- .option('-c, --clear', 'Clear console on each state')
11
- .option('--input <path>', "Load source .md or .json file from path. Path can be either from local filesystem, or via HTTP(S) URL")
12
- .option('--output <path>', "Emit VMState .json file")
13
- .option('--no-run', "Do not actually load and run the VM; just parse input and (optionally) emit output")
14
- .parse(process.argv);
15
- if (!program.input) {
16
- console.log("Missing input! Please specify an input file via --input");
17
- process.exit(1);
18
- }
19
- async function load() {
20
- let input_file;
21
- if (program.input.startsWith("http://") || program.input.startsWith("https://")) {
22
- const res = await fetch(program.input);
23
- input_file = await res.text();
24
- }
25
- else {
26
- const input_file_buf = await fs.promises.readFile(program.input);
27
- input_file = input_file_buf.toString();
28
- }
29
- return input_file;
30
- }
31
- (async () => {
32
- const input_file = await load();
33
- const vm = new QuestVM(body => {
34
- process.stdout.write(`${body}`);
35
- }, (choices) => {
36
- process.stdout.write("\n"); // add newline to make inquirer not overwrie any previously emitted text
37
- return inquirer.prompt([{
38
- type: "list",
39
- name: "selectedChoice",
40
- message: " ",
41
- choices: choices.map(c => ({ name: c.title, value: c.id }))
42
- }]).then(answers => {
43
- return answers.selectedChoice;
44
- });
45
- }, {});
46
- let vmState = undefined;
47
- if (program.input.endsWith(".json")) {
48
- vmState = JSON.parse(input_file);
49
- }
50
- else if (program.input.endsWith(".md")) {
51
- vmState = parseMarkdown(input_file).qvmState;
52
- }
53
- if (program.output) {
54
- fs.writeFileSync(program.output, JSON.stringify(vmState, null, 2));
55
- }
56
- if (program.run) {
57
- vm.loadVMState(vmState);
58
- vm.run();
59
- }
60
- })();
package/dist/mjs/index.js DELETED
@@ -1,2 +0,0 @@
1
- export * from "./QuestVM";
2
- export * from "./parseMarkdown";
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
package/mjs_package.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
@@ -1,34 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "allowJs": true,
4
- "allowSyntheticDefaultImports": true,
5
- "baseUrl": "src",
6
- "declaration": true,
7
- "esModuleInterop": true,
8
- "inlineSourceMap": false,
9
- "lib": [
10
- "esnext"
11
- ],
12
- "listEmittedFiles": false,
13
- "listFiles": false,
14
- "moduleResolution": "node",
15
- "noFallthroughCasesInSwitch": true,
16
- "pretty": true,
17
- "resolveJsonModule": true,
18
- "rootDir": "src",
19
- "skipLibCheck": true,
20
- "strict": false,
21
- "traceResolution": false,
22
- "types": [
23
- "node"
24
- ]
25
- },
26
- "compileOnSave": false,
27
- "exclude": [
28
- "node_modules",
29
- "dist"
30
- ],
31
- "include": [
32
- "src"
33
- ]
34
- }
package/tsconfig-cjs.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "./tsconfig-base.json",
3
- "compilerOptions": {
4
- "module": "commonjs",
5
- "outDir": "dist/cjs",
6
- "target": "es2015"
7
- }
8
- }