@sdkgen/fsharp-generator 0.0.0-dev.20230110171718 → 0.0.0-dev.20230120140203

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.
@@ -1,6 +1,9 @@
1
- import { astToJson, VoidPrimitiveType } from "@sdkgen/parser";
2
- import { capitalize, decodeType, encodeType, generateEnum, generateStruct, generateTypeName, ident } from "./helpers.js";
3
- export function generateFSharpServerSource(ast) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateFSharpServerSource = void 0;
4
+ const parser_1 = require("@sdkgen/parser");
5
+ const helpers_1 = require("./helpers");
6
+ function generateFSharpServerSource(ast) {
4
7
  let code = `module rec SdkgenGenerated
5
8
  open Sdkgen.Runtime
6
9
  open Sdkgen.Helpers
@@ -28,18 +31,18 @@ type ${error.name}Exception =
28
31
  }\n`;
29
32
  }
30
33
  for (const type of ast.enumTypes) {
31
- code += `\n${generateEnum(type)}\n`;
34
+ code += `\n${(0, helpers_1.generateEnum)(type)}\n`;
32
35
  }
33
36
  for (const type of ast.structTypes) {
34
- code += `\n${generateStruct(type)}\n`;
37
+ code += `\n${(0, helpers_1.generateStruct)(type)}\n`;
35
38
  }
36
39
  code += `
37
40
  type Api() =`;
