casualos 3.3.0-alpha.8557067421 → 3.3.0

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.
package/README.md CHANGED
@@ -116,3 +116,25 @@ Options:
116
116
  The CasualOS REPL allows you to interact with the CasualOS API using a Read-Eval-Print Loop (REPL).
117
117
  It supports JavaScript and has a special function, query([procedure], [input]), that can be used to query the API.
118
118
  ```
119
+
120
+ ### REPL Usage
121
+
122
+ The CasualOS REPL allows you to interact with the CasualOS API using a Read-Eval-Print Loop (REPL).
123
+
124
+ It supports JavaScript and has a special function, `query([procedure], [input])`, that can be used to query the API. You can access it via the `repl` command.
125
+
126
+ After every evaluation, the `_` variable will contain the result of the evaluation. Additionally, you can assign values to variables to store them for the entire session.
127
+
128
+ #### `query([procedure], [input])`
129
+
130
+ The `query()` function can be used inside a REPL session to query the API of the currently set endpoint.
131
+ It accepts two optional parameters, `procedure` and `input`, and returns a promise that resolves with the result of the query. Because it returns a promise, you can use the `await` keyword on it to get the result of the query.
132
+
133
+ - `procedure` should be a string and is the name of the procedure that should be executed. If omitted, then you will be prompted from a list of available procedures.
134
+
135
+ - `input` can be any JavaScript value that matches the schema of the procedure. If omitted, then you will be prompted to fill in values for the procedure input.
136
+
137
+ To use `query()` in a REPL session, run `await query()`. This will start a query and wait until the query has a result. If you already know which operation you want to execute, you can run `await query("procedureName")`. This will skip the initial selector, but will still prompt you for inputs. If you already have the procedure and inputs, then you can run `await query("procedureName", input)`. This will skip all prompts and will return the procedure result directly back to you.
138
+
139
+ If you don't provide an input, then `query()` will automatically prompt you for inputs based on the metadata of the procedure.
140
+ When answering prompts for `query()`, you can use a script by entering a `.` at the start of the input value. This will let you use the result of a JavaScript expression for the value. For example, when entering a string for `expireTimeMs`, you could write `.Date.now() - (1000 * 60 * 60)` to calculate 1 hour in the past in miliseconds. If you want to write a string that starts with a period (`.`), then just write two dots at the start. For example, instead of `.myString`, you would write `..myString`. These special instructions only apply to the `query()` function inside `repl`, and not to the `query` command.
package/cli.js CHANGED
@@ -128,43 +128,24 @@ program
128
128
  replServer.on('exit', () => {
129
129
  process.stdin.unpipe(replIn);
130
130
  });
131
- replServer.defineCommand('login', {
132
- help: 'Login to the CasualOS API',
133
- action(cmd) {
134
- console.log('command: ', cmd);
135
- const _this = this;
136
- function loginImpl() {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- try {
139
- _this.pause();
140
- yield login(client);
141
- }
142
- finally {
143
- _this.resume();
144
- _this.displayPrompt();
145
- }
146
- });
147
- }
148
- loginImpl();
149
- },
150
- });
151
131
  Object.defineProperties(replServer.context, {
152
132
  query: {
153
133
  configurable: false,
154
134
  writable: false,
155
135
  enumerable: true,
156
136
  value: pauseRepl((procedure, input) => __awaiter(void 0, void 0, void 0, function* () {
157
- return yield query(client, procedure, input, false, true);
137
+ return yield query(client, procedure, input, false, true, replServer);
158
138
  })),
159
139
  },
160
140
  });
161
141
  }));
162
- function query(client, procedure, input, shouldConfirm = true, isJavaScriptInput = false) {
142
+ function query(client, procedure, input, shouldConfirm = true, isJavaScriptInput = false, repl = null) {
163
143
  return __awaiter(this, void 0, void 0, function* () {
164
144
  const availableOperations = yield client.listProcedures({});
165
- if (!procedure) {
145
+ while (!procedure ||
146
+ !availableOperations.procedures.find((p) => p.name === procedure)) {
166
147
  const response = yield prompts({
167
- type: 'select',
148
+ type: 'autocomplete',
168
149
  name: 'procedure',
169
150
  message: 'Select the procedure to execute',
170
151
  choices: availableOperations.procedures.map((op) => ({
@@ -181,7 +162,7 @@ function query(client, procedure, input, shouldConfirm = true, isJavaScriptInput
181
162
  }
182
163
  console.log('Your selected operation:', operation);
183
164
  if (!input) {
184
- input = yield askForInputs(operation.inputs, operation.name);
165
+ input = yield askForInputs(operation.inputs, operation.name, repl);
185
166
  }
186
167
  else if (!isJavaScriptInput) {
187
168
  input = JSON.parse(input);
package/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -32180,7 +32180,7 @@ var require_lodash = __commonJS({
32180
32180
  customizer = typeof customizer == "function" ? customizer : undefined2;
32181
32181
  return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
32182
32182
  }
32183
- function cloneDeep3(value) {
32183
+ function cloneDeep2(value) {
32184
32184
  return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
32185
32185
  }
32186
32186
  function cloneDeepWith(value, customizer) {
@@ -33306,7 +33306,7 @@ var require_lodash = __commonJS({
33306
33306
  lodash.ceil = ceil;
33307
33307
  lodash.clamp = clamp2;
33308
33308
  lodash.clone = clone3;
33309
- lodash.cloneDeep = cloneDeep3;
33309
+ lodash.cloneDeep = cloneDeep2;
33310
33310
  lodash.cloneDeepWith = cloneDeepWith;
33311
33311
  lodash.cloneWith = cloneWith;
33312
33312
  lodash.conformsTo = conformsTo;
@@ -41518,10 +41518,10 @@ function createRecordsClient(endpoint) {
41518
41518
 
41519
41519
  // schema.ts
41520
41520
  var import_prompts = __toESM(require_prompts3());
41521
- async function askForInputs(inputs, name) {
41521
+ async function askForInputs(inputs, name, repl2 = null) {
41522
41522
  if (inputs) {
41523
41523
  if (inputs.type === "object") {
41524
- return await askForObjectInputs(inputs, name);
41524
+ return await askForObjectInputs(inputs, name, repl2);
41525
41525
  } else if (inputs.type === "string") {
41526
41526
  const response = await (0, import_prompts.default)({
41527
41527
  type: "text",
@@ -41529,55 +41529,82 @@ async function askForInputs(inputs, name) {
41529
41529
  message: `Enter a value for ${name}.`,
41530
41530
  initial: inputs.defaultValue ?? void 0
41531
41531
  });
41532
- return response.value || void 0;
41532
+ return evalResult(response.value || void 0, repl2, String);
41533
41533
  } else if (inputs.type === "number") {
41534
41534
  const response = await (0, import_prompts.default)({
41535
- type: "number",
41535
+ type: repl2 ? "text" : "number",
41536
41536
  name: "value",
41537
41537
  message: `Enter a number for ${name}.`,
41538
41538
  initial: inputs.defaultValue ?? void 0
41539
41539
  });
41540
- return typeof response.value === "number" ? response.value : void 0;
41540
+ return typeof response.value === "number" ? response.value : typeof response.value === "string" ? await evalResult(response.value || void 0, repl2, Number) : void 0;
41541
41541
  } else if (inputs.type === "boolean") {
41542
41542
  const response = await (0, import_prompts.default)({
41543
- type: "toggle",
41543
+ type: repl2 ? "text" : "toggle",
41544
41544
  name: "value",
41545
41545
  message: `Enable ${name}?`,
41546
41546
  initial: inputs.defaultValue ?? void 0,
41547
41547
  active: "yes",
41548
41548
  inactive: "no"
41549
41549
  });
41550
- return typeof response.value === "boolean" ? response.value : void 0;
41550
+ return typeof response.value === "boolean" ? response.value : typeof response.value === "string" ? await evalResult(response.value || void 0, repl2, Boolean) : void 0;
41551
41551
  } else if (inputs.type === "date") {
41552
41552
  const response = await (0, import_prompts.default)({
41553
- type: "date",
41553
+ type: repl2 ? "text" : "date",
41554
41554
  name: "value",
41555
41555
  message: `Enter a date for ${name}.`,
41556
41556
  initial: inputs.defaultValue ?? void 0
41557
41557
  });
41558
- return response.value || void 0;
41558
+ return response.value instanceof Date ? response.value : typeof response.value === "string" ? await evalResult(response.value || void 0, repl2, Date) : void 0;
41559
41559
  } else if (inputs.type === "literal") {
41560
41560
  return inputs.value;
41561
+ } else if (inputs.type === "null") {
41562
+ return null;
41561
41563
  } else if (inputs.type === "array") {
41562
- return await askForArrayInputs(inputs, name);
41564
+ return await askForArrayInputs(inputs, name, repl2);
41563
41565
  } else if (inputs.type === "enum") {
41564
- return await askForEnumInputs(inputs, name);
41566
+ return await askForEnumInputs(inputs, name, repl2);
41565
41567
  } else if (inputs.type === "union") {
41566
- return await askForUnionInputs(inputs, name);
41568
+ return await askForUnionInputs(inputs, name, repl2);
41569
+ } else if (inputs.type === "any") {
41570
+ return await askForAnyInputs(name, repl2);
41567
41571
  }
41568
41572
  }
41569
41573
  return void 0;
41570
41574
  }
41571
- async function askForObjectInputs(inputs, name) {
41575
+ async function evalResult(result, repl2, type) {
41576
+ if (typeof result === "string" && repl2 && result.startsWith(".")) {
41577
+ const script = result.slice(1);
41578
+ if (script.startsWith(".")) {
41579
+ return script;
41580
+ }
41581
+ const promise = new Promise((resolve, reject) => {
41582
+ repl2.eval(result.slice(1), repl2.context, "repl", (err, value2) => {
41583
+ if (err) {
41584
+ reject(err);
41585
+ return;
41586
+ }
41587
+ resolve(value2);
41588
+ });
41589
+ });
41590
+ const value = await promise;
41591
+ return value;
41592
+ }
41593
+ if (type && result !== void 0 && result !== null && result !== "") {
41594
+ return type(result);
41595
+ }
41596
+ return result;
41597
+ }
41598
+ async function askForObjectInputs(inputs, name, repl2) {
41572
41599
  const result = {};
41573
41600
  for (let key in inputs.schema) {
41574
41601
  const prop = inputs.schema[key];
41575
- const value = await askForInputs(prop, `${name}.${key}`);
41602
+ const value = await askForInputs(prop, `${name}.${key}`, repl2);
41576
41603
  result[key] = value;
41577
41604
  }
41578
41605
  return result;
41579
41606
  }
41580
- async function askForArrayInputs(inputs, name) {
41607
+ async function askForArrayInputs(inputs, name, repl2) {
41581
41608
  const result = [];
41582
41609
  if (inputs.optional || inputs.nullable) {
41583
41610
  const response = await (0, import_prompts.default)({
@@ -41607,12 +41634,12 @@ async function askForArrayInputs(inputs, name) {
41607
41634
  length = response.length;
41608
41635
  }
41609
41636
  for (let i = 0; i < length; i++) {
41610
- const value = await askForInputs(inputs.schema, `${name}[${i}]`);
41637
+ const value = await askForInputs(inputs.schema, `${name}[${i}]`, repl2);
41611
41638
  result.push(value);
41612
41639
  }
41613
41640
  return result;
41614
41641
  }
41615
- async function askForEnumInputs(inputs, name) {
41642
+ async function askForEnumInputs(inputs, name, repl2) {
41616
41643
  let choices = inputs.values.map((value) => ({
41617
41644
  title: value,
41618
41645
  value
@@ -41650,27 +41677,43 @@ async function askForEnumInputs(inputs, name) {
41650
41677
  }
41651
41678
  return response.value;
41652
41679
  }
41653
- async function askForUnionInputs(inputs, name) {
41680
+ async function askForUnionInputs(inputs, name, repl2) {
41654
41681
  if ("discriminator" in inputs) {
41655
41682
  return await askForDiscriminatedUnionInputs(
41656
41683
  inputs,
41657
- name
41684
+ name,
41685
+ repl2
41658
41686
  );
41659
41687
  } else {
41660
41688
  const kind = await (0, import_prompts.default)({
41661
41689
  type: "select",
41662
41690
  name: "kind",
41663
41691
  message: `Select a kind for ${name}.`,
41664
- choices: inputs.options.map((option) => ({
41665
- title: option.type,
41666
- description: option.description,
41667
- value: option
41668
- }))
41692
+ choices: inputs.options.map((option) => {
41693
+ if (option.type === "literal") {
41694
+ return {
41695
+ title: `(${option.value})`,
41696
+ description: option.description,
41697
+ value: option.value
41698
+ };
41699
+ } else if (option.type === "null") {
41700
+ return {
41701
+ title: `(null)`,
41702
+ description: option.description,
41703
+ value: null
41704
+ };
41705
+ }
41706
+ return {
41707
+ title: option.type,
41708
+ description: option.description,
41709
+ value: option
41710
+ };
41711
+ })
41669
41712
  });
41670
- return await askForInputs(kind.kind, name);
41713
+ return await askForInputs(kind.kind, name, repl2);
41671
41714
  }
41672
41715
  }
41673
- async function askForDiscriminatedUnionInputs(inputs, name) {
41716
+ async function askForDiscriminatedUnionInputs(inputs, name, repl2) {
41674
41717
  const kind = await (0, import_prompts.default)({
41675
41718
  type: "select",
41676
41719
  name: "kind",
@@ -41691,7 +41734,73 @@ async function askForDiscriminatedUnionInputs(inputs, name) {
41691
41734
  };
41692
41735
  })
41693
41736
  });
41694
- return await askForInputs(kind.kind, name);
41737
+ return await askForInputs(kind.kind, name, repl2);
41738
+ }
41739
+ async function askForAnyInputs(name, repl2) {
41740
+ const kind = await (0, import_prompts.default)({
41741
+ type: "select",
41742
+ name: "kind",
41743
+ message: `Select a kind for ${name}.`,
41744
+ choices: [
41745
+ {
41746
+ title: "json",
41747
+ description: "A JSON value.",
41748
+ value: "json"
41749
+ },
41750
+ {
41751
+ title: "string",
41752
+ description: "A string value.",
41753
+ value: "string"
41754
+ },
41755
+ {
41756
+ title: "number",
41757
+ description: "A number value.",
41758
+ value: "number"
41759
+ },
41760
+ {
41761
+ title: "boolean",
41762
+ description: "A boolean value.",
41763
+ value: "boolean"
41764
+ },
41765
+ {
41766
+ title: "(null)",
41767
+ description: "A null value.",
41768
+ value: "null"
41769
+ }
41770
+ ]
41771
+ });
41772
+ if (kind.kind === "null") {
41773
+ return null;
41774
+ } else if (kind.kind === "json") {
41775
+ while (true) {
41776
+ try {
41777
+ const response = await (0, import_prompts.default)({
41778
+ type: "text",
41779
+ name: "value",
41780
+ message: `Enter a JSON value for ${name}.`
41781
+ });
41782
+ if (response.value === "" || response.value === void 0) {
41783
+ return void 0;
41784
+ }
41785
+ const script = response.value;
41786
+ if (typeof script === "string" && script.startsWith(".")) {
41787
+ return await evalResult(script, repl2, null);
41788
+ }
41789
+ return JSON.parse(response.value);
41790
+ } catch (err) {
41791
+ console.log("Invalid JSON value.", err);
41792
+ }
41793
+ }
41794
+ }
41795
+ return await askForInputs(
41796
+ {
41797
+ type: kind.kind,
41798
+ nullable: true,
41799
+ optional: true
41800
+ },
41801
+ name,
41802
+ repl2
41803
+ );
41695
41804
  }
41696
41805
 
41697
41806
  // cli.ts
@@ -42951,7 +43060,7 @@ var Conf = class {
42951
43060
  };
42952
43061
 
42953
43062
  // ../aux-records/AuthUtils.js
42954
- var import_lodash15 = __toESM(require_lodash());
43063
+ var import_lodash14 = __toESM(require_lodash());
42955
43064
  var import_tweetnacl = __toESM(require_nacl_fast());
42956
43065
 
42957
43066
  // ../aux-common/BlobPolyfill.ts
@@ -54362,35 +54471,32 @@ var import_lodash5 = __toESM(require_lodash());
54362
54471
  // ../aux-common/bots/BotIndex.ts
54363
54472
  var import_lodash6 = __toESM(require_lodash());
54364
54473
 
54365
- // ../aux-common/bots/StateUpdatedEvent.ts
54366
- var import_lodash7 = __toESM(require_lodash());
54367
-
54368
54474
  // ../aux-common/partitions/PartitionUtils.ts
54369
54475
  var import_base64_js3 = __toESM(require_base64_js());
54370
54476
 
54371
54477
  // ../aux-common/partitions/YjsPartition.ts
54372
- var import_lodash9 = __toESM(require_lodash());
54478
+ var import_lodash8 = __toESM(require_lodash());
54373
54479
 
54374
54480
  // ../aux-common/partitions/MemoryPartition.ts
54375
- var import_lodash8 = __toESM(require_lodash());
54481
+ var import_lodash7 = __toESM(require_lodash());
54376
54482
 
54377
54483
  // ../aux-common/partitions/YjsPartition.ts
54378
54484
  var import_base64_js2 = __toESM(require_base64_js());
54379
54485
 
54380
54486
  // ../aux-common/partitions/PartitionUtils.ts
54381
- var import_lodash10 = __toESM(require_lodash());
54487
+ var import_lodash9 = __toESM(require_lodash());
54382
54488
 
54383
54489
  // ../aux-common/partitions/AuxPartition.ts
54384
- var import_lodash11 = __toESM(require_lodash());
54490
+ var import_lodash10 = __toESM(require_lodash());
54385
54491
 
54386
54492
  // ../aux-common/partitions/OtherPlayersPartition.ts
54387
- var import_lodash12 = __toESM(require_lodash());
54493
+ var import_lodash11 = __toESM(require_lodash());
54388
54494
 
54389
54495
  // ../aux-common/partitions/RemoteYjsPartition.ts
54390
54496
  var import_base64_js4 = __toESM(require_base64_js());
54391
54497
 
54392
54498
  // ../aux-common/DebugHelpers.ts
54393
- var import_lodash13 = __toESM(require_lodash());
54499
+ var import_lodash12 = __toESM(require_lodash());
54394
54500
 
54395
54501
  // ../aux-common/http/GenericHttpInterface.ts
54396
54502
  var genericHttpRequestSchema = z.object({
@@ -54601,7 +54707,7 @@ var websocketRequestMessageSchema = z.discriminatedUnion("type", [
54601
54707
  ]);
54602
54708
 
54603
54709
  // ../aux-common/websockets/InstRecordsClient.ts
54604
- var import_lodash14 = __toESM(require_lodash());
54710
+ var import_lodash13 = __toESM(require_lodash());
54605
54711
 
54606
54712
  // ../aux-records/AuthUtils.js
54607
54713
  var import_hash = __toESM(require_hash());
@@ -54662,7 +54768,7 @@ var config = new Conf({
54662
54768
  projectName: "casualos-cli"
54663
54769
  });
54664
54770
  var program2 = new Command();
54665
- program2.name("casualos").description("A CLI for CasualOS").version("v3.3.0-alpha.8557067421").option(
54771
+ program2.name("casualos").description("A CLI for CasualOS").version("v3.3.0").option(
54666
54772
  "-e, --endpoint <url>",
54667
54773
  "The endpoint to use for queries. Can be used to override the current endpoint."
54668
54774
  );
@@ -54766,39 +54872,29 @@ It supports JavaScript and has a special function, query([procedure], [input]),
54766
54872
  replServer.on("exit", () => {
54767
54873
  process.stdin.unpipe(replIn);
54768
54874
  });
54769
- replServer.defineCommand("login", {
54770
- help: "Login to the CasualOS API",
54771
- action(cmd) {
54772
- console.log("command: ", cmd);
54773
- const _this = this;
54774
- async function loginImpl() {
54775
- try {
54776
- _this.pause();
54777
- await login(client);
54778
- } finally {
54779
- _this.resume();
54780
- _this.displayPrompt();
54781
- }
54782
- }
54783
- loginImpl();
54784
- }
54785
- });
54786
54875
  Object.defineProperties(replServer.context, {
54787
54876
  query: {
54788
54877
  configurable: false,
54789
54878
  writable: false,
54790
54879
  enumerable: true,
54791
54880
  value: pauseRepl(async (procedure, input) => {
54792
- return await query(client, procedure, input, false, true);
54881
+ return await query(
54882
+ client,
54883
+ procedure,
54884
+ input,
54885
+ false,
54886
+ true,
54887
+ replServer
54888
+ );
54793
54889
  })
54794
54890
  }
54795
54891
  });
54796
54892
  });
54797
- async function query(client, procedure, input, shouldConfirm = true, isJavaScriptInput = false) {
54893
+ async function query(client, procedure, input, shouldConfirm = true, isJavaScriptInput = false, repl2 = null) {
54798
54894
  const availableOperations = await client.listProcedures({});
54799
- if (!procedure) {
54895
+ while (!procedure || !availableOperations.procedures.find((p) => p.name === procedure)) {
54800
54896
  const response = await (0, import_prompts2.default)({
54801
- type: "select",
54897
+ type: "autocomplete",
54802
54898
  name: "procedure",
54803
54899
  message: "Select the procedure to execute",
54804
54900
  choices: availableOperations.procedures.map((op) => ({
@@ -54817,7 +54913,7 @@ async function query(client, procedure, input, shouldConfirm = true, isJavaScrip
54817
54913
  }
54818
54914
  console.log("Your selected operation:", operation);
54819
54915
  if (!input) {
54820
- input = await askForInputs(operation.inputs, operation.name);
54916
+ input = await askForInputs(operation.inputs, operation.name, repl2);
54821
54917
  } else if (!isJavaScriptInput) {
54822
54918
  input = JSON.parse(input);
54823
54919
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "casualos",
3
- "version": "3.3.0-alpha.8557067421",
3
+ "version": "3.3.0",
4
4
  "description": "Command line interface for CasualOS.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "index.d.ts",
@@ -35,8 +35,8 @@
35
35
  "access": "public"
36
36
  },
37
37
  "dependencies": {
38
- "@casual-simulation/aux-common": "^3.3.0-alpha.8557067421",
39
- "@casual-simulation/aux-records": "^3.3.0-alpha.8557067421",
38
+ "@casual-simulation/aux-common": "^3.3.0",
39
+ "@casual-simulation/aux-records": "^3.3.0",
40
40
  "axios": "1.6.2",
41
41
  "commander": "12.0.0",
42
42
  "conf": "12.0.0",
@@ -54,5 +54,5 @@
54
54
  "**/*.d.ts",
55
55
  "**/*.def"
56
56
  ],
57
- "gitHead": "e30c0374b6e2d9056a663db76d57ab8e819da0eb"
57
+ "gitHead": "3acfc9f1f40c1d0e6554e7925af074fbace5b9e5"
58
58
  }
package/schema.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ import repl from 'node:repl';
1
3
  import type { SchemaMetadata } from '../aux-common';
2
- export declare function askForInputs(inputs: SchemaMetadata, name: string): Promise<any>;
4
+ export declare function askForInputs(inputs: SchemaMetadata, name: string, repl?: repl.REPLServer): Promise<any>;
3
5
  //# sourceMappingURL=schema.d.ts.map
package/schema.js CHANGED
@@ -8,12 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import prompts from 'prompts';
11
- export function askForInputs(inputs, name) {
11
+ export function askForInputs(inputs, name, repl = null) {
12
12
  var _a, _b, _c, _d;
13
13
  return __awaiter(this, void 0, void 0, function* () {
14
14
  if (inputs) {
15
15
  if (inputs.type === 'object') {
16
- return yield askForObjectInputs(inputs, name);
16
+ return yield askForObjectInputs(inputs, name, repl);
17
17
  }
18
18
  else if (inputs.type === 'string') {
19
19
  const response = yield prompts({
@@ -22,22 +22,24 @@ export function askForInputs(inputs, name) {
22
22
  message: `Enter a value for ${name}.`,
23
23
  initial: (_a = inputs.defaultValue) !== null && _a !== void 0 ? _a : undefined,
24
24
  });
25
- return response.value || undefined;
25
+ return evalResult(response.value || undefined, repl, String);
26
26
  }
27
27
  else if (inputs.type === 'number') {
28
28
  const response = yield prompts({
29
- type: 'number',
29
+ type: repl ? 'text' : 'number',
30
30
  name: 'value',
31
31
  message: `Enter a number for ${name}.`,
32
32
  initial: (_b = inputs.defaultValue) !== null && _b !== void 0 ? _b : undefined,
33
33
  });
34
34
  return typeof response.value === 'number'
35
35
  ? response.value
36
- : undefined;
36
+ : typeof response.value === 'string'
37
+ ? yield evalResult(response.value || undefined, repl, Number)
38
+ : undefined;
37
39
  }
38
40
  else if (inputs.type === 'boolean') {
39
41
  const response = yield prompts({
40
- type: 'toggle',
42
+ type: repl ? 'text' : 'toggle',
41
43
  name: 'value',
42
44
  message: `Enable ${name}?`,
43
45
  initial: (_c = inputs.defaultValue) !== null && _c !== void 0 ? _c : undefined,
@@ -46,45 +48,83 @@ export function askForInputs(inputs, name) {
46
48
  });
47
49
  return typeof response.value === 'boolean'
48
50
  ? response.value
49
- : undefined;
51
+ : typeof response.value === 'string'
52
+ ? yield evalResult(response.value || undefined, repl, Boolean)
53
+ : undefined;
50
54
  }
51
55
  else if (inputs.type === 'date') {
52
56
  const response = yield prompts({
53
- type: 'date',
57
+ type: repl ? 'text' : 'date',
54
58
  name: 'value',
55
59
  message: `Enter a date for ${name}.`,
56
60
  initial: (_d = inputs.defaultValue) !== null && _d !== void 0 ? _d : undefined,
57
61
  });
58
- return response.value || undefined;
62
+ return response.value instanceof Date
63
+ ? response.value
64
+ : typeof response.value === 'string'
65
+ ? yield evalResult(response.value || undefined, repl, Date)
66
+ : undefined;
59
67
  }
60
68
  else if (inputs.type === 'literal') {
61
69
  return inputs.value;
62
70
  }
71
+ else if (inputs.type === 'null') {
72
+ return null;
73
+ }
63
74
  else if (inputs.type === 'array') {
64
- return yield askForArrayInputs(inputs, name);
75
+ return yield askForArrayInputs(inputs, name, repl);
65
76
  }
66
77
  else if (inputs.type === 'enum') {
67
- return yield askForEnumInputs(inputs, name);
78
+ return yield askForEnumInputs(inputs, name, repl);
68
79
  }
69
80
  else if (inputs.type === 'union') {
70
- return yield askForUnionInputs(inputs, name);
81
+ return yield askForUnionInputs(inputs, name, repl);
82
+ }
83
+ else if (inputs.type === 'any') {
84
+ return yield askForAnyInputs(name, repl);
71
85
  }
72
86
  }
73
87
  return undefined;
74
88
  });
75
89
  }
76
- function askForObjectInputs(inputs, name) {
90
+ function evalResult(result, repl, type) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ if (typeof result === 'string' && repl && result.startsWith('.')) {
93
+ const script = result.slice(1);
94
+ if (script.startsWith('.')) {
95
+ // Scripts can be escaped with a double dot.
96
+ return script;
97
+ }
98
+ const promise = new Promise((resolve, reject) => {
99
+ repl.eval(result.slice(1), repl.context, 'repl', (err, value) => {
100
+ if (err) {
101
+ reject(err);
102
+ return;
103
+ }
104
+ resolve(value);
105
+ });
106
+ });
107
+ const value = yield promise;
108
+ return value;
109
+ }
110
+ if (type && result !== undefined && result !== null && result !== '') {
111
+ return type(result);
112
+ }
113
+ return result;
114
+ });
115
+ }
116
+ function askForObjectInputs(inputs, name, repl) {
77
117
  return __awaiter(this, void 0, void 0, function* () {
78
118
  const result = {};
79
119
  for (let key in inputs.schema) {
80
120
  const prop = inputs.schema[key];
81
- const value = yield askForInputs(prop, `${name}.${key}`);
121
+ const value = yield askForInputs(prop, `${name}.${key}`, repl);
82
122
  result[key] = value;
83
123
  }
84
124
  return result;
85
125
  });
86
126
  }
87
- function askForArrayInputs(inputs, name) {
127
+ function askForArrayInputs(inputs, name, repl) {
88
128
  var _a, _b;
89
129
  return __awaiter(this, void 0, void 0, function* () {
90
130
  const result = [];
@@ -118,13 +158,13 @@ function askForArrayInputs(inputs, name) {
118
158
  length = response.length;
119
159
  }
120
160
  for (let i = 0; i < length; i++) {
121
- const value = yield askForInputs(inputs.schema, `${name}[${i}]`);
161
+ const value = yield askForInputs(inputs.schema, `${name}[${i}]`, repl);
122
162
  result.push(value);
123
163
  }
124
164
  return result;
125
165
  });
126
166
  }
127
- function askForEnumInputs(inputs, name) {
167
+ function askForEnumInputs(inputs, name, repl) {
128
168
  return __awaiter(this, void 0, void 0, function* () {
129
169
  let choices = inputs.values.map((value) => ({
130
170
  title: value,
@@ -165,27 +205,43 @@ function askForEnumInputs(inputs, name) {
165
205
  return response.value;
166
206
  });
167
207
  }
168
- function askForUnionInputs(inputs, name) {
208
+ function askForUnionInputs(inputs, name, repl) {
169
209
  return __awaiter(this, void 0, void 0, function* () {
170
210
  if ('discriminator' in inputs) {
171
- return yield askForDiscriminatedUnionInputs(inputs, name);
211
+ return yield askForDiscriminatedUnionInputs(inputs, name, repl);
172
212
  }
173
213
  else {
174
214
  const kind = yield prompts({
175
215
  type: 'select',
176
216
  name: 'kind',
177
217
  message: `Select a kind for ${name}.`,
178
- choices: inputs.options.map((option) => ({
179
- title: option.type,
180
- description: option.description,
181
- value: option,
182
- })),
218
+ choices: inputs.options.map((option) => {
219
+ if (option.type === 'literal') {
220
+ return {
221
+ title: `(${option.value})`,
222
+ description: option.description,
223
+ value: option.value,
224
+ };
225
+ }
226
+ else if (option.type === 'null') {
227
+ return {
228
+ title: `(null)`,
229
+ description: option.description,
230
+ value: null,
231
+ };
232
+ }
233
+ return {
234
+ title: option.type,
235
+ description: option.description,
236
+ value: option,
237
+ };
238
+ }),
183
239
  });
184
- return yield askForInputs(kind.kind, name);
240
+ return yield askForInputs(kind.kind, name, repl);
185
241
  }
186
242
  });
187
243
  }
188
- function askForDiscriminatedUnionInputs(inputs, name) {
244
+ function askForDiscriminatedUnionInputs(inputs, name, repl) {
189
245
  return __awaiter(this, void 0, void 0, function* () {
190
246
  const kind = yield prompts({
191
247
  type: 'select',
@@ -207,7 +263,73 @@ function askForDiscriminatedUnionInputs(inputs, name) {
207
263
  };
208
264
  }),
209
265
  });
210
- return yield askForInputs(kind.kind, name);
266
+ return yield askForInputs(kind.kind, name, repl);
267
+ });
268
+ }
269
+ function askForAnyInputs(name, repl) {
270
+ return __awaiter(this, void 0, void 0, function* () {
271
+ const kind = yield prompts({
272
+ type: 'select',
273
+ name: 'kind',
274
+ message: `Select a kind for ${name}.`,
275
+ choices: [
276
+ {
277
+ title: 'json',
278
+ description: 'A JSON value.',
279
+ value: 'json',
280
+ },
281
+ {
282
+ title: 'string',
283
+ description: 'A string value.',
284
+ value: 'string',
285
+ },
286
+ {
287
+ title: 'number',
288
+ description: 'A number value.',
289
+ value: 'number',
290
+ },
291
+ {
292
+ title: 'boolean',
293
+ description: 'A boolean value.',
294
+ value: 'boolean',
295
+ },
296
+ {
297
+ title: '(null)',
298
+ description: 'A null value.',
299
+ value: 'null',
300
+ },
301
+ ],
302
+ });
303
+ if (kind.kind === 'null') {
304
+ return null;
305
+ }
306
+ else if (kind.kind === 'json') {
307
+ while (true) {
308
+ try {
309
+ const response = yield prompts({
310
+ type: 'text',
311
+ name: 'value',
312
+ message: `Enter a JSON value for ${name}.`,
313
+ });
314
+ if (response.value === '' || response.value === undefined) {
315
+ return undefined;
316
+ }
317
+ const script = response.value;
318
+ if (typeof script === 'string' && script.startsWith('.')) {
319
+ return yield evalResult(script, repl, null);
320
+ }
321
+ return JSON.parse(response.value);
322
+ }
323
+ catch (err) {
324
+ console.log('Invalid JSON value.', err);
325
+ }
326
+ }
327
+ }
328
+ return yield askForInputs({
329
+ type: kind.kind,
330
+ nullable: true,
331
+ optional: true,
332
+ }, name, repl);
211
333
  });
212
334
  }
213
335
  //# sourceMappingURL=schema.js.map
package/schema.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":"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"}