38
41
  for (const op of ast.operations) {
39
- const returnTypeAngle = op.returnType instanceof VoidPrimitiveType ? "" : `<${generateTypeName(op.returnType)}>`;
40
- const argsInRecord = op.args.length > 0 ? `{| ${op.args.map(arg => `${arg.name}: ${generateTypeName(arg.type)};`).join("")} |} ->` : "";
42
+ const returnTypeAngle = op.returnType instanceof parser_1.VoidPrimitiveType ? "" : `<${(0, helpers_1.generateTypeName)(op.returnType)}>`;
43
+ const argsInRecord = op.args.length > 0 ? `{| ${op.args.map(arg => `${arg.name}: ${(0, helpers_1.generateTypeName)(arg.type)};`).join("")} |} ->` : "";
41
44
  code += `
42
- member val ${capitalize(op.name)}: Context -> ${argsInRecord} Task${returnTypeAngle} =
45
+ member val ${(0, helpers_1.capitalize)(op.name)}: Context -> ${argsInRecord} Task${returnTypeAngle} =
43
46
  fun _ -> (raise (FatalException("Function '${op.name}' not implemented.")))
44
47
  with get, set
45
48
  `;
@@ -59,24 +62,24 @@ type Api() =`;
59
62
  | true, v -> v
60
63
  | _ -> raise (FatalException("'${op.name}().args.${arg.name}' must be set to a value of type ${arg.type.name}."))
61
64
 
62
- let ${ident(arg.name)} =
63
- ${decodeType(arg.type, `${arg.name}Json_`, `"${op.name}().args.${arg.name}"`, ident(arg.name)).replace(/\n/gu, "\n ")}`;
65
+ let ${(0, helpers_1.ident)(arg.name)} =
66
+ ${(0, helpers_1.decodeType)(arg.type, `${arg.name}Json_`, `"${op.name}().args.${arg.name}"`, (0, helpers_1.ident)(arg.name)).replace(/\n/gu, "\n ")}`;
64
67
  }
65
- if (op.returnType instanceof VoidPrimitiveType) {
68
+ if (op.returnType instanceof parser_1.VoidPrimitiveType) {
66
69
  code += `
67
70
 
68
- do! (__.${capitalize(op.name)} context_ ${op.args.length > 0 ? "{|" : ""} ${op.args
69
- .map(arg => `${arg.name} = ${ident(arg.name)}`)
71
+ do! (__.${(0, helpers_1.capitalize)(op.name)} context_ ${op.args.length > 0 ? "{|" : ""} ${op.args
72
+ .map(arg => `${arg.name} = ${(0, helpers_1.ident)(arg.name)}`)
70
73
  .join("; ")} ${op.args.length > 0 ? "|}" : ""})
71
74
  `;
72
75
  }
73
76
  else {
74
77
  code += `
75
78
 
76
- let! result_ = (__.${capitalize(op.name)} context_ ${op.args.length > 0 ? "{|" : ""} ${op.args
77
- .map(arg => `${arg.name} = ${ident(arg.name)}`)
79
+ let! result_ = (__.${(0, helpers_1.capitalize)(op.name)} context_ ${op.args.length > 0 ? "{|" : ""} ${op.args
80
+ .map(arg => `${arg.name} = ${(0, helpers_1.ident)(arg.name)}`)
78
81
  .join("; ")} ${op.args.length > 0 ? "|}" : ""})
79
- ${encodeType(op.returnType, `result_`, `"${op.name}().ret"`, 1, false).replace(/\n/gu, "\n ")}`;
82
+ ${(0, helpers_1.encodeType)(op.returnType, `result_`, `"${op.name}().ret"`, 1, false).replace(/\n/gu, "\n ")}`;
80
83
  }
81
84
  }
82
85
  code += `
@@ -84,7 +87,7 @@ type Api() =`;
84
87
  | _ -> raise (FatalException($"Unknown function '{context_.Name}'."))
85
88
  } :> Task`;
86
89
  code += `
87
- member __.GetAstJson() = """${JSON.stringify(astToJson(ast), null, 4).replace(/\n/gu, "\n ")}""";`;
90
+ member __.GetAstJson() = """${JSON.stringify((0, parser_1.astToJson)(ast), null, 4).replace(/\n/gu, "\n ")}""";`;
88
91
  return code;
89
92
  }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnNoYXJwLXNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mc2hhcnAtc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekgsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEdBQVk7SUFDckQsSUFBSSxJQUFJLEdBQUc7Ozs7Ozs7Ozs7OztDQVlaLENBQUM7SUFFQSxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7UUFDOUIsSUFBSSxJQUFJO09BQ0wsS0FBSyxDQUFDLElBQUk7Ozs7K0JBSWMsS0FBSyxDQUFDLElBQUk7Ozs7K0JBSVYsS0FBSyxDQUFDLElBQUk7TUFDbkMsQ0FBQztLQUNKO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1FBQ2hDLElBQUksSUFBSSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ3JDO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO1FBQ2xDLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ3ZDO0lBRUQsSUFBSSxJQUFJO2FBQ0csQ0FBQztJQUVaLEtBQUssTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRTtRQUMvQixNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsVUFBVSxZQUFZLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7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QUMsSUFBSSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1NBQ2xIO0tBQ0Y7SUFFRCxJQUFJLElBQUk7OztrQkFHUSxDQUFDO0lBRWpCLElBQUksSUFBSTtrQ0FDd0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUU1RyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFzdFJvb3QgfSBmcm9tIFwiQHNka2dlbi9wYXJzZXJcIjtcbmltcG9ydCB7IGFzdFRvSnNvbiwgVm9pZFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwiQHNka2dlbi9wYXJzZXJcIjtcblxuaW1wb3J0IHsgY2FwaXRhbGl6ZSwgZGVjb2RlVHlwZSwgZW5jb2RlVHlwZSwgZ2VuZXJhdGVFbnVtLCBnZW5lcmF0ZVN0cnVjdCwgZ2VuZXJhdGVUeXBlTmFtZSwgaWRlbnQgfSBmcm9tIFwiLi9oZWxwZXJzLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUZTaGFycFNlcnZlclNvdXJjZShhc3Q6IEFzdFJvb3QpOiBzdHJpbmcge1xuICBsZXQgY29kZSA9IGBtb2R1bGUgcmVjIFNka2dlbkdlbmVyYXRlZFxub3BlbiBTZGtnZW4uUnVudGltZVxub3BlbiBTZGtnZW4uSGVscGVyc1xub3BlbiBTZGtnZW4uQ29udGV4dFxub3BlbiBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzXG5vcGVuIFN5c3RlbS5UZXh0Lkpzb25cbm9wZW4gU3lzdGVtXG5vcGVuIFN5c3RlbS5HbG9iYWxpemF0aW9uXG4jaWYgTkVUNV8wXG4vLyBUbyB1c2UgdGFza3MgYXMgY29tcHV0YXRpb24gZXhwcmVzc2lvbiBpbiAuTkVUIDUgaW5zdGFsbCBodHRwczovL3d3dy5udWdldC5vcmcvcGFja2FnZXMvVGFza0J1aWxkZXIuZnMvXG5vcGVuIEZTaGFycC5Db250cm9sLlRhc2tzLlYyLkNvbnRleHRJbnNlbnNpdGl2ZVxuI2VuZGlmXG5gO1xuXG4gIGZvciAoY29uc3QgZXJyb3Igb2YgYXN0LmVycm9ycykge1xuICAgIGNvZGUgKz0gYFxudHlwZSAke2Vycm9yLm5hbWV9RXhjZXB0aW9uID1cbiAgaW5oZXJpdCBTZGtnZW5FeGNlcHRpb25cblxuICBuZXcobWVzc2FnZTogc3RyaW5nKSA9IHtcbiAgICBpbmhlcml0IFNka2dlbkV4Y2VwdGlvbihcIiR7ZXJyb3IubmFtZX1cIiwgbWVzc2FnZSwgbnVsbClcbiAgfVxuXG4gIG5ldyhtZXNzYWdlOiBzdHJpbmcsIGlubmVyOiBFeGNlcHRpb24pID0ge1xuICAgIGluaGVyaXQgU2RrZ2VuRXhjZXB0aW9uKFwiJHtlcnJvci5uYW1lfVwiLCBtZXNzYWdlLCBpbm5lcilcbiAgfVxcbmA7XG4gIH1cblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgYXN0LmVudW1UeXBlcykge1xuICAgIGNvZGUgKz0gYFxcbiR7Z2VuZXJhdGVFbnVtKHR5cGUpfVxcbmA7XG4gIH1cblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgYXN0LnN0cnVjdFR5cGVzKSB7XG4gICAgY29kZSArPSBgXFxuJHtnZW5lcmF0ZVN0cnVjdCh0eXBlKX1cXG5gO1xuICB9XG5cbiAgY29kZSArPSBgXG50eXBlIEFwaSgpID1gO1xuXG4gIGZvciAoY29uc3Qgb3Agb2YgYXN0Lm9wZXJhdGlvbnMpIHtcbiAgICBjb25zdCByZXR1cm5UeXBlQW5nbGUgPSBvcC5yZXR1cm5UeXBlIGluc3RhbmNlb2YgVm9pZFByaW1pdGl2ZVR5cGUgPyBcIlwiIDogYDwke2dlbmVyYXRlVHlwZU5hbWUob3AucmV0dXJuVHlwZSl9PmA7XG5cbiAgICBjb25zdCBhcmdzSW5SZWNvcmQgPSBvcC5hcmdzLmxlbmd0aCA+IDAgPyBge3wgJHtvcC5hcmdzLm1hcChhcmcgPT4gYCR7YXJnLm5hbWV9OiAke2dlbmVyYXRlVHlwZU5hbWUoYXJnLnR5cGUpfTtgKS5qb2luKFwiXCIpfSB8fSAtPmAgOiBcIlwiO1xuXG4gICAgY29kZSArPSBgXG4gIG1lbWJlciB2YWwgJHtjYXBpdGFsaXplKG9wLm5hbWUpfTogQ29udGV4dCAtPiAke2FyZ3NJblJlY29yZH0gVGFzayR7cmV0dXJuVHlwZUFuZ2xlfSA9XG4gICAgZnVuIF8gLT4gKHJhaXNlIChGYXRhbEV4Y2VwdGlvbihcIkZ1bmN0aW9uICcke29wLm5hbWV9JyBub3QgaW1wbGVtZW50ZWQuXCIpKSlcbiAgICB3aXRoIGdldCwgc2V0XG4gICAgYDtcbiAgfVxuXG4gIGNvZGUgKz0gYFxuICBpbnRlcmZhY2UgQmFzZUFwaSB3aXRoXG4gICAgbWVtYmVyIF9fLkV4ZWN1dGVGdW5jdGlvbihjb250ZXh0XzogQ29udGV4dCwgcmVzdWx0V3JpdGVyXzogVXRmOEpzb25Xcml0ZXIpIDogVGFzayA9XG4gICAgICAgIHRhc2sge1xuICAgICAgICAgIG1hdGNoIGNvbnRleHRfLk5hbWUgd2l0aGA7XG5cbiAgZm9yIChjb25zdCBvcCBvZiBhc3Qub3BlcmF0aW9ucykge1xuICAgIGNvZGUgKz0gYFxuICAgICAgICAgIHwgJHtKU09OLnN0cmluZ2lmeShvcC5uYW1lKX0gLT5gO1xuICAgIGZvciAoY29uc3QgYXJnIG9mIG9wLmFyZ3MpIHtcbiAgICAgIGNvZGUgKz0gYFxuICAgICAgICAgICAgbGV0ICR7YXJnLm5hbWV9SnNvbl8gPVxuICAgICAgICAgICAgICBtYXRjaCBjb250ZXh0Xy5BcmdzLlRyeUdldFZhbHVlKCR7SlNPTi5zdHJpbmdpZnkoYXJnLm5hbWUpfSkgd2l0aFxuICAgICAgICAgICAgICB8IHRydWUsIHYgLT4gdlxuICAgICAgICAgICAgICB8IF8gLT4gcmFpc2UgKEZhdGFsRXhjZXB0aW9uKFwiJyR7b3AubmFtZX0oKS5hcmdzLiR7YXJnLm5hbWV9JyBtdXN0IGJlIHNldCB0byBhIHZhbHVlIG9mIHR5cGUgJHthcmcudHlwZS5uYW1lfS5cIikpXG5cbiAgICAgICAgICAgIGxldCAke2lkZW50KGFyZy5uYW1lKX0gPVxuICAgICAgICAgICAgICAke2RlY29kZVR5cGUoYXJnLnR5cGUsIGAke2FyZy5uYW1lfUpzb25fYCwgYFwiJHtvcC5uYW1lfSgpLmFyZ3MuJHthcmcubmFtZX1cImAsIGlkZW50KGFyZy5uYW1lKSkucmVwbGFjZSgvXFxuL2d1LCBcIlxcbiAgICAgICAgICAgIFwiKX1gO1xuICAgIH1cblxuICAgIGlmIChvcC5yZXR1cm5UeXBlIGluc3RhbmNlb2YgVm9pZFByaW1pdGl2ZVR5cGUpIHtcbiAgICAgIGNvZGUgKz0gYFxuXG4gICAgICAgICAgICBkbyEgKF9fLiR7Y2FwaXRhbGl6ZShvcC5uYW1lKX0gY29udGV4dF8gJHtvcC5hcmdzLmxlbmd0aCA+IDAgPyBcInt8XCIgOiBcIlwifSAke29wLmFyZ3NcbiAgICAgICAgLm1hcChhcmcgPT4gYCR7YXJnLm5hbWV9ID0gJHtpZGVudChhcmcubmFtZSl9YClcbiAgICAgICAgLmpvaW4oXCI7IFwiKX0gJHtvcC5hcmdzLmxlbmd0aCA+IDAgPyBcInx9XCIgOiBcIlwifSlcbiAgICAgIGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvZGUgKz0gYFxuXG4gICAgICAgICAgICBsZXQhIHJlc3VsdF8gPSAoX18uJHtjYXBpdGFsaXplKG9wLm5hbWUpfSBjb250ZXh0XyAke29wLmFyZ3MubGVuZ3RoID4gMCA/IFwie3xcIiA6IFwiXCJ9ICR7b3AuYXJnc1xuICAgICAgICAubWFwKGFyZyA9PiBgJHthcmcubmFtZX0gPSAke2lkZW50KGFyZy5uYW1lKX1gKVxuICAgICAgICAuam9pbihcIjsgXCIpfSAke29wLmFyZ3MubGVuZ3RoID4gMCA/IFwifH1cIiA6IFwiXCJ9KVxuICAgICAgICAgICAgJHtlbmNvZGVUeXBlKG9wLnJldHVyblR5cGUsIGByZXN1bHRfYCwgYFwiJHtvcC5uYW1lfSgpLnJldFwiYCwgMSwgZmFsc2UpLnJlcGxhY2UoL1xcbi9ndSwgXCJcXG4gICAgICAgICAgICBcIil9YDtcbiAgICB9XG4gIH1cblxuICBjb2RlICs9IGBcblxuICAgICAgICAgIHwgXyAtPiByYWlzZSAoRmF0YWxFeGNlcHRpb24oJFwiVW5rbm93biBmdW5jdGlvbiAne2NvbnRleHRfLk5hbWV9Jy5cIikpXG4gICAgICAgIH0gOj4gVGFza2A7XG5cbiAgY29kZSArPSBgXG4gICAgbWVtYmVyIF9fLkdldEFzdEpzb24oKSA9IFwiXCJcIiR7SlNPTi5zdHJpbmdpZnkoYXN0VG9Kc29uKGFzdCksIG51bGwsIDQpLnJlcGxhY2UoL1xcbi9ndSwgXCJcXG4gICAgICAgIFwiKX1cIlwiXCI7YDtcblxuICByZXR1cm4gY29kZTtcbn1cbiJdfQ==
93
+ exports.generateFSharpServerSource = generateFSharpServerSource;
@@ -1,4 +1,7 @@
1
- import { ArrayType, Base64PrimitiveType, BigIntPrimitiveType, BoolPrimitiveType, BytesPrimitiveType, CnpjPrimitiveType, CpfPrimitiveType, DatePrimitiveType, DateTimePrimitiveType, EmailPrimitiveType, EnumType, FloatPrimitiveType, HexPrimitiveType, HtmlPrimitiveType, IntPrimitiveType, JsonPrimitiveType, MoneyPrimitiveType, OptionalType, StringPrimitiveType, StructType, TypeReference, UIntPrimitiveType, UrlPrimitiveType, UuidPrimitiveType, VoidPrimitiveType, XmlPrimitiveType, } from "@sdkgen/parser";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateEnum = exports.generateStruct = exports.encodeType = exports.decodeType = exports.generateTypeName = exports.capitalize = exports.ident = void 0;
4
+ const parser_1 = require("@sdkgen/parser");
2
5
  const reservedWords = [
3
6
  "abstract",
4
7
  "as",
@@ -84,131 +87,134 @@ const reservedWords = [
84
87
  "id",
85
88
  ];
86
89
  const typesWithNativeNullable = [
87
- StringPrimitiveType,
88
- HtmlPrimitiveType,
89
- CpfPrimitiveType,
90
- CnpjPrimitiveType,
91
- BytesPrimitiveType,
92
- EmailPrimitiveType,
93
- UrlPrimitiveType,
94
- UuidPrimitiveType,
95
- HexPrimitiveType,
96
- Base64PrimitiveType,
97
- XmlPrimitiveType,
98
- StructType,
99
- ArrayType,
90
+ parser_1.StringPrimitiveType,
91
+ parser_1.HtmlPrimitiveType,
92
+ parser_1.CpfPrimitiveType,
93
+ parser_1.CnpjPrimitiveType,
94
+ parser_1.BytesPrimitiveType,
95
+ parser_1.EmailPrimitiveType,
96
+ parser_1.UrlPrimitiveType,
97
+ parser_1.UuidPrimitiveType,
98
+ parser_1.HexPrimitiveType,
99
+ parser_1.Base64PrimitiveType,
100
+ parser_1.XmlPrimitiveType,
101
+ parser_1.StructType,
102
+ parser_1.ArrayType,
100
103
  ];
101
104
  const needsTempVarForNullable = [
102
- BigIntPrimitiveType,
103
- DatePrimitiveType,
104
- DateTimePrimitiveType,
105
- FloatPrimitiveType,
106
- IntPrimitiveType,
107
- MoneyPrimitiveType,
108
- UIntPrimitiveType,
109
- ArrayType,
105
+ parser_1.BigIntPrimitiveType,
106
+ parser_1.DatePrimitiveType,
107
+ parser_1.DateTimePrimitiveType,
108
+ parser_1.FloatPrimitiveType,
109
+ parser_1.IntPrimitiveType,
110
+ parser_1.MoneyPrimitiveType,
111
+ parser_1.UIntPrimitiveType,
112
+ parser_1.ArrayType,
110
113
  ];
111
- export function ident(name) {
114
+ function ident(name) {
112
115
  return reservedWords.includes(name) ? `${name}'` : name;
113
116
  }
114
- export function capitalize(name) {
117
+ exports.ident = ident;
118
+ function capitalize(name) {
115
119
  return name[0].toUpperCase() + name.slice(1);
116
120
  }
117
- export function generateTypeName(type) {
121
+ exports.capitalize = capitalize;
122
+ function generateTypeName(type) {
118
123
  switch (type.constructor) {
119
- case StringPrimitiveType:
124
+ case parser_1.StringPrimitiveType:
120
125
  return "string";
121
- case IntPrimitiveType:
126
+ case parser_1.IntPrimitiveType:
122
127
  return "int";
123
- case UIntPrimitiveType:
128
+ case parser_1.UIntPrimitiveType:
124
129
  return "uint";
125
- case FloatPrimitiveType:
130
+ case parser_1.FloatPrimitiveType:
126
131
  return "double";
127
- case BigIntPrimitiveType:
132
+ case parser_1.BigIntPrimitiveType:
128
133
  return "bigint";
129
- case DatePrimitiveType:
130
- case DateTimePrimitiveType:
134
+ case parser_1.DatePrimitiveType:
135
+ case parser_1.DateTimePrimitiveType:
131
136
  return "DateTime";
132
- case BoolPrimitiveType:
137
+ case parser_1.BoolPrimitiveType:
133
138
  return "bool";
134
- case BytesPrimitiveType:
139
+ case parser_1.BytesPrimitiveType:
135
140
  return "byte[]";
136
- case MoneyPrimitiveType:
141
+ case parser_1.MoneyPrimitiveType:
137
142
  return "decimal";
138
- case UuidPrimitiveType:
143
+ case parser_1.UuidPrimitiveType:
139
144
  return "Guid";
140
- case CpfPrimitiveType:
141
- case CnpjPrimitiveType:
142
- case EmailPrimitiveType:
143
- case HtmlPrimitiveType:
144
- case UrlPrimitiveType:
145
- case HexPrimitiveType:
146
- case Base64PrimitiveType:
147
- case XmlPrimitiveType:
145
+ case parser_1.CpfPrimitiveType:
146
+ case parser_1.CnpjPrimitiveType:
147
+ case parser_1.EmailPrimitiveType:
148
+ case parser_1.HtmlPrimitiveType:
149
+ case parser_1.UrlPrimitiveType:
150
+ case parser_1.HexPrimitiveType:
151
+ case parser_1.Base64PrimitiveType:
152
+ case parser_1.XmlPrimitiveType:
148
153
  return "string";
149
- case VoidPrimitiveType:
154
+ case parser_1.VoidPrimitiveType:
150
155
  return "void";
151
- case JsonPrimitiveType:
156
+ case parser_1.JsonPrimitiveType:
152
157
  return "JsonElement";
153
- case OptionalType:
158
+ case parser_1.OptionalType:
154
159
  return `${generateTypeName(type.base)} option`;
155
- case ArrayType:
160
+ case parser_1.ArrayType:
156
161
  return `${generateTypeName(type.base)} list`;
157
- case StructType:
162
+ case parser_1.StructType:
158
163
  return type.name;
159
- case EnumType:
164
+ case parser_1.EnumType:
160
165
  return type.name;
161
- case TypeReference:
166
+ case parser_1.TypeReference:
162
167
  return generateTypeName(type.type);
163
168
  default:
164
169
  throw new Error(`BUG: generateTypeName with ${type.constructor.name}`);
165
170
  }
166
171
  }
167
- export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, maybeNull = true) {
172
+ exports.generateTypeName = generateTypeName;
173
+ function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, maybeNull = true) {
168
174
  switch (type.constructor) {
169
- case IntPrimitiveType: {
175
+ case parser_1.IntPrimitiveType: {
170
176
  return `
171
177
  decodeInt32 ${jsonElementVar} ${path}
172
178
  `
173
179
  .replace(/\n {16}/gu, "\n")
174
180
  .trim();
175
181
  }
176
- case UIntPrimitiveType: {
182
+ case parser_1.UIntPrimitiveType: {
177
183
  return `
178
184
  decodeUInt32 ${jsonElementVar} ${path}
179
185
  `
180
186
  .replace(/\n {16}/gu, "\n")
181
187
  .trim();
182
188
  }
183
- case MoneyPrimitiveType: {
189
+ case parser_1.MoneyPrimitiveType: {
184
190
  return `
185
191
  (decodeMoney ${jsonElementVar} ${path}) / 100m
186
192
  `
187
193
  .replace(/\n {16}/gu, "\n")
188
194
  .trim();
189
195
  }
190
- case FloatPrimitiveType: {
196
+ case parser_1.FloatPrimitiveType: {
191
197
  return `
192
198
  decodeFloat ${jsonElementVar} ${path}
193
199
  `
194
200
  .replace(/\n {16}/gu, "\n")
195
201
  .trim();
196
202
  }
197
- case BigIntPrimitiveType: {
203
+ case parser_1.BigIntPrimitiveType: {
198
204
  return `
199
205
  decodeBigInt ${jsonElementVar} ${path}
200
206
  `
201
207
  .replace(/\n {16}/gu, "\n")
202
208
  .trim();
203
209
  }
204
- case StringPrimitiveType: {
210
+ case parser_1.StringPrimitiveType: {
205
211
  return `
206
212
  decodeString ${jsonElementVar} ${path}
207
213
  `
208
214
  .replace(/\n {16}/gu, "\n")
209
215
  .trim();
210
216
  }
211
- case HtmlPrimitiveType: {
217
+ case parser_1.HtmlPrimitiveType: {
212
218
  // TODO: validate HTML
213
219
  return `
214
220
  decodeHtml ${jsonElementVar} ${path}
@@ -216,7 +222,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
216
222
  .replace(/\n {16}/gu, "\n")
217
223
  .trim();
218
224
  }
219
- case CpfPrimitiveType: {
225
+ case parser_1.CpfPrimitiveType: {
220
226
  // TODO: validate CPF
221
227
  return `
222
228
  decodeCpf ${jsonElementVar} ${path}
@@ -224,7 +230,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
224
230
  .replace(/\n {16}/gu, "\n")
225
231
  .trim();
226
232
  }
227
- case CnpjPrimitiveType: {
233
+ case parser_1.CnpjPrimitiveType: {
228
234
  // TODO: validate CNPJ
229
235
  return `
230
236
  decodeCnpj ${jsonElementVar} ${path}
@@ -232,7 +238,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
232
238
  .replace(/\n {16}/gu, "\n")
233
239
  .trim();
234
240
  }
235
- case EmailPrimitiveType: {
241
+ case parser_1.EmailPrimitiveType: {
236
242
  // TODO: validate Email
237
243
  return `
238
244
  decodeEmail ${jsonElementVar} ${path}
@@ -240,7 +246,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
240
246
  .replace(/\n {16}/gu, "\n")
241
247
  .trim();
242
248
  }
243
- case UrlPrimitiveType: {
249
+ case parser_1.UrlPrimitiveType: {
244
250
  // TODO: validate URL
245
251
  return `
246
252
  decodeUrl ${jsonElementVar} ${path}
@@ -248,7 +254,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
248
254
  .replace(/\n {16}/gu, "\n")
249
255
  .trim();
250
256
  }
251
- case UuidPrimitiveType: {
257
+ case parser_1.UuidPrimitiveType: {
252
258
  // TODO: validate UUID
253
259
  return `
254
260
  decodeUuid ${jsonElementVar} ${path}
@@ -256,7 +262,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
256
262
  .replace(/\n {16}/gu, "\n")
257
263
  .trim();
258
264
  }
259
- case HexPrimitiveType: {
265
+ case parser_1.HexPrimitiveType: {
260
266
  // TODO: validate Hex
261
267
  return `
262
268
  decodeHex ${jsonElementVar} ${path}
@@ -264,7 +270,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
264
270
  .replace(/\n {16}/gu, "\n")
265
271
  .trim();
266
272
  }
267
- case Base64PrimitiveType: {
273
+ case parser_1.Base64PrimitiveType: {
268
274
  // TODO: validate Base64
269
275
  return `
270
276
  decodeBase64 ${jsonElementVar} ${path}
@@ -272,7 +278,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
272
278
  .replace(/\n {16}/gu, "\n")
273
279
  .trim();
274
280
  }
275
- case XmlPrimitiveType: {
281
+ case parser_1.XmlPrimitiveType: {
276
282
  // TODO: validate XML
277
283
  return `
278
284
  decodeXml ${jsonElementVar} ${path}
@@ -280,23 +286,23 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
280
286
  .replace(/\n {16}/gu, "\n")
281
287
  .trim();
282
288
  }
283
- case BoolPrimitiveType: {
289
+ case parser_1.BoolPrimitiveType: {
284
290
  return `
285
291
  decodeBool ${jsonElementVar} ${path}
286
292
  `
287
293
  .replace(/\n {16}/gu, "\n")
288
294
  .trim();
289
295
  }
290
- case BytesPrimitiveType: {
296
+ case parser_1.BytesPrimitiveType: {
291
297
  return `
292
298
  decodeBytes ${jsonElementVar} ${path}
293
299
  `
294
300
  .replace(/\n {16}/gu, "\n")
295
301
  .trim();
296
302
  }
297
- case TypeReference:
303
+ case parser_1.TypeReference:
298
304
  return decodeType(type.type, jsonElementVar, path, targetVar, suffix);
299
- case OptionalType:
305
+ case parser_1.OptionalType:
300
306
  if (needsTempVarForNullable.includes(type.base.constructor)) {
301
307
  return `match ${jsonElementVar}.ValueKind with
302
308
  | JsonValueKind.Null | JsonValueKind.Undefined -> None
@@ -306,7 +312,7 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
306
312
  .replace(/\n {16}/gu, "\n")
307
313
  .trim();
308
314
  }
309
- if (type.base instanceof OptionalType || type.base instanceof ArrayType) {
315
+ if (type.base instanceof parser_1.OptionalType || type.base instanceof parser_1.ArrayType) {
310
316
  return `
311
317
  (>.>) decodeOptional ${decodeType(type.base, jsonElementVar, path, targetVar, suffix, false)}
312
318
  `
@@ -318,10 +324,10 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
318
324
  `
319
325
  .replace(/\n {16}/gu, "\n")
320
326
  .trim();
321
- case EnumType:
322
- case StructType:
327
+ case parser_1.EnumType:
328
+ case parser_1.StructType:
323
329
  return `Decode${type.name} ${jsonElementVar} ${path}`;
324
- case JsonPrimitiveType:
330
+ case parser_1.JsonPrimitiveType:
325
331
  if (maybeNull) {
326
332
  return `
327
333
  ${jsonElementVar}
@@ -330,21 +336,21 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
330
336
  .trim();
331
337
  }
332
338
  return `${targetVar} <- ${jsonElementVar}`;
333
- case DateTimePrimitiveType: {
339
+ case parser_1.DateTimePrimitiveType: {
334
340
  return `
335
341
  decodeDateTime ${jsonElementVar} ${path}
336
342
  `
337
343
  .replace(/\n {16}/gu, "\n")
338
344
  .trim();
339
345
  }
340
- case DatePrimitiveType: {
346
+ case parser_1.DatePrimitiveType: {
341
347
  return `
342
348
  decodeDate ${jsonElementVar} ${path}
343
349
  `
344
350
  .replace(/\n {16}/gu, "\n")
345
351
  .trim();
346
352
  }
347
- case ArrayType: {
353
+ case parser_1.ArrayType: {
348
354
  return `
349
355
  match ${jsonElementVar}.ValueKind with
350
356
  | JsonValueKind.Array ->
@@ -364,49 +370,50 @@ export function decodeType(type, jsonElementVar, path, targetVar, suffix = 1, ma
364
370
  throw new Error(`BUG: decodeType with ${type.constructor.name}`);
365
371
  }
366
372
  }
367
- export function encodeType(type, valueVar, path, suffix = 1, isRef = true) {
373
+ exports.decodeType = decodeType;
374
+ function encodeType(type, valueVar, path, suffix = 1, isRef = true) {
368
375
  switch (type.constructor) {
369
- case StringPrimitiveType: {
376
+ case parser_1.StringPrimitiveType: {
370
377
  return `resultWriter_.WriteStringValue(${valueVar})`;
371
378
  }
372
- case FloatPrimitiveType:
373
- case UIntPrimitiveType:
374
- case IntPrimitiveType: {
379
+ case parser_1.FloatPrimitiveType:
380
+ case parser_1.UIntPrimitiveType:
381
+ case parser_1.IntPrimitiveType: {
375
382
  return `resultWriter_.WriteNumberValue(${valueVar})`;
376
383
  }
377
- case MoneyPrimitiveType: {
384
+ case parser_1.MoneyPrimitiveType: {
378
385
  return `resultWriter_.WriteNumberValue(int (Math.Round(${valueVar} * 100m)))`;
379
386
  }
380
- case BigIntPrimitiveType: {
387
+ case parser_1.BigIntPrimitiveType: {
381
388
  return `resultWriter_.WriteStringValue(${valueVar}.ToString())`;
382
389
  }
383
- case BoolPrimitiveType: {
390
+ case parser_1.BoolPrimitiveType: {
384
391
  return `resultWriter_.WriteBooleanValue(${valueVar})`;
385
392
  }
386
- case BytesPrimitiveType: {
393
+ case parser_1.BytesPrimitiveType: {
387
394
  return `resultWriter_.WriteStringValue(Convert.ToBase64String(${valueVar}))`;
388
395
  }
389
- case DateTimePrimitiveType: {
396
+ case parser_1.DateTimePrimitiveType: {
390
397
  return `resultWriter_.WriteStringValue(${valueVar}.ToString("yyyy-MM-ddTHH:mm:ss.FFFFFF'Z'"))`;
391
398
  }
392
- case DatePrimitiveType: {
399
+ case parser_1.DatePrimitiveType: {
393
400
  return `resultWriter_.WriteStringValue(${valueVar}.ToString("yyyy-MM-dd"))`;
394
401
  }
395
402
  // TODO: format those
396
- case CpfPrimitiveType:
397
- case CnpjPrimitiveType:
398
- case EmailPrimitiveType:
399
- case HtmlPrimitiveType:
400
- case UrlPrimitiveType:
401
- case UuidPrimitiveType:
402
- case Base64PrimitiveType:
403
- case HexPrimitiveType:
404
- case XmlPrimitiveType: {
403
+ case parser_1.CpfPrimitiveType:
404
+ case parser_1.CnpjPrimitiveType:
405
+ case parser_1.EmailPrimitiveType:
406
+ case parser_1.HtmlPrimitiveType:
407
+ case parser_1.UrlPrimitiveType:
408
+ case parser_1.UuidPrimitiveType:
409
+ case parser_1.Base64PrimitiveType:
410
+ case parser_1.HexPrimitiveType:
411
+ case parser_1.XmlPrimitiveType: {
405
412
  return `resultWriter_.WriteStringValue(${valueVar})`;
406
413
  }
407
- case OptionalType: {
414
+ case parser_1.OptionalType: {
408
415
  let realBaseType = type.base;
409
- while (realBaseType instanceof TypeReference) {
416
+ while (realBaseType instanceof parser_1.TypeReference) {
410
417
  realBaseType = realBaseType.type;
411
418
  }
412
419
  return `
@@ -418,15 +425,15 @@ export function encodeType(type, valueVar, path, suffix = 1, isRef = true) {
418
425
  .replace(/\n {14}/gu, "\n")
419
426
  .trim();
420
427
  }
421
- case TypeReference:
428
+ case parser_1.TypeReference:
422
429
  return encodeType(type.type, valueVar, path, suffix, isRef);
423
- case EnumType:
430
+ case parser_1.EnumType:
424
431
  return `Encode${type.name} ${valueVar} resultWriter_ ${path}`;
425
- case StructType:
432
+ case parser_1.StructType:
426
433
  return `Encode${type.name} ${valueVar} resultWriter_ ${path}`;
427
- case JsonPrimitiveType:
434
+ case parser_1.JsonPrimitiveType:
428
435
  return `${valueVar}.WriteTo(resultWriter_)`;
429
- case ArrayType: {
436
+ case parser_1.ArrayType: {
430
437
  return `
431
438
  resultWriter_.WriteStartArray()
432
439
  for i${suffix} in 0..${valueVar}.Length - 1 do
@@ -440,7 +447,8 @@ export function encodeType(type, valueVar, path, suffix = 1, isRef = true) {
440
447
  throw new Error(`BUG: encodeType with ${type.constructor.name}`);
441
448
  }
442
449
  }
443
- export function generateStruct(struct) {
450
+ exports.encodeType = encodeType;
451
+ function generateStruct(struct) {
444
452
  return `
445
453
  type ${struct.name} = {
446
454
  ${struct.fields.map(field => `${capitalize(field.name)}: ${generateTypeName(field.type)}`).join(";\n ")}
@@ -468,7 +476,8 @@ let Encode${struct.name} (obj_: ${struct.name}) (resultWriter_: Utf8JsonWriter)
468
476
  .join("\n")}
469
477
  resultWriter_.WriteEndObject()`;
470
478
  }
471
- export function generateEnum(type) {
479
+ exports.generateStruct = generateStruct;
480
+ function generateEnum(type) {
472
481
  return `
473
482
  type ${type.name} =
474
483
  ${type.values.map(({ value }) => `| ${capitalize(value)}`).join("\n ")}
@@ -485,4 +494,4 @@ let Encode${type.name} (obj_: ${type.name}) (resultWriter_: Utf8JsonWriter) (pat
485
494
 
486
495
  `;
487
496
  }
488
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxhQUFhLEdBQUc7SUFDcEIsVUFBVTtJQUNWLElBQUk7SUFDSixNQUFNO0lBQ04sTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sTUFBTTtJQUNOLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztJQUNULE9BQU87SUFDUCxPQUFPO0lBQ1AsVUFBVTtJQUNWLFNBQVM7SUFDVCxTQUFTO0lBQ1QsVUFBVTtJQUNWLElBQUk7SUFDSixRQUFRO0lBQ1IsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsVUFBVTtJQUNWLFFBQVE7SUFDUixPQUFPO0lBQ1AsU0FBUztJQUNULE9BQU87SUFDUCxPQUFPO0lBQ1AsS0FBSztJQUNMLFNBQVM7SUFDVCxNQUFNO0lBQ04sSUFBSTtJQUNKLFVBQVU7SUFDVixJQUFJO0lBQ0osS0FBSztJQUNMLFdBQVc7SUFDWCxVQUFVO0lBQ1YsSUFBSTtJQUNKLE1BQU07SUFDTixNQUFNO0lBQ04sV0FBVztJQUNYLEtBQUs7SUFDTCxN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T0FBTztPQUNGLElBQUksQ0FBQyxJQUFJO0lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7WUFFN0QsSUFBSSxDQUFDLElBQUksMENBQTBDLElBQUksQ0FBQyxJQUFJOzs7SUFHcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzs4REFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7WUFFekcsSUFBSSxDQUFDLElBQUksV0FBVyxJQUFJLENBQUMsSUFBSTs7SUFFckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOztDQUVuSSxDQUFDO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZSB9IGZyb20gXCJAc2RrZ2VuL3BhcnNlclwiO1xuaW1wb3J0IHtcbiAgQXJyYXlUeXBlLFxuICBCYXNlNjRQcmltaXRpdmVUeXBlLFxuICBCaWdJbnRQcmltaXRpdmVUeXBlLFxuICBCb29sUHJpbWl0aXZlVHlwZSxcbiAgQnl0ZXNQcmltaXRpdmVUeXBlLFxuICBDbnBqUHJpbWl0aXZlVHlwZSxcbiAgQ3BmUHJpbWl0aXZlVHlwZSxcbiAgRGF0ZVByaW1pdGl2ZVR5cGUsXG4gIERhdGVUaW1lUHJpbWl0aXZlVHlwZSxcbiAgRW1haWxQcmltaXRpdmVUeXBlLFxuICBFbnVtVHlwZSxcbiAgRmxvYXRQcmltaXRpdmVUeXBlLFxuICBIZXhQcmltaXRpdmVUeXBlLFxuICBIdG1sUHJpbWl0aXZlVHlwZSxcbiAgSW50UHJpbWl0aXZlVHlwZSxcbiAgSnNvblByaW1pdGl2ZVR5cGUsXG4gIE1vbmV5UHJpbWl0aXZlVHlwZSxcbiAgT3B0aW9uYWxUeXBlLFxuICBTdHJpbmdQcmltaXRpdmVUeXBlLFxuICBTdHJ1Y3RUeXBlLFxuICBUeXBlUmVmZXJlbmNlLFxuICBVSW50UHJpbWl0aXZlVHlwZSxcbiAgVXJsUHJpbWl0aXZlVHlwZSxcbiAgVXVpZFByaW1pdGl2ZVR5cGUsXG4gIFZvaWRQcmltaXRpdmVUeXBlLFxuICBYbWxQcmltaXRpdmVUeXBlLFxufSBmcm9tIFwiQHNka2dlbi9wYXJzZXJcIjtcblxuY29uc3QgcmVzZXJ2ZWRXb3JkcyA9IFtcbiAgXCJhYnN0cmFjdFwiLFxuICBcImFzXCIsXG4gIFwiYmFzZVwiLFxuICBcImJvb2xcIixcbiAgXCJicmVha1wiLFxuICBcImJ5dGVcIixcbiAgXCJjYXNlXCIsXG4gIFwiY2F0Y2hcIixcbiAgXCJjaGFyXCIsXG4gIFwiY2hlY2tlZFwiLFxuICBcImNsYXNzXCIsXG4gIFwiY29uc3RcIixcbiAgXCJjb250aW51ZVwiLFxuICBcImRlY2ltYWxcIixcbiAgXCJkZWZhdWx0XCIsXG4gIFwiZGVsZWdhdGVcIixcbiAgXCJkb1wiLFxuICBcImRvdWJsZVwiLFxuICBcImVsc2VcIixcbiAgXCJlbnVtXCIsXG4gIFwiZXZlbnRcIixcbiAgXCJleHBsaWNpdFwiLFxuICBcImV4dGVyblwiLFxuICBcImZhbHNlXCIsXG4gIFwiZmluYWxseVwiLFxuICBcImZpeGVkXCIsXG4gIFwiZmxvYXRcIixcbiAgXCJmb3JcIixcbiAgXCJmb3JlYWNoXCIsXG4gIFwiZ290b1wiLFxuICBcImlmXCIsXG4gIFwiaW1wbGljaXRcIixcbiAgXCJpblwiLFxuICBcImludFwiLFxuICBcImludGVyZmFjZVwiLFxuICBcImludGVybmFsXCIsXG4gIFwiaXNcIixcbiAgXCJsb2NrXCIsXG4gIFwibG9uZ1wiLFxuICBcIm5hbWVzcGFjZVwiLFxuICBcIm5ld1wiLFxuICBcIm51bGxcIixcbiAgXCJvYmplY3RcIixcbiAgXCJvcGVyYXRvclwiLFxuICBcIm91dFwiLFxuICBcIm92ZXJyaWRlXCIsXG4gIFwicGFyYW1zXCIsXG4gIFwicHJpdmF0ZVwiLFxuICBcInByb3RlY3RlZFwiLFxuICBcInB1YmxpY1wiLFxuICBcInJlYWRvbmx5XCIsXG4gIFwicmVmXCIsXG4gIFwicmV0dXJuXCIsXG4gIFwic2J5dGVcIixcbiAgXCJzZWFsZWRcIixcbiAgXCJzaG9ydFwiLFxuICBcInNpemVvZlwiLFxuICBcInN0YWNrYWxsb2NcIixcbiAgXCJzdGF0aWNcIixcbiAgXCJzdHJpbmdcIixcbiAgXCJzdHJ1Y3RcIixcbiAgXCJzd2l0Y2hcIixcbiAgXCJ0aGlzXCIsXG4gIFwidGhyb3dcIixcbiAgXCJ0cnVlXCIsXG4gIFwidHJ5XCIsXG4gIFwidHlwZW9mXCIsXG4gIFwidWludFwiLFxuICBcInVsb25nXCIsXG4gIFwidW5jaGVja2VkXCIsXG4gIFwidW5zYWZlXCIsXG4gIFwidXNob3J0XCIsXG4gIFwidXNpbmdcIixcbiAgXCJ1c2luZ1wiLFxuICBcInN0YXRpY1wiLFxuICBcInZpcnR1YWxcIixcbiAgXCJ2b2lkXCIsXG4gIFwidm9sYXRpbGVcIixcbiAgXCJ3aGlsZVwiLFxuICBcInR5cGVcIixcbiAgXCJlbmRcIixcbiAgXCJpZFwiLFxuXTtcblxuY29uc3QgdHlwZXNXaXRoTmF0aXZlTnVsbGFibGU6IEZ1bmN0aW9uW10gPSBbXG4gIFN0cmluZ1ByaW1pdGl2ZVR5cGUsXG4gIEh0bWxQcmltaXRpdmVUeXBlLFxuICBDcGZQcmltaXRpdmVUeXBlLFxuICBDbnBqUHJpbWl0aXZlVHlwZSxcbiAgQnl0ZXNQcmltaXRpdmVUeXBlLFxuICBFbWFpbFByaW1pdGl2ZVR5cGUsXG4gIFVybFByaW1pdGl2ZVR5cGUsXG4gIFV1aWRQcmltaXRpdmVUeXBlLFxuICBIZXhQcmltaXRpdmVUeXBlLFxuICBCYXNlNjRQcmltaXRpdmVUeXBlLFxuICBYbWxQcmltaXRpdmVUeXBlLFxuICBTdHJ1Y3RUeXBlLFxuICBBcnJheVR5cGUsXG5dO1xuXG5jb25zdCBuZWVkc1RlbXBWYXJGb3JOdWxsYWJsZTogRnVuY3Rpb25bXSA9IFtcbiAgQmlnSW50UHJpbWl0aXZlVHlwZSxcbiAgRGF0ZVByaW1pdGl2ZVR5cGUsXG4gIERhdGVUaW1lUHJpbWl0aXZlVHlwZSxcbiAgRmxvYXRQcmltaXRpdmVUeXBlLFxuICBJbnRQcmltaXRpdmVUeXBlLFxuICBNb25leVByaW1pdGl2ZVR5cGUsXG4gIFVJbnRQcmltaXRpdmVUeXBlLFxuICBBcnJheVR5cGUsXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gaWRlbnQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc2VydmVkV29yZHMuaW5jbHVkZXMobmFtZSkgPyBgJHtuYW1lfSdgIDogbmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhcGl0YWxpemUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5hbWVbMF0udG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVR5cGVOYW1lKHR5cGU6IFR5cGUpOiBzdHJpbmcge1xuICBzd2l0Y2ggKHR5cGUuY29uc3RydWN0b3IpIHtcbiAgICBjYXNlIFN0cmluZ1ByaW1pdGl2ZVR5cGU6XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICBjYXNlIEludFByaW1pdGl2ZVR5cGU6XG4gICAgICByZXR1cm4gXCJpbnRcIjtcbiAgICBjYXNlIFVJbnRQcmltaXRpdmVUeXBlOlxuICAgICAgcmV0dXJuIFwidWludFwiO1xuICAgIGNhc2UgRmxvYXRQcmltaXRpdmVUeXBlOlxuICAgICAgcmV0dXJuIFwiZG91YmxlXCI7XG4gICAgY2FzZSBCaWdJbnRQcmltaXRpdmVUeXBlOlxuICAgICAgcmV0dXJuIFwiYmlnaW50XCI7XG4gICAgY2FzZSBEYXRlUHJpbWl0aXZlVHlwZTpcbiAgICBjYXNlIERhdGVUaW1lUHJpbWl0aXZlVHlwZTpcbiAgICAgIHJldHVybiBcIkRhdGVUaW1lXCI7XG4gICAgY2FzZSBCb29sUHJpbWl0aXZlVHlwZTpcbiAgICAgIHJldHVybiBcImJvb2xcIjtcbiAgICBjYXNlIEJ5dGVzUHJpbWl0aXZlVHlwZTpcbiAgICAgIHJldHVybiBcImJ5dGVbXVwiO1xuICAgIGNhc2UgTW9uZXlQcmltaXRpdmVUeXBlOlxuICAgICAgcmV0dXJuIFwiZGVjaW1hbFwiO1xuICAgIGNhc2UgVXVpZFByaW1pdGl2ZVR5cGU6XG4gICAgICByZXR1cm4gXCJHdWlkXCI7XG4gICAgY2FzZSBDcGZQcmltaXRpdmVUeXBlOlxuICAgIGNhc2UgQ25walByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBFbWFpbFByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBIdG1sUHJpbWl0aXZlVHlwZTpcbiAgICBjYXNlIFVybFByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBIZXhQcmltaXRpdmVUeXBlOlxuICAgIGNhc2UgQmFzZTY0UHJpbWl0aXZlVHlwZTpcbiAgICBjYXNlIFhtbFByaW1pdGl2ZVR5cGU6XG4gICAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgICBjYXNlIFZvaWRQcmltaXRpdmVUeXBlOlxuICAgICAgcmV0dXJuIFwidm9pZFwiO1xuICAgIGNhc2UgSnNvblByaW1pdGl2ZVR5cGU6XG4gICAgICByZXR1cm4gXCJKc29uRWxlbWVudFwiO1xuICAgIGNhc2UgT3B0aW9uYWxUeXBlOlxuICAgICAgcmV0dXJuIGAke2dlbmVyYXRlVHlwZU5hbWUoKHR5cGUgYXMgT3B0aW9uYWxUeXBlKS5iYXNlKX0gb3B0aW9uYDtcbiAgICBjYXNlIEFycmF5VHlwZTpcbiAgICAgIHJldHVybiBgJHtnZW5lcmF0ZVR5cGVOYW1lKCh0eXBlIGFzIEFycmF5VHlwZSkuYmFzZSl9IGxpc3RgO1xuICAgIGNhc2UgU3RydWN0VHlwZTpcbiAgICAgIHJldHVybiB0eXBlLm5hbWU7XG4gICAgY2FzZSBFbnVtVHlwZTpcbiAgICAgIHJldHVybiB0eXBlLm5hbWU7XG4gICAgY2FzZSBUeXBlUmVmZXJlbmNlOlxuICAgICAgcmV0dXJuIGdlbmVyYXRlVHlwZU5hbWUoKHR5cGUgYXMgVHlwZVJlZmVyZW5jZSkudHlwZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQlVHOiBnZW5lcmF0ZVR5cGVOYW1lIHdpdGggJHt0eXBlLmNvbnN0cnVjdG9yLm5hbWV9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVR5cGUodHlwZTogVHlwZSwganNvbkVsZW1lbnRWYXI6IHN0cmluZywgcGF0aDogc3RyaW5nLCB0YXJnZXRWYXI6IHN0cmluZywgc3VmZml4ID0gMSwgbWF5YmVOdWxsID0gdHJ1ZSk6IHN0cmluZyB7XG4gIHN3aXRjaCAodHlwZS5jb25zdHJ1Y3Rvcikge1xuICAgIGNhc2UgSW50UHJpbWl0aXZlVHlwZToge1xuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgZGVjb2RlSW50MzIgJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBVSW50UHJpbWl0aXZlVHlwZToge1xuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgZGVjb2RlVUludDMyICR7anNvbkVsZW1lbnRWYXJ9ICR7cGF0aH1cbiAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTZ9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIGNhc2UgTW9uZXlQcmltaXRpdmVUeXBlOiB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgICAgIChkZWNvZGVNb25leSAke2pzb25FbGVtZW50VmFyfSAke3BhdGh9KSAvIDEwMG1cbiAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTZ9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIGNhc2UgRmxvYXRQcmltaXRpdmVUeXBlOiB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgICAgIGRlY29kZUZsb2F0ICR7anNvbkVsZW1lbnRWYXJ9ICR7cGF0aH1cbiAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTZ9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIGNhc2UgQmlnSW50UHJpbWl0aXZlVHlwZToge1xuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgICBkZWNvZGVCaWdJbnQgJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBTdHJpbmdQcmltaXRpdmVUeXBlOiB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgICAgIGRlY29kZVN0cmluZyAke2pzb25FbGVtZW50VmFyfSAke3BhdGh9XG4gICAgICAgICAgICBgXG4gICAgICAgIC5yZXBsYWNlKC9cXG4gezE2fS9ndSwgXCJcXG5cIilcbiAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjYXNlIEh0bWxQcmltaXRpdmVUeXBlOiB7XG4gICAgICAvLyBUT0RPOiB2YWxpZGF0ZSBIVE1MXG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgICAgIGRlY29kZUh0bWwgJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBDcGZQcmltaXRpdmVUeXBlOiB7XG4gICAgICAvLyBUT0RPOiB2YWxpZGF0ZSBDUEZcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgZGVjb2RlQ3BmICR7anNvbkVsZW1lbnRWYXJ9ICR7cGF0aH1cbiAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTZ9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIGNhc2UgQ25walByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIC8vIFRPRE86IHZhbGlkYXRlIENOUEpcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgZGVjb2RlQ25waiAke2pzb25FbGVtZW50VmFyfSAke3BhdGh9XG4gICAgICAgICAgICBgXG4gICAgICAgIC5yZXBsYWNlKC9cXG4gezE2fS9ndSwgXCJcXG5cIilcbiAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjYXNlIEVtYWlsUHJpbWl0aXZlVHlwZToge1xuICAgICAgLy8gVE9ETzogdmFsaWRhdGUgRW1haWxcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgZGVjb2RlRW1haWwgJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBVcmxQcmltaXRpdmVUeXBlOiB7XG4gICAgICAvLyBUT0RPOiB2YWxpZGF0ZSBVUkxcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgZGVjb2RlVXJsICR7anNvbkVsZW1lbnRWYXJ9ICR7cGF0aH1cbiAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTZ9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIGNhc2UgVXVpZFByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIC8vIFRPRE86IHZhbGlkYXRlIFVVSURcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgZGVjb2RlVXVpZCAke2pzb25FbGVtZW50VmFyfSAke3BhdGh9XG4gICAgICAgICAgICBgXG4gICAgICAgIC5yZXBsYWNlKC9cXG4gezE2fS9ndSwgXCJcXG5cIilcbiAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjYXNlIEhleFByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIC8vIFRPRE86IHZhbGlkYXRlIEhleFxuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgICBkZWNvZGVIZXggJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBCYXNlNjRQcmltaXRpdmVUeXBlOiB7XG4gICAgICAvLyBUT0RPOiB2YWxpZGF0ZSBCYXNlNjRcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgZGVjb2RlQmFzZTY0ICR7anNvbkVsZW1lbnRWYXJ9ICR7cGF0aH1cbiAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTZ9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIGNhc2UgWG1sUHJpbWl0aXZlVHlwZToge1xuICAgICAgLy8gVE9ETzogdmFsaWRhdGUgWE1MXG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgICAgIGRlY29kZVhtbCAke2pzb25FbGVtZW50VmFyfSAke3BhdGh9XG4gICAgICAgICAgICBgXG4gICAgICAgIC5yZXBsYWNlKC9cXG4gezE2fS9ndSwgXCJcXG5cIilcbiAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjYXNlIEJvb2xQcmltaXRpdmVUeXBlOiB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgICAgIGRlY29kZUJvb2wgJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBCeXRlc1ByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgZGVjb2RlQnl0ZXMgJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBUeXBlUmVmZXJlbmNlOlxuICAgICAgcmV0dXJuIGRlY29kZVR5cGUoKHR5cGUgYXMgVHlwZVJlZmVyZW5jZSkudHlwZSwganNvbkVsZW1lbnRWYXIsIHBhdGgsIHRhcmdldFZhciwgc3VmZml4KTtcbiAgICBjYXNlIE9wdGlvbmFsVHlwZTpcbiAgICAgIGlmIChuZWVkc1RlbXBWYXJGb3JOdWxsYWJsZS5pbmNsdWRlcygodHlwZSBhcyBPcHRpb25hbFR5cGUpLmJhc2UuY29uc3RydWN0b3IpKSB7XG4gICAgICAgIHJldHVybiBgbWF0Y2ggJHtqc29uRWxlbWVudFZhcn0uVmFsdWVLaW5kIHdpdGhcbiAgICAgICAgICAgICAgICAgIHwgSnNvblZhbHVlS2luZC5OdWxsIHwgSnNvblZhbHVlS2luZC5VbmRlZmluZWQgLT4gTm9uZVxuICAgICAgICAgICAgICAgICAgfCBfIC0+XG4gICAgICAgICAgICAgICAgICAgICgke2RlY29kZVR5cGUoKHR5cGUgYXMgT3B0aW9uYWxUeXBlKS5iYXNlLCBqc29uRWxlbWVudFZhciwgcGF0aCwgdGFyZ2V0VmFyLCBzdWZmaXgsIGZhbHNlKS5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgIC9cXG4vZ3UsXG4gICAgICAgICAgICAgICAgICAgICAgXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiLFxuICAgICAgICAgICAgICAgICAgICApfSkgfD4gU29tZVxuICAgICAgICAgICAgICAgIGBcbiAgICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgICAgLnRyaW0oKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCh0eXBlIGFzIEFycmF5VHlwZSkuYmFzZSBpbnN0YW5jZW9mIE9wdGlvbmFsVHlwZSB8fCAodHlwZSBhcyBBcnJheVR5cGUpLmJhc2UgaW5zdGFuY2VvZiBBcnJheVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgICAoPi4+KSBkZWNvZGVPcHRpb25hbCAke2RlY29kZVR5cGUoKHR5cGUgYXMgT3B0aW9uYWxUeXBlKS5iYXNlLCBqc29uRWxlbWVudFZhciwgcGF0aCwgdGFyZ2V0VmFyLCBzdWZmaXgsIGZhbHNlKX1cbiAgICAgICAgICAgIGBcbiAgICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgICAgLnRyaW0oKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgICBkZWNvZGVPcHRpb25hbCAke2RlY29kZVR5cGUoKHR5cGUgYXMgT3B0aW9uYWxUeXBlKS5iYXNlLCBqc29uRWxlbWVudFZhciwgcGF0aCwgdGFyZ2V0VmFyLCBzdWZmaXgsIGZhbHNlKX1cbiAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTZ9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIGNhc2UgRW51bVR5cGU6XG4gICAgY2FzZSBTdHJ1Y3RUeXBlOlxuICAgICAgcmV0dXJuIGBEZWNvZGUke3R5cGUubmFtZX0gJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofWA7XG4gICAgY2FzZSBKc29uUHJpbWl0aXZlVHlwZTpcbiAgICAgIGlmIChtYXliZU51bGwpIHtcbiAgICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgICAke2pzb25FbGVtZW50VmFyfVxuICAgICAgICAgICAgYFxuICAgICAgICAgIC5yZXBsYWNlKC9cXG4gezE2fS9ndSwgXCJcXG5cIilcbiAgICAgICAgICAudHJpbSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYCR7dGFyZ2V0VmFyfSA8LSAke2pzb25FbGVtZW50VmFyfWA7XG5cbiAgICBjYXNlIERhdGVUaW1lUHJpbWl0aXZlVHlwZToge1xuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgICBkZWNvZGVEYXRlVGltZSAke2pzb25FbGVtZW50VmFyfSAke3BhdGh9XG4gICAgICAgICAgICBgXG4gICAgICAgIC5yZXBsYWNlKC9cXG4gezE2fS9ndSwgXCJcXG5cIilcbiAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjYXNlIERhdGVQcmltaXRpdmVUeXBlOiB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgICAgIGRlY29kZURhdGUgJHtqc29uRWxlbWVudFZhcn0gJHtwYXRofVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY2FzZSBBcnJheVR5cGU6IHtcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgICAgbWF0Y2ggJHtqc29uRWxlbWVudFZhcn0uVmFsdWVLaW5kIHdpdGhcbiAgICAgICAgICAgICAgICAgIHwgSnNvblZhbHVlS2luZC5BcnJheSAtPlxuICAgICAgICAgICAgICAgICAgICBsZXQgbXV0YWJsZSBsaXN0XyA9IExpc3QuZW1wdHlcbiAgICAgICAgICAgICAgICAgICAgZm9yIGkxIGluIDAgLi4gKCR7anNvbkVsZW1lbnRWYXJ9LkdldEFycmF5TGVuZ3RoKCkgLSAxKSBkb1xuICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtID0gJHtqc29uRWxlbWVudFZhcn0uW2kxXVxuICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJ0aWFsUmVzdWx0ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICR7ZGVjb2RlVHlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGUgYXMgQXJyYXlUeXBlKS5iYXNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtqc29uRWxlbWVudFZhcn0uW2kxXWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGAke3BhdGguc2xpY2UoMCwgLTEpfS57aTF9XCJgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRWYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICApLnJlcGxhY2UoL1xcbi9ndSwgXCJcXG4gICAgICAgICAgICAgICAgICAgICAgXCIpfVxuICAgICAgICAgICAgICAgICAgICAgIGxpc3RfIDwtIGxpc3RfIHw+IExpc3QuYXBwZW5kIFsgcGFydGlhbFJlc3VsdCBdXG4gICAgICAgICAgICAgICAgICAgIGxpc3RfXG4gICAgICAgICAgICAgICAgICB8IF8gLT4gcmFpc2UgKEZhdGFsRXhjZXB0aW9uKCR7cGF0aC5zbGljZSgwLCAtMSl9IG11c3QgYmUgYW4gYXJyYXkuXCIpKVxuICAgICAgICAgICAgYFxuICAgICAgICAucmVwbGFjZSgvXFxuIHsxNn0vZ3UsIFwiXFxuXCIpXG4gICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQlVHOiBkZWNvZGVUeXBlIHdpdGggJHt0eXBlLmNvbnN0cnVjdG9yLm5hbWV9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVR5cGUodHlwZTogVHlwZSwgdmFsdWVWYXI6IHN0cmluZywgcGF0aDogc3RyaW5nLCBzdWZmaXggPSAxLCBpc1JlZiA9IHRydWUpOiBzdHJpbmcge1xuICBzd2l0Y2ggKHR5cGUuY29uc3RydWN0b3IpIHtcbiAgICBjYXNlIFN0cmluZ1ByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIHJldHVybiBgcmVzdWx0V3JpdGVyXy5Xcml0ZVN0cmluZ1ZhbHVlKCR7dmFsdWVWYXJ9KWA7XG4gICAgfVxuXG4gICAgY2FzZSBGbG9hdFByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBVSW50UHJpbWl0aXZlVHlwZTpcbiAgICBjYXNlIEludFByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIHJldHVybiBgcmVzdWx0V3JpdGVyXy5Xcml0ZU51bWJlclZhbHVlKCR7dmFsdWVWYXJ9KWA7XG4gICAgfVxuXG4gICAgY2FzZSBNb25leVByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIHJldHVybiBgcmVzdWx0V3JpdGVyXy5Xcml0ZU51bWJlclZhbHVlKGludCAoTWF0aC5Sb3VuZCgke3ZhbHVlVmFyfSAqIDEwMG0pKSlgO1xuICAgIH1cblxuICAgIGNhc2UgQmlnSW50UHJpbWl0aXZlVHlwZToge1xuICAgICAgcmV0dXJuIGByZXN1bHRXcml0ZXJfLldyaXRlU3RyaW5nVmFsdWUoJHt2YWx1ZVZhcn0uVG9TdHJpbmcoKSlgO1xuICAgIH1cblxuICAgIGNhc2UgQm9vbFByaW1pdGl2ZVR5cGU6IHtcbiAgICAgIHJldHVybiBgcmVzdWx0V3JpdGVyXy5Xcml0ZUJvb2xlYW5WYWx1ZSgke3ZhbHVlVmFyfSlgO1xuICAgIH1cblxuICAgIGNhc2UgQnl0ZXNQcmltaXRpdmVUeXBlOiB7XG4gICAgICByZXR1cm4gYHJlc3VsdFdyaXRlcl8uV3JpdGVTdHJpbmdWYWx1ZShDb252ZXJ0LlRvQmFzZTY0U3RyaW5nKCR7dmFsdWVWYXJ9KSlgO1xuICAgIH1cblxuICAgIGNhc2UgRGF0ZVRpbWVQcmltaXRpdmVUeXBlOiB7XG4gICAgICByZXR1cm4gYHJlc3VsdFdyaXRlcl8uV3JpdGVTdHJpbmdWYWx1ZSgke3ZhbHVlVmFyfS5Ub1N0cmluZyhcInl5eXktTU0tZGRUSEg6bW06c3MuRkZGRkZGJ1onXCIpKWA7XG4gICAgfVxuXG4gICAgY2FzZSBEYXRlUHJpbWl0aXZlVHlwZToge1xuICAgICAgcmV0dXJuIGByZXN1bHRXcml0ZXJfLldyaXRlU3RyaW5nVmFsdWUoJHt2YWx1ZVZhcn0uVG9TdHJpbmcoXCJ5eXl5LU1NLWRkXCIpKWA7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZm9ybWF0IHRob3NlXG4gICAgY2FzZSBDcGZQcmltaXRpdmVUeXBlOlxuICAgIGNhc2UgQ25walByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBFbWFpbFByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBIdG1sUHJpbWl0aXZlVHlwZTpcbiAgICBjYXNlIFVybFByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBVdWlkUHJpbWl0aXZlVHlwZTpcbiAgICBjYXNlIEJhc2U2NFByaW1pdGl2ZVR5cGU6XG4gICAgY2FzZSBIZXhQcmltaXRpdmVUeXBlOlxuICAgIGNhc2UgWG1sUHJpbWl0aXZlVHlwZToge1xuICAgICAgcmV0dXJuIGByZXN1bHRXcml0ZXJfLldyaXRlU3RyaW5nVmFsdWUoJHt2YWx1ZVZhcn0pYDtcbiAgICB9XG5cbiAgICBjYXNlIE9wdGlvbmFsVHlwZToge1xuICAgICAgbGV0IHJlYWxCYXNlVHlwZSA9ICh0eXBlIGFzIE9wdGlvbmFsVHlwZSkuYmFzZTtcblxuICAgICAgd2hpbGUgKHJlYWxCYXNlVHlwZSBpbnN0YW5jZW9mIFR5cGVSZWZlcmVuY2UpIHtcbiAgICAgICAgcmVhbEJhc2VUeXBlID0gcmVhbEJhc2VUeXBlLnR5cGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICAgIGlmICgke3ZhbHVlVmFyfS5Jc05vbmUpIHRoZW5cbiAgICAgICAgICAgICAgICByZXN1bHRXcml0ZXJfLldyaXRlTnVsbFZhbHVlKClcbiAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICR7ZW5jb2RlVHlwZShyZWFsQmFzZVR5cGUsIGAke3ZhbHVlVmFyfS5WYWx1ZWAsIHBhdGgsIHN1ZmZpeCwgaXNSZWYpfVxuICAgICAgICAgICAgICBgXG4gICAgICAgIC5yZXBsYWNlKC9cXG4gezE0fS9ndSwgXCJcXG5cIilcbiAgICAgICAgLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjYXNlIFR5cGVSZWZlcmVuY2U6XG4gICAgICByZXR1cm4gZW5jb2RlVHlwZSgodHlwZSBhcyBUeXBlUmVmZXJlbmNlKS50eXBlLCB2YWx1ZVZhciwgcGF0aCwgc3VmZml4LCBpc1JlZik7XG4gICAgY2FzZSBFbnVtVHlwZTpcbiAgICAgIHJldHVybiBgRW5jb2RlJHt0eXBlLm5hbWV9ICR7dmFsdWVWYXJ9IHJlc3VsdFdyaXRlcl8gJHtwYXRofWA7XG4gICAgY2FzZSBTdHJ1Y3RUeXBlOlxuICAgICAgcmV0dXJuIGBFbmNvZGUke3R5cGUubmFtZX0gJHt2YWx1ZVZhcn0gcmVzdWx0V3JpdGVyXyAke3BhdGh9YDtcbiAgICBjYXNlIEpzb25QcmltaXRpdmVUeXBlOlxuICAgICAgcmV0dXJuIGAke3ZhbHVlVmFyfS5Xcml0ZVRvKHJlc3VsdFdyaXRlcl8pYDtcbiAgICBjYXNlIEFycmF5VHlwZToge1xuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgICAgcmVzdWx0V3JpdGVyXy5Xcml0ZVN0YXJ0QXJyYXkoKVxuICAgICAgICAgICAgICBmb3IgaSR7c3VmZml4fSBpbiAwLi4ke3ZhbHVlVmFyfS5MZW5ndGggLSAxIGRvXG4gICAgICAgICAgICAgICAgJHtlbmNvZGVUeXBlKCh0eXBlIGFzIEFycmF5VHlwZSkuYmFzZSwgYCR7dmFsdWVWYXJ9LltpJHtzdWZmaXh9XWAsIGAke3BhdGh9YCwgc3VmZml4ICsgMSkucmVwbGFjZSgvXFxuL2d1LCBcIlxcbiAgICAgICAgICAgICAgICBcIil9XG4gICAgICAgICAgICAgIHJlc3VsdFdyaXRlcl8uV3JpdGVFbmRBcnJheSgpXG4gICAgICAgICAgICAgIGBcbiAgICAgICAgLnJlcGxhY2UoL1xcbiB7MTR9L2d1LCBcIlxcblwiKVxuICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEJVRzogZW5jb2RlVHlwZSB3aXRoICR7dHlwZS5jb25zdHJ1Y3Rvci5uYW1lfWApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVN0cnVjdChzdHJ1Y3Q6IFN0cnVjdFR5cGUpOiBzdHJpbmcge1xuICByZXR1cm4gYFxudHlwZSAke3N0cnVjdC5uYW1lfSA9IHtcbiAgJHtzdHJ1Y3QuZmllbGRzLm1hcChmaWVsZCA9PiBgJHtjYXBpdGFsaXplKGZpZWxkLm5hbWUpfTogJHtnZW5lcmF0ZVR5cGVOYW1lKGZpZWxkLnR5cGUpfWApLmpvaW4oXCI7XFxuICBcIil9XG59IHdpdGhcbiAgc3RhdGljIG1lbWJlciBDcmVhdGUgKCR7c3RydWN0LmZpZWxkcy5tYXAoZmllbGQgPT4gYCR7aWRlbnQoZmllbGQubmFtZSl9OiAke2dlbmVyYXRlVHlwZU5hbWUoZmllbGQudHlwZSl9YCkuam9pbihcIiwgXCIpfSk6ICR7c3RydWN0Lm5hbWV9ID1cbiAgICB7ICR7c3RydWN0LmZpZWxkcy5tYXAoZmllbGQgPT4gYCR7Y2FwaXRhbGl6ZShmaWVsZC5uYW1lKX0gPSAke2lkZW50KGZpZWxkLm5hbWUpfWApLmpvaW4oXCI7IFwiKX0gfVxuXG5sZXQgRGVjb2RlJHtzdHJ1Y3QubmFtZX0gKGpzb25fOiBKc29uRWxlbWVudCkgKHBhdGhfOiBzdHJpbmcpOiAke3N0cnVjdC5uYW1lfSA9XG4gIGlmIChqc29uXy5WYWx1ZUtpbmQgPD4gSnNvblZhbHVlS2luZC5PYmplY3QpIHRoZW4gcmFpc2UgKEZhdGFsRXhjZXB0aW9uKCRcIid7cGF0aF99JyBtdXN0IGJlIGFuIG9iamVjdC5cIikpXG4gICR7c3RydWN0LmZpZWxkc1xuICAgIC5tYXAoXG4gICAgICBmaWVsZCA9PlxuICAgICAgICBgXG4gIGxldCAke2ZpZWxkLm5hbWV9SnNvbl8gPSBkZWNvZGVKc29uRWxlbWVudFN0cmljdCAke0pTT04uc3RyaW5naWZ5KGZpZWxkLm5hbWUpfSBqc29uXyAkXCJ7cGF0aF99LiR7ZmllbGQubmFtZX1cIlxuICBsZXQgJHtpZGVudChmaWVsZC5uYW1lKX0gPVxuICAgICR7ZGVjb2RlVHlwZShmaWVsZC50eXBlLCBgJHtmaWVsZC5uYW1lfUpzb25fYCwgYCRcIntwYXRoX30uJHtmaWVsZC5uYW1lfVwiYCwgaWRlbnQoZmllbGQubmFtZSkpLnJlcGxhY2UoL1xcbi9ndSwgXCJcXG4gIFwiKX1cbiAgYCxcbiAgICApXG4gICAgLmpvaW4oXCJcIil9XG4gIHsgJHtzdHJ1Y3QuZmllbGRzLm1hcChmaWVsZCA9PiBgJHtjYXBpdGFsaXplKGZpZWxkLm5hbWUpfSA9ICR7aWRlbnQoZmllbGQubmFtZSl9YCkuam9pbihcIjsgXCIpfSB9XG5cbmxldCBFbmNvZGUke3N0cnVjdC5uYW1lfSAob2JqXzogJHtzdHJ1Y3QubmFtZX0pIChyZXN1bHRXcml0ZXJfOiBVdGY4SnNvbldyaXRlcikgKHBhdGhfOiBzdHJpbmcpID1cbiAgcmVzdWx0V3JpdGVyXy5Xcml0ZVN0YXJ0T2JqZWN0KClcbiAgJHtzdHJ1Y3QuZmllbGRzXG4gICAgLm1hcChcbiAgICAgIGZpZWxkID0+XG4gICAgICAgIGBcbiAgcmVzdWx0V3JpdGVyXy5Xcml0ZVByb3BlcnR5TmFtZSgke0pTT04uc3RyaW5naWZ5KGZpZWxkLm5hbWUpfSlcbiAgJHtlbmNvZGVUeXBlKGZpZWxkLnR5cGUsIGBvYmpfLiR7Y2FwaXRhbGl6ZShmaWVsZC5uYW1lKX1gLCBgJFwie3BhdGhffS4ke2ZpZWxkLm5hbWV9XCJgKS5yZXBsYWNlKC9cXG4vZ3UsIFwiXFxuICBcIil9YCxcbiAgICApXG4gICAgLmpvaW4oXCJcXG5cIil9XG4gIHJlc3VsdFdyaXRlcl8uV3JpdGVFbmRPYmplY3QoKWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUVudW0odHlwZTogRW51bVR5cGUpOiBzdHJpbmcge1xuICByZXR1cm4gYFxudHlwZSAke3R5cGUubmFtZX0gPVxuICAke3R5cGUudmFsdWVzLm1hcCgoeyB2YWx1ZSB9KSA9PiBgfCAke2NhcGl0YWxpemUodmFsdWUpfWApLmpvaW4oXCJcXG4gIFwiKX1cblxubGV0IERlY29kZSR7dHlwZS5uYW1lfSAoanNvbl86IEpzb25FbGVtZW50KSAocGF0aF86IHN0cmluZyk6ICR7dHlwZS5uYW1lfSA9XG4gIGlmIChqc29uXy5WYWx1ZUtpbmQgPD4gSnNvblZhbHVlS2luZC5TdHJpbmcpIHRoZW4gcmFpc2UgKEZhdGFsRXhjZXB0aW9uKCRcIid7cGF0aF99JyBtdXN0IGJlIGEgc3RyaW5nLlwiKSlcbiAgbWF0Y2gganNvbl8uR2V0U3RyaW5nKCkgd2l0aFxuICAke3R5cGUudmFsdWVzLm1hcCgoeyB2YWx1ZSB9KSA9PiBgfCBcIiR7dmFsdWV9XCIgLT4gJHt0eXBlLm5hbWV9LiR7Y2FwaXRhbGl6ZSh2YWx1ZSl9YCkuam9pbihcIlxcbiAgXCIpfVxuICB8IF8gLT4gcmFpc2UgKEZhdGFsRXhjZXB0aW9uKCRcIid7cGF0aF99JyBtdXN0IGJlIG9uZSBvZjogKCR7dHlwZS52YWx1ZXMubWFwKCh7IHZhbHVlIH0pID0+IGAnJHt2YWx1ZX0nYCkuam9pbihcIiwgXCIpfSkuXCIpKVxuXG5sZXQgRW5jb2RlJHt0eXBlLm5hbWV9IChvYmpfOiAke3R5cGUubmFtZX0pIChyZXN1bHRXcml0ZXJfOiBVdGY4SnNvbldyaXRlcikgKHBhdGhfOiBzdHJpbmcpID1cbiAgbWF0Y2ggb2JqXyB3aXRoXG4gICR7dHlwZS52YWx1ZXMubWFwKCh7IHZhbHVlIH0pID0+IGB8ICR7dHlwZS5uYW1lfS4ke2NhcGl0YWxpemUodmFsdWUpfSAtPiByZXN1bHRXcml0ZXJfLldyaXRlU3RyaW5nVmFsdWUoXCIke3ZhbHVlfVwiKWApLmpvaW4oXCJcXG4gIFwiKX1cblxuYDtcbn1cbiJdfQ==
497
+ exports.generateEnum = generateEnum;
@@ -1 +1 @@
1
- export * from "./fsharp-server.js";
1
+ export * from "./fsharp-server";
package/dist/src/index.js CHANGED
@@ -1,2 +1,17 @@
1
- export * from "./fsharp-server.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2ZzaGFycC1zZXJ2ZXIuanNcIjtcbiJdfQ==
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./fsharp-server"), exports);
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../parser/src/token.ts","../../parser/src/ast.ts","../../parser/src/compatibility/index.ts","../../parser/src/semantic/visitor.ts","../../parser/src/semantic/01_check_multiple_declaration.ts","../../parser/src/semantic/transformer.ts","../../parser/src/semantic/02_give_struct_and_enum_names.ts","../../parser/src/semantic/03_match_type_definitions.ts","../../parser/src/semantic/04_check_dont_return_secret.ts","../../parser/src/semantic/05_expand_spreads.ts","../../parser/src/semantic/06_check_empty_struct_or_enum.ts","../../parser/src/semantic/07_validate_recursive_types.ts","../../parser/src/semantic/08_collect_struct_and_enum_types.ts","../../parser/src/semantic/09_validate_annotations.ts","../../parser/src/semantic/10_check_duplicate_members_on_enum.ts","../../parser/src/semantic/analyser.ts","../../parser/src/utils.ts","../../parser/src/json.ts","../../parser/src/lexer.ts","../../parser/src/restparser.ts","../../parser/src/parser.ts","../../parser/src/helpers.ts","../../parser/src/index.ts","../src/helpers.ts","../src/fsharp-server.ts","../src/index.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"abcce357d43321346018f0a447aae8396df4b6e3c8a71a07a698852c010659e6","impliedFormat":99},{"version":"1c83cf4df7382f9da2f2bb994b56deca7f0ca906e3026c05dad2085139b128d3","impliedFormat":99},{"version":"2aaf0504021ff3d87ce5b85987998f481c3a489fea930026f57e9add9048d662","impliedFormat":99},{"version":"88b228e477c78813231ea2740c6b614a7c9fe4538c0c3136de806bf0069da912","impliedFormat":99},{"version":"ef212e9cbb4f8afb8513c2c080f8cd89ec3d75eb5133736e867f00ac33558b27","impliedFormat":99},{"version":"beb95d02e3d514ff1114169f9f4551529f10fba5c17599bd27e8b7f8986e0b91","impliedFormat":99},{"version":"357210c34890c2c0b3efd7a7e33b0acb9a66ea629b545ad3ca15a7f32ad942b9","impliedFormat":99},{"version":"e664371d209dfaa6522211743b1346e514230cde78840621e17397cb9eaffdef","impliedFormat":99},{"version":"b4dfc725eebcf666ce4985aed7d598fafb2ddfec1b29d98f48e90174bd1e8369","impliedFormat":99},{"version":"dfb1b6c0855fdb807cb98470599865d512e9cfe4acb3a407c199b69c9a6fe5f4","impliedFormat":99},{"version":"6977fc37bdd4cb61bd8dbaee0ac30371abd7ef557faaf405056fb2baaa7ccbfc","impliedFormat":99},{"version":"7e2174fdc2f42c40a3a9b944a317ea993a82bbd63df3cb0280846559ab74062d","impliedFormat":99},{"version":"ebd4db2c36b857f612a8d0505f69d8fcf0b62526457112c6a04c5ff4b2861e21","impliedFormat":99},{"version":"3a04b10057d80162d042b48b5902ebe336783c989eaa0ac47f0d5614fc2b4355","impliedFormat":99},{"version":"239cb22721f22f7918bf97d646367c947f9f435bc66d3e5e627a7579be8be560","impliedFormat":99},{"version":"f05665feeb7ca5abd58210b2e3c3043b93a7e0b6da933258fe67e080a96f5bf7","impliedFormat":99},{"version":"53b8dd958f31452b509a3914e6183328fb758545596a05132576b316f2b705ac","impliedFormat":99},{"version":"3739c1d14b3ec0400a03e9ebf4164d1f50eea3f00fe142c41cf5529716865a6c","impliedFormat":99},{"version":"430195b0506d47e2aae8452f34d5e92c9ffa2bd2b830b4c337251868b1af55f1","impliedFormat":99},{"version":"7b24dd187cb99e874f970ec9e85cf270eb3191ca204741b80b0715c1051c3389","impliedFormat":99},{"version":"8b7b066a62d69c216966ffc9877023fee5a1b1323f46696e302541e12fbafcae","impliedFormat":99},{"version":"c4b53ade497f8596219707e7db3ecf38e3081c773fb9e85d9535ce2e498d8ace","impliedFormat":99},{"version":"c5a2f3e19af67dab79e0df701f86c612c8af49387cf3fae4d96adde9d49ae20e","impliedFormat":99},{"version":"40a6177080f7b189704265a0c1135717b9cf2f47a2ed2e3e2a3d51a8c753beec","signature":"1ca6be3c72510871031c3ed171727b6be564eebe88253e215b0307a1aef276d8","impliedFormat":99},{"version":"c43b9e8f4b1aa450d10f4102f8f8326ad115344e2fa73f40867cceefce57a0fd","signature":"7192c13fd3e76a74cf9fd2a7fc5a1610c1c3d9cfb072d56666c16d159e3be326","impliedFormat":99},{"version":"00ac8b77c1f823003f1b9168828ea4b5d393a0c85528c6d0e72edcef6c3eb402","impliedFormat":99},{"version":"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true,"impliedFormat":1},{"version":"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9","impliedFormat":1},{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","impliedFormat":1},{"version":"5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713","impliedFormat":1},{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","impliedFormat":1},{"version":"bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","impliedFormat":1},{"version":"489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","impliedFormat":1},{"version":"f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","impliedFormat":1},{"version":"14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","impliedFormat":1},{"version":"5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true,"impliedFormat":1},{"version":"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","impliedFormat":1},{"version":"d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","impliedFormat":1},{"version":"5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","impliedFormat":1},{"version":"04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","impliedFormat":1},{"version":"8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","impliedFormat":1},{"version":"2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","impliedFormat":1},{"version":"7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","impliedFormat":1},{"version":"b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30","impliedFormat":1},{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true,"impliedFormat":1},{"version":"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","impliedFormat":1},{"version":"210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","impliedFormat":1},{"version":"36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","impliedFormat":1},{"version":"0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","impliedFormat":1},{"version":"25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","impliedFormat":1},{"version":"fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","impliedFormat":1},{"version":"223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f","impliedFormat":1},{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","impliedFormat":1},{"version":"4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","impliedFormat":1},{"version":"3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","impliedFormat":1},{"version":"5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2","impliedFormat":1},{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true,"impliedFormat":1},{"version":"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","impliedFormat":1},{"version":"ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","impliedFormat":1},{"version":"e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa","impliedFormat":1},{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"8dbe725f8d237e70310977afcfa011629804d101ebaa0266cafda6b61ad72236","impliedFormat":1},{"version":"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","impliedFormat":1},{"version":"2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","impliedFormat":1},{"version":"42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","impliedFormat":1},{"version":"d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","impliedFormat":1},{"version":"77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","impliedFormat":1},{"version":"7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","impliedFormat":1},{"version":"906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","impliedFormat":1},{"version":"5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","impliedFormat":1},{"version":"c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","impliedFormat":1},{"version":"e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","impliedFormat":1},{"version":"e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","impliedFormat":1},{"version":"9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","impliedFormat":1},{"version":"0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","impliedFormat":1},{"version":"71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","impliedFormat":1},{"version":"c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","impliedFormat":1},{"version":"2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","impliedFormat":1},{"version":"479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","impliedFormat":1},{"version":"ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","impliedFormat":1},{"version":"f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","impliedFormat":1},{"version":"86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","impliedFormat":1},{"version":"2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","impliedFormat":1},{"version":"a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","impliedFormat":1},{"version":"b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","impliedFormat":1},{"version":"61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","impliedFormat":1},{"version":"6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","impliedFormat":1},{"version":"c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","impliedFormat":1},{"version":"38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","impliedFormat":1},{"version":"d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","impliedFormat":1},{"version":"3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","impliedFormat":1},{"version":"b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","impliedFormat":1},{"version":"f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","impliedFormat":1},{"version":"843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","impliedFormat":1},{"version":"f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","impliedFormat":1},{"version":"6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","impliedFormat":1},{"version":"e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","impliedFormat":1},{"version":"a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","impliedFormat":1},{"version":"a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","impliedFormat":1},{"version":"da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","impliedFormat":1}],"options":{"composite":true,"declaration":true,"inlineSourceMap":true,"inlineSources":true,"module":100,"outDir":"./","skipLibCheck":true,"strict":true,"target":8},"fileIdsList":[[121],[75,121],[78,121],[79,84,112,121],[80,91,92,99,109,120,121],[80,81,91,99,121],[82,121],[83,84,92,100,121],[84,109,117,121],[85,87,91,99,121],[86,121],[87,88,121],[91,121],[89,91,121],[91,92,93,109,120,121],[91,92,93,106,109,112,121],[121,125],[87,94,99,109,120,121],[91,92,94,95,99,109,117,120,121],[94,96,109,117,120,121],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127],[91,97,121],[98,120,121],[87,91,99,109,121],[100,121],[101,121],[78,102,121],[103,119,121,125],[104,121],[105,121],[91,106,107,121],[106,108,121,123],[79,91,109,110,111,112,121],[79,109,111,121],[109,110,121],[112,121],[113,121],[91,115,116,121],[115,116,121],[84,99,109,117,121],[118,121],[99,119,121],[79,94,105,120,121],[84,121],[109,121,122],[121,123],[121,124],[79,84,91,93,102,109,120,121,123,125],[109,121,126],[121,129,168],[121,129,153,168],[121,168],[121,129],[121,129,154,168],[121,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[121,154,168],[69,70,121],[69,121],[71,121],[47,121],[48,121],[48,50,121],[47,48,49,50,64,65,67,68,121],[48,62,63,121],[47,48,62,63,65,66,121],[48,50,52,121],[48,51,53,54,55,56,57,58,59,60,61,121],[69]],"referencedMap":[[73,1],[74,1],[75,2],[76,2],[78,3],[79,4],[80,5],[81,6],[82,7],[83,8],[84,9],[85,10],[86,11],[87,12],[88,12],[90,13],[89,14],[91,13],[92,15],[93,16],[77,17],[127,1],[94,18],[95,19],[96,20],[128,21],[97,22],[98,23],[99,24],[100,25],[101,26],[102,27],[103,28],[104,29],[105,30],[106,31],[107,31],[108,32],[109,33],[111,34],[110,35],[112,36],[113,37],[114,1],[115,38],[116,39],[117,40],[118,41],[119,42],[120,43],[121,44],[122,45],[123,46],[124,47],[125,48],[126,49],[153,50],[154,51],[129,52],[132,52],[151,50],[152,50],[142,50],[141,53],[139,50],[134,50],[147,50],[145,50],[149,50],[133,50],[146,50],[150,50],[135,50],[136,50],[148,50],[130,50],[137,50],[138,50],[140,50],[144,50],[155,54],[143,50],[131,50],[168,55],[167,1],[162,54],[164,56],[163,54],[156,54],[157,54],[159,54],[161,54],[165,56],[166,56],[158,56],[160,56],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[8,1],[45,1],[42,1],[43,1],[44,1],[1,1],[46,1],[71,57],[70,58],[72,59],[48,60],[49,61],[68,62],[69,63],[64,64],[65,60],[67,65],[66,61],[51,62],[53,66],[54,62],[55,62],[56,62],[57,62],[58,62],[59,62],[60,62],[61,62],[62,67],[52,61],[50,61],[47,1],[63,61]],"exportedModulesMap":[[73,1],[74,1],[75,2],[76,2],[78,3],[79,4],[80,5],[81,6],[82,7],[83,8],[84,9],[85,10],[86,11],[87,12],[88,12],[90,13],[89,14],[91,13],[92,15],[93,16],[77,17],[127,1],[94,18],[95,19],[96,20],[128,21],[97,22],[98,23],[99,24],[100,25],[101,26],[102,27],[103,28],[104,29],[105,30],[106,31],[107,31],[108,32],[109,33],[111,34],[110,35],[112,36],[113,37],[114,1],[115,38],[116,39],[117,40],[118,41],[119,42],[120,43],[121,44],[122,45],[123,46],[124,47],[125,48],[126,49],[153,50],[154,51],[129,52],[132,52],[151,50],[152,50],[142,50],[141,53],[139,50],[134,50],[147,50],[145,50],[149,50],[133,50],[146,50],[150,50],[135,50],[136,50],[148,50],[130,50],[137,50],[138,50],[140,50],[144,50],[155,54],[143,50],[131,50],[168,55],[167,1],[162,54],[164,56],[163,54],[156,54],[157,54],[159,54],[161,54],[165,56],[166,56],[158,56],[160,56],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[33,1],[30,1],[31,1],[32,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[8,1],[45,1],[42,1],[43,1],[44,1],[1,1],[46,1],[71,68],[70,68],[72,59],[48,60],[49,61],[68,62],[69,63],[64,64],[65,60],[67,65],[66,61],[51,62],[53,66],[54,62],[55,62],[56,62],[57,62],[58,62],[59,62],[60,62],[61,62],[62,67],[52,61],[50,61],[47,1],[63,61]],"semanticDiagnosticsPerFile":[73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,90,89,91,92,93,77,127,94,95,96,128,97,98,99,100,101,102,103,104,105,106,107,108,109,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,153,154,129,132,151,152,142,141,139,134,147,145,149,133,146,150,135,136,148,130,137,138,140,144,155,143,131,168,167,162,164,163,156,157,159,161,165,166,158,160,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,8,45,42,43,44,1,46,71,70,72,48,49,68,69,64,65,67,66,51,53,54,55,56,57,58,59,60,61,62,52,50,47,63],"latestChangedDtsFile":"./src/index.d.ts"},"version":"4.9.4"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.es2017.full.d.ts","../node_modules/@sdkgen/parser/src/token.ts","../node_modules/@sdkgen/parser/src/ast.ts","../node_modules/@sdkgen/parser/src/compatibility/index.ts","../node_modules/@sdkgen/parser/src/semantic/visitor.ts","../node_modules/@sdkgen/parser/src/semantic/01_check_multiple_declaration.ts","../node_modules/@sdkgen/parser/src/semantic/transformer.ts","../node_modules/@sdkgen/parser/src/semantic/02_give_struct_and_enum_names.ts","../node_modules/@sdkgen/parser/src/semantic/03_match_type_definitions.ts","../node_modules/@sdkgen/parser/src/semantic/04_check_dont_return_secret.ts","../node_modules/@sdkgen/parser/src/semantic/05_expand_spreads.ts","../node_modules/@sdkgen/parser/src/semantic/06_check_empty_struct_or_enum.ts","../node_modules/@sdkgen/parser/src/semantic/07_validate_recursive_types.ts","../node_modules/@sdkgen/parser/src/semantic/08_collect_struct_and_enum_types.ts","../node_modules/@sdkgen/parser/src/semantic/09_validate_annotations.ts","../node_modules/@sdkgen/parser/src/semantic/10_check_duplicate_members_on_enum.ts","../node_modules/@sdkgen/parser/src/semantic/analyser.ts","../node_modules/@sdkgen/parser/src/utils.ts","../node_modules/@sdkgen/parser/src/json.ts","../node_modules/@sdkgen/parser/src/lexer.ts","../node_modules/@sdkgen/parser/src/restparser.ts","../node_modules/@sdkgen/parser/src/parser.ts","../node_modules/@sdkgen/parser/src/helpers.ts","../node_modules/@sdkgen/parser/src/index.ts","../src/helpers.ts","../src/fsharp-server.ts","../src/index.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"d2f31f19e1ba6ed59be9259d660a239d9a3fcbbc8e038c6b2009bde34b175fed","abcce357d43321346018f0a447aae8396df4b6e3c8a71a07a698852c010659e6","3d5dfae2432bc638f5c3be97afe688965942e24f72f4e85dacf72bba9184557e","e18aa16baef58d63b8a342de5e72edf39f2369970b42171a25d743d0ce4afc06","50ba5c02af36d9f80c7da35962cb61d1088a7af05ef5930d417981baccfbc9c3","32e2cd21e5b2b1f554c8b78d526790c53aebde93764ca0a62198a3fafd702ced","397d74c2f4c02a687edae40df94680f66d7a2ce96dce5dd15e8278006d07e946","ab99eb439e6685f51045a219bd8b4840311516e4d6bc6b8d61f23d5933873dcb","481a4131dcbf468c936b2101e8b57aa2e6e06132f6cab7b2da37a346b10e0aef","2a4772dce90cd087f4686c8164625dff307c5f4d6d2940cc846a8239715b6c10","71b016c31de70df11b74578155fbf01b7b3f2a007ee2a3f664a16e0e3db07a0a","c9a25578762ca94acd867137a9db5466a0d33e8ab037e4f77d9bc077b4c2f831","5307c4560e27aef1e4ec79742fa611568b06d22b03cd932f052bf1e5b1c237ee","8e529180c02f7a56aa79930ac705e16ad7069d92ed88fca487d94c210273dfd9","9fac333f3cd6b57d95174f6d1b39e8c801eb5e7f4a0a07cdd12ab195fff9fbd5","1063ab14b24099e68ee740614fcdc1b5223c6e8dee45ee54cbb170fb0f6c5e8e","1807963e2c75bd91ec802d2272dd7572476630c67d565636a822b8c4ec4b90ec","314dc2eb5d1d6e583cf6eb3759fb5329a18b2c4db94a50e00d6225968c6e9c25","842dd5bc388f1665f47b599730f453e761cfe85a8e6b57f771aaff5f2c4fed3c","d97c05074b62307737c184f99133f6d36aff28d0d78285bbdb4c94b61b51750a","31b7510503d7ed5a8a7c45c1f0e7ab1c9eedd0c674131fd797b371d4285ed518","674f4367342c630e9e181902750fd7765cf714dc917ff01ecf5418cd4bfbfac7","7643b4a0a64a801c3924ecef4dff28509352d9f4dcad2c0241ee40f42be8efc9","b3fb528e7589083ed8f80ad73bd30695b9cd00d1cdce5859977b60feefabb347",{"version":"40a6177080f7b189704265a0c1135717b9cf2f47a2ed2e3e2a3d51a8c753beec","signature":"1ca6be3c72510871031c3ed171727b6be564eebe88253e215b0307a1aef276d8"},{"version":"78e281c72dc56e51a83a961560a77d3395bfdaec5104a55efd2e745107cdc63c","signature":"7192c13fd3e76a74cf9fd2a7fc5a1610c1c3d9cfb072d56666c16d159e3be326"},"0db57498e965fe5c064e0aef24a9c6efeaae440f062e2f23649141d9340fa4a1","f4617bbd5403ec5b058db53b242dcb1421952e2652bd5c80abf6a1c4ea5656d6","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","230d323ef7f2ffadfc0ceae494492c4d2faa2b4eaec07a4b71424d084b97ebb8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","b6ddf3a46ccfa4441d8be84d2e9bf3087573c48804196faedbd4a25b60631beb","4911d4c3a7f7c11bad0e2cec329a19a385d10ea83b0b69c76e032359e388f624","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"4f6463a60e5754bbc4a864b2aaf8fecb7706b96a21b88f27b534589b801978b6","affectsGlobalScope":true},"56d13f223ab40f71840795f5bef2552a397a70666ee60878222407f3893fb8d0",{"version":"4ffef5c4698e94e49dcf150e3270bad2b24a2aeab48b24acbe7c1366edff377d","affectsGlobalScope":true},"2534e46a52653b55dfb5a41ce427ec430c4afbaaf3bfcb1ae09b185c5d6bf169","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","3f2478baf49cf27aa1335ba5299e2394131284e9d50a3845e3f95e52664ff518","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","8bd106053ee0345dde7f626ed1f6100a89fb85f13ea65352627cf78c5f30c553","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","06ccebc2c2db57d6bdbca63b71c4ae5e6ddc42d972fd8f122d4c1a28aa111b25",{"version":"81e8508d1e82278f5d3fee936f267e00c308af36219bfcee2631f9513c9c4017","affectsGlobalScope":true},"413a4be7f94f631235bbc83dad36c4d15e5a2ff02bca1efdbd03636d6454631b","20c468256fd68d3ef1fa53526e76d51d6aa91711e84d72c0343589b99238287e","4198acced75d48a039c078734c4efca7788ff8c78609c270a2b63ec20e3e1676","8d4c16a26d59e3ce49741a7d4a6e8206b884e226cf308667c7778a0b2c0fee7f","288dd0c774a5c6e3964084c7a2bc8cc6b746d70f44a9892d028d04f915cf7ebc","d61c7c41eb1960b1285e242fd102c162b65c0522985b839fadda59874308a170",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"1805e0e4d1ed00f6361db25dff6887c7fa9b5b39f32599a34e8551da7daaa9c2","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","fb0989383c6109f20281b3d31265293daefdd76d0d30551782c1654e93704f48","a4210a84a82b3e7a8cec5b2f3616e46d523f4f10cc1576d8f2fb89d0987b341e",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","22d48bfb37261136423ac687f1fa7bd4dda3083f767416d409a8260cf92bc8fc","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","95518ff86843e226b62a800f679f6968ad8dac8ccbe30fbfe63de3afb13761a2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","698ab660b477b9c2cd5ccbd99e7e7df8b4a6134c1f5711fa615ed7aab51cb7f7","33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637","a4471d2bdba495b2a6a30b8765d5e0282fa7009d88345a9528f73c37869d3b93",{"version":"aee7013623e7632fba449d4df1da92925b27d9b816cb05546044dbfe54c88ef4","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","c9d70d3d7191a66a81cb554557f8ed1cf736ea8397c44a864fe52689de18865a","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"1aad825534c73852a1f3275e527d729a2c0640f539198fdfdfeb83b839851910","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"88003d9ab15507806f41b120be6d407c1afe566c2f6689ebe3a034dd5ec0c8dc","bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","a7321c0e96eecb19dcbf178493836474cef21ee3f9345384ce9d74e4be31228d","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","3054ef91b855e005b9c4681399e9d64d2a7b07a22d539314d794f09e53b876a7","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","9ac9b7b349a96ff204f4172183cca1672cc402e1ee7277bfcdec96c000b7d818","ac127e4c6f2b5220b293cc9d2e64ba49781225b792a51cda50f3db8eafba550c",{"version":"503000d7f95c87febfba3bdb10c3a01e51552b0fea2b7442cd6d2631ff6cacf5","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","bc88e4049153bc4dddb4503ed7e624eb141edfa9064b3659d6c86e900fe9e621","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","af6f08f05ca54890779e07b70eebabcbaf192785d31b087f05ac18ad437eff8e"],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./","strict":true,"target":4},"fileIdsList":[[73,123],[123],[123,137],[47,123],[48,123],[48,50,123],[47,48,49,50,64,65,67,68,123],[48,62,63,123],[47,48,62,63,65,66,123],[48,50,52,123],[48,50,69,123],[48,51,53,54,55,56,57,58,59,60,61,123],[73,74,75,76,77,123],[73,75,123],[95,123,130],[123,132],[123,133],[123,139,142],[79,123],[82,123],[83,88,114,123],[84,94,95,102,111,122,123],[84,85,94,102,123],[86,123],[87,88,95,103,123],[88,111,119,123],[89,91,94,102,123],[90,123],[91,92,123],[93,94,123],[94,123],[94,95,96,111,122,123],[94,95,96,111,123],[97,102,111,122,123],[94,95,97,98,102,111,119,122,123],[97,99,111,119,122,123],[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],[94,100,123],[101,122,123],[91,94,102,111,123],[103,123],[104,123],[82,105,123],[106,121,123,127],[107,123],[108,123],[94,109,123],[109,110,123,125],[83,94,111,112,113,123],[83,111,113,123],[111,112,123],[114,123],[115,123],[94,117,118,123],[117,118,123],[88,102,119,123],[120,123],[102,121,123],[83,97,108,122,123],[88,123],[111,123,124],[123,125],[123,126],[83,88,94,96,105,111,122,123,125,127],[111,123,128],[123,147,186],[123,147,171,186],[123,186],[123,147],[123,147,172,186],[123,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],[123,172,186],[123,188],[123,135,141],[123,139],[123,136,140],[123,138],[69,70,123],[69,123],[71,123],[69]],"referencedMap":[[75,1],[73,2],[135,2],[138,3],[48,4],[49,5],[68,6],[69,7],[64,8],[65,4],[67,9],[66,5],[51,6],[53,10],[54,6],[55,6],[56,11],[57,6],[58,6],[59,6],[60,6],[61,6],[62,12],[52,5],[50,5],[47,2],[63,5],[137,2],[78,13],[74,1],[76,14],[77,1],[131,15],[132,2],[133,16],[134,17],[143,18],[144,2],[145,2],[79,19],[80,19],[82,20],[83,21],[84,22],[85,23],[86,24],[87,25],[88,26],[89,27],[90,28],[91,29],[92,29],[93,30],[94,31],[95,32],[96,33],[81,2],[129,2],[97,34],[98,35],[99,36],[130,37],[100,38],[101,39],[102,40],[103,41],[104,42],[105,43],[106,44],[107,45],[108,46],[109,47],[110,48],[111,49],[113,50],[112,51],[114,52],[115,53],[116,2],[117,54],[118,55],[119,56],[120,57],[121,58],[122,59],[123,60],[124,61],[125,62],[126,63],[127,64],[128,65],[146,2],[171,66],[172,67],[147,68],[150,68],[169,66],[170,66],[160,66],[159,69],[157,66],[152,66],[165,66],[163,66],[167,66],[151,66],[164,66],[168,66],[153,66],[154,66],[166,66],[148,66],[155,66],[156,66],[158,66],[162,66],[173,70],[161,66],[149,66],[186,71],[185,2],[180,70],[182,72],[181,70],[174,70],[175,70],[177,70],[179,70],[183,72],[184,72],[176,72],[178,72],[187,2],[188,2],[189,73],[136,2],[142,74],[140,75],[141,76],[139,77],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[46,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[1,2],[45,2],[11,2],[10,2],[71,78],[70,79],[72,80]],"exportedModulesMap":[[75,1],[73,2],[135,2],[138,3],[48,4],[49,5],[68,6],[69,7],[64,8],[65,4],[67,9],[66,5],[51,6],[53,10],[54,6],[55,6],[56,11],[57,6],[58,6],[59,6],[60,6],[61,6],[62,12],[52,5],[50,5],[47,2],[63,5],[137,2],[78,13],[74,1],[76,14],[77,1],[131,15],[132,2],[133,16],[134,17],[143,18],[144,2],[145,2],[79,19],[80,19],[82,20],[83,21],[84,22],[85,23],[86,24],[87,25],[88,26],[89,27],[90,28],[91,29],[92,29],[93,30],[94,31],[95,32],[96,33],[81,2],[129,2],[97,34],[98,35],[99,36],[130,37],[100,38],[101,39],[102,40],[103,41],[104,42],[105,43],[106,44],[107,45],[108,46],[109,47],[110,48],[111,49],[113,50],[112,51],[114,52],[115,53],[116,2],[117,54],[118,55],[119,56],[120,57],[121,58],[122,59],[123,60],[124,61],[125,62],[126,63],[127,64],[128,65],[146,2],[171,66],[172,67],[147,68],[150,68],[169,66],[170,66],[160,66],[159,69],[157,66],[152,66],[165,66],[163,66],[167,66],[151,66],[164,66],[168,66],[153,66],[154,66],[166,66],[148,66],[155,66],[156,66],[158,66],[162,66],[173,70],[161,66],[149,66],[186,71],[185,2],[180,70],[182,72],[181,70],[174,70],[175,70],[177,70],[179,70],[183,72],[184,72],[176,72],[178,72],[187,2],[188,2],[189,73],[136,2],[142,74],[140,75],[141,76],[139,77],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[46,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[1,2],[45,2],[11,2],[10,2],[71,81],[70,81],[72,80]],"semanticDiagnosticsPerFile":[75,73,135,138,48,49,68,69,64,65,67,66,51,53,54,55,56,57,58,59,60,61,62,52,50,47,63,137,78,74,76,77,131,132,133,134,143,144,145,79,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,81,129,97,98,99,130,100,101,102,103,104,105,106,107,108,109,110,111,113,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,146,171,172,147,150,169,170,160,159,157,152,165,163,167,151,164,168,153,154,166,148,155,156,158,162,173,161,149,186,185,180,182,181,174,175,177,179,183,184,176,178,187,188,189,136,142,140,141,139,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,46,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,1,45,11,10,71,70,72],"latestChangedDtsFile":"./src/index.d.ts"},"version":"4.9.4"}
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@sdkgen/fsharp-generator",
3
- "version": "0.0.0-dev.20230110171718",
3
+ "version": "0.0.0-dev.20230120140203",
4
4
  "description": "",
5
5
  "main": "dist/src/index.js",
6
- "exports": "./dist/src/index.js",
7
- "type": "module",
8
6
  "scripts": {
7
+ "test": "jest --passWithNoTests",
9
8
  "eslint:fix": "eslint --fix '**/*.ts'",
10
9
  "eslint:check": "eslint '**/*.ts'",
11
10
  "build": "tsc"
@@ -25,11 +24,29 @@
25
24
  "homepage": "https://github.com/sdkgen/sdkgen#readme",
26
25
  "devDependencies": {
27
26
  "@cubos/eslint-config": "^2.0.0",
28
- "@types/node": "^18.0.0",
29
- "typescript": "^4.0.0"
27
+ "@types/jest": "^29.0.0",
28
+ "@types/node": "^16.7.0",
29
+ "jest": "^29.0.0",
30
+ "ts-jest": "^29.0.0",
31
+ "typescript": "^4.3.5"
32
+ },
33
+ "jest": {
34
+ "transform": {
35
+ "^.+\\.tsx?$": "ts-jest"
36
+ },
37
+ "testRegex": "spec/.*\\.spec\\.ts$",
38
+ "moduleFileExtensions": [
39
+ "ts",
40
+ "tsx",
41
+ "js"
42
+ ],
43
+ "collectCoverage": true,
44
+ "coveragePathIgnorePatterns": [
45
+ "/node_modules/"
46
+ ]
30
47
  },
31
48
  "dependencies": {
32
- "@sdkgen/parser": "0.0.0-dev.20230110171718"
49
+ "@sdkgen/parser": "0.0.0-dev.20230120140203"
33
50
  },
34
51
  "types": "dist/src/index.d.ts"
35
52
  }