@azure-tools/typespec-ts 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/src/index.d.ts +1 -5
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +148 -78
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/lib.d.ts.map +1 -1
  7. package/dist/src/lib.js +4 -2
  8. package/dist/src/lib.js.map +1 -1
  9. package/dist/src/modular/buildClassicalClient.d.ts +1 -1
  10. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  11. package/dist/src/modular/buildClassicalClient.js +7 -6
  12. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  13. package/dist/src/modular/buildClientContext.d.ts +1 -1
  14. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  15. package/dist/src/modular/buildClientContext.js +16 -7
  16. package/dist/src/modular/buildClientContext.js.map +1 -1
  17. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  18. package/dist/src/modular/buildCodeModel.js +6 -6
  19. package/dist/src/modular/buildCodeModel.js.map +1 -1
  20. package/dist/src/modular/buildOperations.d.ts +2 -1
  21. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  22. package/dist/src/modular/buildOperations.js +19 -25
  23. package/dist/src/modular/buildOperations.js.map +1 -1
  24. package/dist/src/modular/buildProjectFiles.d.ts +2 -2
  25. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  26. package/dist/src/modular/buildProjectFiles.js +284 -145
  27. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  28. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  29. package/dist/src/modular/buildRootIndex.js +5 -5
  30. package/dist/src/modular/buildRootIndex.js.map +1 -1
  31. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  32. package/dist/src/modular/buildSubpathIndex.js +9 -2
  33. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  34. package/dist/src/modular/emitModels.d.ts +2 -1
  35. package/dist/src/modular/emitModels.d.ts.map +1 -1
  36. package/dist/src/modular/emitModels.js +36 -7
  37. package/dist/src/modular/emitModels.js.map +1 -1
  38. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  39. package/dist/src/modular/helpers/clientHelpers.js +5 -3
  40. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  41. package/dist/src/modular/helpers/docsHelpers.d.ts +3 -0
  42. package/dist/src/modular/helpers/docsHelpers.d.ts.map +1 -0
  43. package/dist/src/modular/helpers/docsHelpers.js +10 -0
  44. package/dist/src/modular/helpers/docsHelpers.js.map +1 -0
  45. package/dist/src/modular/helpers/operationHelpers.d.ts +10 -3
  46. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  47. package/dist/src/modular/helpers/operationHelpers.js +162 -35
  48. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  49. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  50. package/dist/src/modular/helpers/typeHelpers.js +6 -0
  51. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  52. package/dist/src/transform/transform.d.ts +5 -8
  53. package/dist/src/transform/transform.d.ts.map +1 -1
  54. package/dist/src/transform/transform.js +23 -13
  55. package/dist/src/transform/transform.js.map +1 -1
  56. package/dist/src/transform/transformApiVersionInfo.d.ts +2 -1
  57. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  58. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  59. package/dist/src/transform/transformHelperFunctionDetails.d.ts +2 -1
  60. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  61. package/dist/src/transform/transformHelperFunctionDetails.js +1 -6
  62. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  63. package/dist/src/transform/transformParameters.d.ts +2 -2
  64. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  65. package/dist/src/transform/transformParameters.js +4 -1
  66. package/dist/src/transform/transformParameters.js.map +1 -1
  67. package/dist/src/transform/transformPaths.d.ts +2 -2
  68. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  69. package/dist/src/transform/transformPaths.js.map +1 -1
  70. package/dist/src/transform/transformResponses.d.ts +2 -2
  71. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  72. package/dist/src/transform/transformResponses.js +5 -1
  73. package/dist/src/transform/transformResponses.js.map +1 -1
  74. package/dist/src/transform/transformSchemas.d.ts +2 -2
  75. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  76. package/dist/src/transform/transformSchemas.js.map +1 -1
  77. package/dist/src/transform/transformTelemetryInfo.d.ts +4 -0
  78. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -0
  79. package/dist/src/transform/transformTelemetryInfo.js +42 -0
  80. package/dist/src/transform/transformTelemetryInfo.js.map +1 -0
  81. package/dist/src/transform/transfromRLCOptions.d.ts +4 -2
  82. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  83. package/dist/src/transform/transfromRLCOptions.js +27 -13
  84. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  85. package/dist/src/utils/clientUtils.d.ts +2 -1
  86. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  87. package/dist/src/utils/clientUtils.js.map +1 -1
  88. package/dist/src/utils/interfaces.d.ts +13 -0
  89. package/dist/src/utils/interfaces.d.ts.map +1 -0
  90. package/dist/src/utils/interfaces.js +2 -0
  91. package/dist/src/utils/interfaces.js.map +1 -0
  92. package/dist/src/utils/modelUtils.d.ts +1 -1
  93. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  94. package/dist/src/utils/modelUtils.js +14 -9
  95. package/dist/src/utils/modelUtils.js.map +1 -1
  96. package/dist/src/utils/operationUtil.d.ts +4 -4
  97. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  98. package/dist/src/utils/operationUtil.js +1 -1
  99. package/dist/src/utils/operationUtil.js.map +1 -1
  100. package/dist/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +28 -18
  102. package/src/index.ts +231 -129
  103. package/src/lib.ts +4 -2
  104. package/src/modular/buildClassicalClient.ts +10 -7
  105. package/src/modular/buildClientContext.ts +18 -8
  106. package/src/modular/buildCodeModel.ts +7 -9
  107. package/src/modular/buildOperations.ts +25 -32
  108. package/src/modular/buildProjectFiles.ts +329 -162
  109. package/src/modular/buildRootIndex.ts +5 -7
  110. package/src/modular/buildSubpathIndex.ts +9 -2
  111. package/src/modular/emitModels.ts +47 -5
  112. package/src/modular/helpers/clientHelpers.ts +5 -3
  113. package/src/modular/helpers/docsHelpers.ts +10 -0
  114. package/src/modular/helpers/operationHelpers.ts +277 -36
  115. package/src/modular/helpers/typeHelpers.ts +6 -0
  116. package/src/transform/transform.ts +24 -31
  117. package/src/transform/transformApiVersionInfo.ts +1 -1
  118. package/src/transform/transformHelperFunctionDetails.ts +2 -7
  119. package/src/transform/transformParameters.ts +15 -12
  120. package/src/transform/transformPaths.ts +5 -5
  121. package/src/transform/transformResponses.ts +10 -6
  122. package/src/transform/transformSchemas.ts +2 -2
  123. package/src/transform/transformTelemetryInfo.ts +72 -0
  124. package/src/transform/transfromRLCOptions.ts +34 -15
  125. package/src/utils/clientUtils.ts +2 -4
  126. package/src/utils/interfaces.ts +14 -0
  127. package/src/utils/modelUtils.ts +17 -8
  128. package/src/utils/operationUtil.ts +5 -6
  129. package/dist/src/modular/helpers/fixmeHelpers.d.ts +0 -2
  130. package/dist/src/modular/helpers/fixmeHelpers.d.ts.map +0 -1
  131. package/dist/src/modular/helpers/fixmeHelpers.js +0 -4
  132. package/dist/src/modular/helpers/fixmeHelpers.js.map +0 -1
  133. package/dist/src/modular/helpers/parameterHelpers.d.ts +0 -3
  134. package/dist/src/modular/helpers/parameterHelpers.d.ts.map +0 -1
  135. package/dist/src/modular/helpers/parameterHelpers.js +0 -16
  136. package/dist/src/modular/helpers/parameterHelpers.js.map +0 -1
  137. package/src/modular/helpers/fixmeHelpers.ts +0 -3
  138. package/src/modular/helpers/parameterHelpers.ts +0 -17
@@ -1,11 +1,13 @@
1
1
  import { getType } from "./helpers/typeHelpers.js";
2
2
  import * as path from "path";
3
+ import { getDocsFromDescription } from "./helpers/docsHelpers.js";
4
+ import { buildOperationOptions } from "./buildOperations.js";
3
5
  /**
4
6
  * This function creates the file containing all the models defined in TypeSpec
5
7
  */
6
8
  export function buildModels(codeModel, project, srcPath = "src", subfolder = "") {
7
- var _a, _b, _c, _d, _e, _f;
8
- const modelsFile = project.createSourceFile(path.join(`${srcPath}/src/`, subfolder, `models/models.ts`));
9
+ var _a, _b, _c, _d;
10
+ const modelsFile = project.createSourceFile(path.join(`${srcPath}/`, subfolder, `models/models.ts`));
9
11
  // We are generating both models and enums here
10
12
  const coreClientTypes = new Set();
11
13
  const models = codeModel.types.filter((t) => (t.type === "model" || t.type === "enum") && !isAzureCoreError(t));
@@ -34,17 +36,17 @@ export function buildModels(codeModel, project, srcPath = "src", subfolder = "")
34
36
  name: model.name,
35
37
  isExported: true,
36
38
  docs: [
37
- (_c = model.description) !== null && _c !== void 0 ? _c : "",
39
+ ...getDocsFromDescription(model.description),
38
40
  // If it is a fixed enum we don't need to list the known values in the docs as the
39
41
  // output will be a literal union which is self documenting
40
42
  model.isFixed
41
43
  ? ""
42
44
  : // When we generate an "extensible" enum, the type will be "string" so we list the known values
43
45
  // in the docs for user reference.
44
- ((_d = model.values) !== null && _d !== void 0 ? _d : []).map((v) => `"${v.value}"`).join(", ")
46
+ ((_c = model.values) !== null && _c !== void 0 ? _c : []).map((v) => `"${v.value}"`).join(", ")
45
47
  ],
46
48
  type: model.isFixed
47
- ? ((_e = model.values) !== null && _e !== void 0 ? _e : []).map((v) => `"${v.value}"`).join(" | ")
49
+ ? ((_d = model.values) !== null && _d !== void 0 ? _d : []).map((v) => `"${v.value}"`).join(" | ")
48
50
  : "string"
49
51
  });
50
52
  }
@@ -55,7 +57,7 @@ export function buildModels(codeModel, project, srcPath = "src", subfolder = "")
55
57
  modelsFile.addInterface({
56
58
  name: model.name,
57
59
  isExported: true,
58
- docs: [(_f = model.description) !== null && _f !== void 0 ? _f : ""],
60
+ docs: getDocsFromDescription(model.description),
59
61
  properties: properties.map((p) => {
60
62
  const propertyMetadata = getType(p.type);
61
63
  let propertyTypeName = propertyMetadata.name;
@@ -69,7 +71,7 @@ export function buildModels(codeModel, project, srcPath = "src", subfolder = "")
69
71
  }
70
72
  return {
71
73
  name: `"${p.clientName}"`,
72
- docs: [p.description],
74
+ docs: getDocsFromDescription(p.description),
73
75
  hasQuestionToken: p.optional,
74
76
  isReadonly: p.readonly,
75
77
  type: propertyTypeName
@@ -98,4 +100,31 @@ function isAzureCoreError(t) {
98
100
  ["Error", "InnerError"].includes(t.name) &&
99
101
  t.isCoreErrorType === true);
100
102
  }
103
+ export function buildModelsOptions(client, project, srcPath = "src", subfolder = "") {
104
+ const modelOptionsFile = project.createSourceFile(`${srcPath}/${subfolder}/models/options.ts`, undefined, {
105
+ overwrite: true
106
+ });
107
+ for (const operationGroup of client.operationGroups) {
108
+ operationGroup.operations.forEach((o) => {
109
+ buildOperationOptions(o, modelOptionsFile);
110
+ });
111
+ }
112
+ modelOptionsFile.addImportDeclarations([
113
+ {
114
+ moduleSpecifier: "@azure-rest/core-client",
115
+ namedImports: ["OperationOptions"]
116
+ }
117
+ ]);
118
+ modelOptionsFile.fixMissingImports();
119
+ modelOptionsFile
120
+ .getImportDeclarations()
121
+ .filter((id) => {
122
+ return (id.isModuleSpecifierRelative() &&
123
+ !id.getModuleSpecifierValue().endsWith(".js"));
124
+ })
125
+ .map((id) => {
126
+ id.setModuleSpecifier(id.getModuleSpecifierValue() + ".js");
127
+ return id;
128
+ });
129
+ }
101
130
  //# sourceMappingURL=emitModels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitModels.js","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitModels.js","sourceRoot":"","sources":["../../../src/modular/emitModels.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,6BAA6B,CAAC,EAAE,CAyB/C"}
1
+ {"version":3,"file":"clientHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIhD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,6BAA6B,CAAC,EAAE,CA0B/C"}
@@ -1,6 +1,8 @@
1
- import { getParameterType } from "./parameterHelpers.js";
1
+ import { getType } from "./typeHelpers.js";
2
+ import { getClientName } from "./namingHelpers.js";
2
3
  export function getClientParameters(client) {
3
- const { name, parameters } = client;
4
+ const { parameters } = client;
5
+ const name = getClientName(client);
4
6
  const optionsParam = {
5
7
  name: "options",
6
8
  type: `${name}ClientOptions`,
@@ -13,7 +15,7 @@ export function getClientParameters(client) {
13
15
  .map((p) => {
14
16
  return {
15
17
  name: p.clientName,
16
- type: getParameterType(p)
18
+ type: getType(p.type).name
17
19
  };
18
20
  }),
19
21
  optionsParam
@@ -1 +1 @@
1
- {"version":3,"file":"clientHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,GAAG,IAAI,eAAe;QAC5B,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,MAAM,GAAkD;QAC5D,GAAG,UAAU;aACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAC1B,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS,CAAC,CACxE;aACA,GAAG,CAA8C,CAAC,CAAC,EAAE,EAAE;YACtD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,UAAU;gBAClB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;aAC1B,CAAC;QACJ,CAAC,CAAC;QACJ,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"clientHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/clientHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,mBAAmB,CACjC,MAAc;IAEd,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,GAAG,IAAI,eAAe;QAC5B,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,MAAM,GAAkD;QAC5D,GAAG,UAAU;aACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAC1B,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS,CAAC,CACxE;aACA,GAAG,CAA8C,CAAC,CAAC,EAAE,EAAE;YACtD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,UAAU;gBAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;aAC3B,CAAC;QACJ,CAAC,CAAC;QACJ,YAAY;KACb,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function getFixmeForMultilineDocs(fixme: string[]): string[];
2
+ export declare function getDocsFromDescription(description?: string): string[];
3
+ //# sourceMappingURL=docsHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docsHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/docsHelpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAElE;AAED,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrE"}
@@ -0,0 +1,10 @@
1
+ export function getFixmeForMultilineDocs(fixme) {
2
+ return fixme.map((fixme) => ` @fixme ${fixme}`);
3
+ }
4
+ export function getDocsFromDescription(description) {
5
+ if (!description || description.trim().length === 0) {
6
+ return [];
7
+ }
8
+ return [description];
9
+ }
10
+ //# sourceMappingURL=docsHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docsHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/docsHelpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wBAAwB,CAAC,KAAe;IACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAoB;IACzD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACnD,OAAO,EAAE,CAAC;KACX;IACD,OAAO,CAAC,WAAW,CAAC,CAAC;AACvB,CAAC"}
@@ -1,10 +1,17 @@
1
1
  import { FunctionDeclarationStructure, OptionalKind } from "ts-morph";
2
- import { Operation } from "../modularCodeModel.js";
3
- export declare function getSendPrivateFunction(operation: Operation, clientType: string): OptionalKind<FunctionDeclarationStructure>;
4
- export declare function getDeserializePrivateFunction(operation: Operation, needSubClient: boolean, needUnexpectedHelper: boolean): OptionalKind<FunctionDeclarationStructure>;
2
+ import { ModularCodeModel, Operation, Property } from "../modularCodeModel.js";
3
+ export declare function getSendPrivateFunction(operation: Operation, clientType: string, importSet: Map<string, Set<string>>): OptionalKind<FunctionDeclarationStructure>;
4
+ export declare function getDeserializePrivateFunction(operation: Operation, needSubClient: boolean, needUnexpectedHelper: boolean, importSet: Map<string, Set<string>>): OptionalKind<FunctionDeclarationStructure>;
5
5
  /**
6
6
  * This operation builds and returns the function declaration for an operation.
7
7
  */
8
8
  export declare function getOperationFunction(operation: Operation, clientType: string): OptionalKind<FunctionDeclarationStructure>;
9
9
  export declare function getOperationOptionsName(operation: Operation): string;
10
+ /**
11
+ * This function helps translating an RLC response to an HLC response,
12
+ * extracting properties from body and headers and building the HLC response object
13
+ */
14
+ export declare function getResponseMapping(properties: Property[], propertyPath: string | undefined, importSet: Map<string, Set<string>>): string[];
15
+ export declare function hasLROOperation(codeModel: ModularCodeModel): boolean;
16
+ export declare function hasPagingOperation(codeModel: ModularCodeModel): boolean;
10
17
  //# sourceMappingURL=operationHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,YAAY,EAEb,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,SAAS,EAIV,MAAM,wBAAwB,CAAC;AA6BhC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,CA+B5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,OAAO,GAC5B,YAAY,CAAC,4BAA4B,CAAC,CAgE5C;AA6DD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,CAgC5C;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,UAI3D"}
1
+ {"version":3,"file":"operationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,YAAY,EAEb,MAAM,UAAU,CAAC;AAElB,OAAO,EAEL,gBAAgB,EAChB,SAAS,EAET,QAAQ,EAET,MAAM,wBAAwB,CAAC;AAgChC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAClC,YAAY,CAAC,4BAA4B,CAAC,CA6B5C;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,OAAO,EACtB,oBAAoB,EAAE,OAAO,EAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAClC,YAAY,CAAC,4BAA4B,CAAC,CAyE5C;AA6DD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,4BAA4B,CAAC,CAmC5C;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,UAI3D;AA6XD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,QAAQ,EAAE,EACtB,YAAY,oBAAwB,EACpC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,YAgDpC;AA8GD,wBAAgB,eAAe,CAAC,SAAS,EAAE,gBAAgB,WAQ1D;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,WAS7D"}
@@ -2,7 +2,7 @@ import { toPascalCase } from "../../utils/casingUtils.js";
2
2
  import { buildType } from "./typeHelpers.js";
3
3
  import { NameType, getResponseBaseName, getResponseTypeName, normalizeName } from "@azure-tools/rlc-common";
4
4
  import { getOperationName } from "./namingHelpers.js";
5
- import { getFixmeForMultilineDocs } from "./fixmeHelpers.js";
5
+ import { getFixmeForMultilineDocs, getDocsFromDescription } from "./docsHelpers.js";
6
6
  function getRLCResponseType(rlcResponse) {
7
7
  if (!(rlcResponse === null || rlcResponse === void 0 ? void 0 : rlcResponse.responses)) {
8
8
  return;
@@ -14,10 +14,7 @@ function getRLCResponseType(rlcResponse) {
14
14
  return (_a = resp.predefinedName) !== null && _a !== void 0 ? _a : getResponseTypeName(baseResponseName);
15
15
  }).join(" | ");
16
16
  }
17
- export function getSendPrivateFunction(operation, clientType) {
18
- if (operation.name === "uploadTestFile") {
19
- operation;
20
- }
17
+ export function getSendPrivateFunction(operation, clientType, importSet) {
21
18
  const parameters = getOperationSignatureParameters(operation, clientType);
22
19
  const { name } = getOperationName(operation);
23
20
  const functionStatement = {
@@ -30,13 +27,13 @@ export function getSendPrivateFunction(operation, clientType) {
30
27
  const operationPath = operation.url;
31
28
  const operationMethod = operation.method.toLowerCase();
32
29
  const statements = [];
33
- statements.push(`return context.path("${operationPath}", ${getPathParameters(operation)}).${operationMethod}({...operationOptionsToRequestParameters(options), ${getRequestParameters(operation)}});`);
30
+ statements.push(`return context.path("${operationPath}", ${getPathParameters(operation)}).${operationMethod}({...operationOptionsToRequestParameters(options), ${getRequestParameters(operation, importSet)}});`);
34
31
  return {
35
32
  ...functionStatement,
36
33
  statements
37
34
  };
38
35
  }
39
- export function getDeserializePrivateFunction(operation, needSubClient, needUnexpectedHelper) {
36
+ export function getDeserializePrivateFunction(operation, needSubClient, needUnexpectedHelper, importSet) {
40
37
  var _a, _b, _c, _d, _e;
41
38
  const { name } = getOperationName(operation);
42
39
  let parameters = [
@@ -77,10 +74,10 @@ export function getDeserializePrivateFunction(operation, needSubClient, needUnex
77
74
  statements.push(`return result.body`);
78
75
  }
79
76
  else if ((_c = response === null || response === void 0 ? void 0 : response.type) === null || _c === void 0 ? void 0 : _c.elementType) {
80
- statements.push(`return ${deserializeResponseValue(response.type, "result.body")}`);
77
+ statements.push(`return ${deserializeResponseValue(response.type, "result.body", importSet, response.type.nullable !== undefined ? !response.type.nullable : false)}`);
81
78
  }
82
79
  else if ((_d = response === null || response === void 0 ? void 0 : response.type) === null || _d === void 0 ? void 0 : _d.properties) {
83
- statements.push(`return {`, getResponseMapping((_e = response.type.properties) !== null && _e !== void 0 ? _e : []).join(","), `}`);
80
+ statements.push(`return {`, getResponseMapping((_e = response.type.properties) !== null && _e !== void 0 ? _e : [], "result.body", importSet).join(","), `}`);
84
81
  }
85
82
  else if (returnType.type === "void") {
86
83
  statements.push(`return;`);
@@ -145,7 +142,10 @@ export function getOperationFunction(operation, clientType) {
145
142
  : { name: "", type: "void" };
146
143
  const { name, fixme = [] } = getOperationName(operation);
147
144
  const functionStatement = {
148
- docs: [operation.description, ...getFixmeForMultilineDocs(fixme)],
145
+ docs: [
146
+ ...getDocsFromDescription(operation.description),
147
+ ...getFixmeForMultilineDocs(fixme)
148
+ ],
149
149
  isAsync: true,
150
150
  isExported: true,
151
151
  name: normalizeName(operation.name, NameType.Operation, true),
@@ -170,7 +170,7 @@ export function getOperationOptionsName(operation) {
170
170
  * RLC internally. This will translate High Level parameters into the RLC ones.
171
171
  * Figuring out what goes in headers, body, path and qsp.
172
172
  */
173
- function getRequestParameters(operation) {
173
+ function getRequestParameters(operation, importSet) {
174
174
  if (!operation.parameters) {
175
175
  return "";
176
176
  }
@@ -183,7 +183,7 @@ function getRequestParameters(operation) {
183
183
  };
184
184
  for (const param of operationParameters) {
185
185
  if (param.location === "header" || param.location === "query") {
186
- parametersImplementation[param.location].push(getParameterMap(param));
186
+ parametersImplementation[param.location].push(getParameterMap(param, importSet));
187
187
  }
188
188
  }
189
189
  let paramStr = "";
@@ -196,24 +196,42 @@ function getRequestParameters(operation) {
196
196
  if (parametersImplementation.query.length) {
197
197
  paramStr = `${paramStr}\nqueryParameters: {${parametersImplementation.query.join(",\n")}},`;
198
198
  }
199
- paramStr = `${paramStr}${buildBodyParameter(operation.bodyParameter)}`;
199
+ paramStr = `${paramStr}${buildBodyParameter(operation.bodyParameter, importSet)}`;
200
200
  return paramStr;
201
201
  }
202
- function buildBodyParameter(bodyParameter) {
203
- var _a, _b;
202
+ function buildBodyParameter(bodyParameter, importSet) {
203
+ var _a, _b, _c;
204
204
  if (!bodyParameter) {
205
205
  return "";
206
206
  }
207
207
  if (bodyParameter.type.type === "model") {
208
208
  const bodyParts = [];
209
+ let hasSerializeBody = false;
209
210
  for (const param of (_b = (_a = bodyParameter === null || bodyParameter === void 0 ? void 0 : bodyParameter.type.properties) === null || _a === void 0 ? void 0 : _a.filter((p) => !p.readonly)) !== null && _b !== void 0 ? _b : []) {
210
- bodyParts.push(getParameterMap(param));
211
+ if (param.type.type === "model" && isRequired(param)) {
212
+ hasSerializeBody = true;
213
+ bodyParts.push(...getRequestModelMapping(param.type, param.clientName, importSet));
214
+ }
215
+ else {
216
+ bodyParts.push(getParameterMap(param, importSet));
217
+ }
211
218
  }
212
219
  if (bodyParameter && bodyParameter.type.properties) {
213
- return `\nbody: {${bodyParts.join(",\n")}},`;
220
+ if (hasSerializeBody) {
221
+ return `\nbody: {"${bodyParameter.restApiName}": {${bodyParts.join(",\n")}}},`;
222
+ }
223
+ else {
224
+ return `\nbody: {${bodyParts.join(",\n")}},`;
225
+ }
214
226
  }
215
227
  }
216
228
  if (bodyParameter.type.type === "list") {
229
+ if (((_c = bodyParameter.type.elementType) === null || _c === void 0 ? void 0 : _c.type) === "model") {
230
+ const bodyParts = getRequestModelMapping(bodyParameter.type.elementType, "p", importSet);
231
+ return `\nbody: (${bodyParameter.clientName} ?? []).map((p) => { return {
232
+ ${bodyParts.join(", ")}
233
+ };}),`;
234
+ }
217
235
  return `\nbody: ${bodyParameter.clientName},`;
218
236
  }
219
237
  if (bodyParameter.type.type === "byte-array") {
@@ -224,18 +242,18 @@ function buildBodyParameter(bodyParameter) {
224
242
  /**
225
243
  * This function helps with renames, translating client names to rest api names
226
244
  */
227
- function getParameterMap(param) {
245
+ function getParameterMap(param, importSet) {
228
246
  if (isConstant(param)) {
229
247
  return getConstantValue(param);
230
248
  }
231
249
  if (isOptionalWithouDefault(param)) {
232
- return getOptionalWithoutDefault(param);
250
+ return getOptionalWithoutDefault(param, importSet);
233
251
  }
234
252
  if (isOptionalWithDefault(param)) {
235
- return getOptionalWithDefault(param);
253
+ return getOptionalWithDefault(param, importSet);
236
254
  }
237
255
  if (isRequired(param)) {
238
- return getRequired(param);
256
+ return getRequired(param, importSet);
239
257
  }
240
258
  throw new Error(`Parameter ${param.clientName} is not supported`);
241
259
  }
@@ -259,7 +277,10 @@ function getContentTypeValue(param) {
259
277
  function isRequired(param) {
260
278
  return !param.optional;
261
279
  }
262
- function getRequired(param) {
280
+ function getRequired(param, importSet) {
281
+ if (param.type.type === "model") {
282
+ return `"${param.restApiName}": ${getRequestModelMapping(param.type, param.clientName, importSet).join(",")}`;
283
+ }
263
284
  return `"${param.restApiName}": ${param.clientName}`;
264
285
  }
265
286
  function getConstantValue(param) {
@@ -276,13 +297,19 @@ function isConstant(param) {
276
297
  function isOptionalWithouDefault(param) {
277
298
  return Boolean(param.optional && !param.clientDefaultValue);
278
299
  }
279
- function getOptionalWithoutDefault(param) {
300
+ function getOptionalWithoutDefault(param, importSet) {
301
+ if (param.type.type === "model") {
302
+ return `"${param.restApiName}": {${getRequestModelMapping(param.type, "options?." + param.clientName + "?", importSet).join(", ")}}`;
303
+ }
280
304
  return `"${param.restApiName}": options?.${param.clientName}`;
281
305
  }
282
306
  function isOptionalWithDefault(param) {
283
307
  return Boolean(param.clientDefaultValue);
284
308
  }
285
- function getOptionalWithDefault(param) {
309
+ function getOptionalWithDefault(param, importSet) {
310
+ if (param.type.type === "model") {
311
+ return `"${param.restApiName}": {${getRequestModelMapping(param.type, "options?." + param.clientName, importSet).join(", ")}} ?? ${getQuotedValue(param)}`;
312
+ }
286
313
  return `"${param.restApiName}": options.${param.clientName} ?? ${getQuotedValue(param)}`;
287
314
  }
288
315
  function getQuotedValue(param) {
@@ -332,30 +359,64 @@ function getNullableCheck(name, type) {
332
359
  }
333
360
  return `${name} === null ? null :`;
334
361
  }
362
+ /**
363
+ *
364
+ * This function helps translating an HLC request to RLC request,
365
+ * extracting properties from body and headers and building the RLC response object
366
+ */
367
+ function getRequestModelMapping(modelPropertyType, propertyPath = "body", importSet) {
368
+ if (!modelPropertyType.properties || !modelPropertyType.properties) {
369
+ return [];
370
+ }
371
+ const props = [];
372
+ const properties = modelPropertyType.properties;
373
+ for (const property of properties) {
374
+ if (property.readonly) {
375
+ continue;
376
+ }
377
+ const propertyFullName = `${propertyPath}.${property.restApiName}`;
378
+ if (property.type.type === "model") {
379
+ let definition;
380
+ if (property.type.isCoreErrorType) {
381
+ definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} ${propertyFullName}`;
382
+ }
383
+ else {
384
+ definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} {${getRequestModelMapping(property.type, `${propertyPath}.${property.restApiName}${property.optional ? "?" : ""}`, importSet)}}`;
385
+ }
386
+ props.push(definition);
387
+ }
388
+ else {
389
+ const dot = propertyPath.endsWith("?") ? "." : "";
390
+ const restValue = `${propertyPath ? `${propertyPath}${dot}` : `${dot}`}["${property.clientName}"]`;
391
+ props.push(`"${property.restApiName}": ${serializeRequestValue(property.type, restValue, importSet)}`);
392
+ }
393
+ }
394
+ return props;
395
+ }
335
396
  /**
336
397
  * This function helps translating an RLC response to an HLC response,
337
398
  * extracting properties from body and headers and building the HLC response object
338
399
  */
339
- function getResponseMapping(properties, propertyPath = "result.body") {
400
+ export function getResponseMapping(properties, propertyPath = "result.body", importSet) {
340
401
  var _a;
341
402
  const props = [];
342
403
  for (const property of properties) {
343
404
  // TODO: Do we need to also add headers in the result type?
344
- const propertyFullName = `${propertyPath}.${property.clientName}`;
405
+ const propertyFullName = `${propertyPath}.${property.restApiName}`;
345
406
  if (property.type.type === "model") {
346
407
  let definition;
347
408
  if (property.type.isCoreErrorType) {
348
- definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} ${propertyFullName}`;
409
+ definition = `"${property.clientName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} ${propertyFullName}`;
349
410
  }
350
411
  else {
351
- definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} {${getResponseMapping((_a = property.type.properties) !== null && _a !== void 0 ? _a : [], `${propertyPath}.${property.restApiName}${property.optional ? "?" : ""}`)}}`;
412
+ definition = `"${property.clientName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} {${getResponseMapping((_a = property.type.properties) !== null && _a !== void 0 ? _a : [], `${propertyPath}.${property.restApiName}${property.optional ? "?" : ""}`, importSet)}}`;
352
413
  }
353
414
  props.push(definition);
354
415
  }
355
416
  else {
356
417
  const dot = propertyPath.endsWith("?") ? "." : "";
357
418
  const restValue = `${propertyPath ? `${propertyPath}${dot}` : `${dot}`}["${property.restApiName}"]`;
358
- props.push(`"${property.clientName}": ${deserializeResponseValue(property.type, restValue)}`);
419
+ props.push(`"${property.clientName}": ${deserializeResponseValue(property.type, restValue, importSet, property.optional !== undefined ? !property.optional : false)}`);
359
420
  }
360
421
  }
361
422
  return props;
@@ -365,23 +426,69 @@ function getResponseMapping(properties, propertyPath = "result.body") {
365
426
  * We need to drill down into Array elements to make sure that the element type is
366
427
  * deserialized correctly
367
428
  */
368
- function deserializeResponseValue(type, restValue) {
369
- var _a, _b, _c, _d, _e;
429
+ function deserializeResponseValue(type, restValue, importSet, required) {
430
+ var _a, _b, _c, _d, _e, _f;
431
+ const coreUtilSet = importSet.get("@azure/core-util");
370
432
  switch (type.type) {
371
433
  case "datetime":
372
- return `new Date(${restValue} ?? "")`;
434
+ return required
435
+ ? `new Date(${restValue})`
436
+ : `${restValue} !== undefined? new Date(${restValue}): undefined`;
437
+ case "combined":
438
+ return `${restValue} as any`;
439
+ case "list":
440
+ if (((_a = type.elementType) === null || _a === void 0 ? void 0 : _a.type) === "model") {
441
+ return `(${restValue} ?? []).map(p => ({${getResponseMapping((_c = (_b = type.elementType) === null || _b === void 0 ? void 0 : _b.properties) !== null && _c !== void 0 ? _c : [], "p", importSet)}}))`;
442
+ }
443
+ else if ((_e = (_d = type.elementType) === null || _d === void 0 ? void 0 : _d.properties) === null || _e === void 0 ? void 0 : _e.some((p) => needsDeserialize(p.type))) {
444
+ return `(${restValue} ?? []).map(p => ${deserializeResponseValue(type.elementType, "p", importSet, required)})`;
445
+ }
446
+ else {
447
+ return restValue;
448
+ }
373
449
  case "byte-array":
374
- return `Buffer.from(${restValue} ?? "")`;
450
+ if (!coreUtilSet) {
451
+ importSet.set("@azure/core-util", new Set().add("stringToUint8Array"));
452
+ }
453
+ else {
454
+ coreUtilSet.add("stringToUint8Array");
455
+ }
456
+ return `typeof ${restValue} === 'string'
457
+ ? stringToUint8Array(${restValue}, "${(_f = type.format) !== null && _f !== void 0 ? _f : "base64"}")
458
+ : ${restValue}`;
459
+ default:
460
+ return restValue;
461
+ }
462
+ }
463
+ /**
464
+ * This function helps converting strings into JS complex types recursively.
465
+ * We need to drill down into Array elements to make sure that the element type is
466
+ * deserialized correctly
467
+ */
468
+ function serializeRequestValue(type, restValue, importSet = new Map()) {
469
+ var _a, _b, _c, _d, _e, _f;
470
+ const coreUtilSet = importSet.get("@azure/core-util");
471
+ switch (type.type) {
472
+ case "datetime":
473
+ return `${restValue} !== undefined ? new Date(${restValue}): undefined`;
375
474
  case "list":
376
475
  if (((_a = type.elementType) === null || _a === void 0 ? void 0 : _a.type) === "model") {
377
- return `(${restValue} ?? []).map(p => ({${getResponseMapping((_c = (_b = type.elementType) === null || _b === void 0 ? void 0 : _b.properties) !== null && _c !== void 0 ? _c : [], "p")}}))`;
476
+ return `(${restValue} ?? []).map(p => ({${getResponseMapping((_c = (_b = type.elementType) === null || _b === void 0 ? void 0 : _b.properties) !== null && _c !== void 0 ? _c : [], "p", importSet)}}))`;
378
477
  }
379
478
  else if ((_e = (_d = type.elementType) === null || _d === void 0 ? void 0 : _d.properties) === null || _e === void 0 ? void 0 : _e.some((p) => needsDeserialize(p.type))) {
380
- return `(${restValue} ?? []).map(p => ${deserializeResponseValue(type.elementType, "p")})`;
479
+ return `(${restValue} ?? []).map(p => ${serializeRequestValue(type.elementType, "p", importSet)})`;
381
480
  }
382
481
  else {
383
482
  return restValue;
384
483
  }
484
+ case "byte-array":
485
+ if (!coreUtilSet) {
486
+ importSet.set("@azure/core-util", new Set().add("uint8ArrayToString"));
487
+ }
488
+ else {
489
+ coreUtilSet.add("uint8ArrayToString");
490
+ }
491
+ return `${restValue} !== undefined ? uint8ArrayToString(${restValue}, "${(_f = type.format) !== null && _f !== void 0 ? _f : "base64"}"): undefined`;
385
492
  default:
386
493
  return restValue;
387
494
  }
@@ -389,4 +496,24 @@ function deserializeResponseValue(type, restValue) {
389
496
  function needsDeserialize(type) {
390
497
  return (type === null || type === void 0 ? void 0 : type.type) === "datetime" || (type === null || type === void 0 ? void 0 : type.type) === "model";
391
498
  }
499
+ export function hasLROOperation(codeModel) {
500
+ var _a;
501
+ return ((_a = codeModel.clients) !== null && _a !== void 0 ? _a : []).some((c) => {
502
+ var _a;
503
+ return ((_a = c.operationGroups) !== null && _a !== void 0 ? _a : []).some((og) => {
504
+ var _a;
505
+ return ((_a = og.operations) !== null && _a !== void 0 ? _a : []).some((op) => op.discriminator === "lro" || op.discriminator === "lropaging");
506
+ });
507
+ });
508
+ }
509
+ export function hasPagingOperation(codeModel) {
510
+ var _a;
511
+ return ((_a = codeModel.clients) !== null && _a !== void 0 ? _a : []).some((c) => {
512
+ var _a;
513
+ return ((_a = c.operationGroups) !== null && _a !== void 0 ? _a : []).some((og) => {
514
+ var _a;
515
+ return ((_a = og.operations) !== null && _a !== void 0 ? _a : []).some((op) => op.discriminator === "paging" || op.discriminator === "lropaging");
516
+ });
517
+ });
518
+ }
392
519
  //# sourceMappingURL=operationHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAS1D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,QAAQ,EAER,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,SAAS,kBAAkB,CAAC,WAA+B;IACzD,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAA,EAAE;QAC3B,OAAO;KACR;IACD,OAAO,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;QACZ,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,aAAa,EACzB,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,sDAAsD;QACtD,OAAO,MAAA,IAAI,CAAC,cAAc,mCAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC,EACA,IAAI,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAAoB,EACpB,UAAkB,EAClB,SAAmC;IAEnC,MAAM,UAAU,GAAG,+BAA+B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,iBAAiB,GAA+C;QACpE,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,IAAI,IAAI,MAAM;QACpB,UAAU;QACV,UAAU,EAAE,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG;KAC7E,CAAC;IAEF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC;IACpC,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAEvD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,UAAU,CAAC,IAAI,CACb,wBAAwB,aAAa,MAAM,iBAAiB,CAC1D,SAAS,CACV,KAAK,eAAe,sDAAsD,oBAAoB,CAC7F,SAAS,EACT,SAAS,CACV,KAAK,CACP,CAAC;IAEF,OAAO;QACL,GAAG,iBAAiB;QACpB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,SAAoB,EACpB,aAAsB,EACtB,oBAA6B,EAC7B,SAAmC;;IAEnC,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAI,UAAU,GAAkD;QAC9D;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC;SAChD;KACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;IACzC,IAAI,UAAU,CAAC;IACf,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,EAAE;QACxB,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC3D;SAAM;QACL,IAAI,CAAC,oBAAoB,EAAE;YACzB,UAAU,GAAG;gBACX;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC;iBAChD;aACF,CAAC;SACH;QACD,UAAU,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACzC;IAED,MAAM,iBAAiB,GAA+C;QACpE,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,IAAI,IAAI,aAAa;QAC3B,UAAU;QACV,UAAU,EAAE,WAAW,UAAU,CAAC,IAAI,GAAG;KAC1C,CAAC;IACF,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,oBAAoB,EAAE;QACxB,UAAU,CAAC,IAAI,CACb,MAAM,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EACtE,mBAAmB,EACnB,GAAG,CACJ,CAAC;KACH;IAED,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI,MAAK,KAAK,EAAE;QAClC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KACvC;SAAM,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,EAAE;QACtC,UAAU,CAAC,IAAI,CACb,UAAU,wBAAwB,CAChC,QAAQ,CAAC,IAAI,EACb,aAAa,EACb,SAAS,EACT,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CACvE,EAAE,CACJ,CAAC;KACH;SAAM,IAAI,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,UAAU,EAAE;QACrC,UAAU,CAAC,IAAI,CACb,UAAU,EACV,kBAAkB,CAChB,MAAA,QAAQ,CAAC,IAAI,CAAC,UAAU,mCAAI,EAAE,EAC9B,aAAa,EACb,SAAS,CACV,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,GAAG,CACJ,CAAC;KACH;SAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE;QACrC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC5B;SAAM;QACL,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACxC;IACD,OAAO;QACL,GAAG,iBAAiB;QACpB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,SAAoB,EACpB,UAAkB;;IAElB,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,UAAU,GAGZ,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,IAAI,CAAC,IAAI,MAAK,OAAO,EAAE;QAClD,CAAC,MAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aAC3C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAC9C;SAAM,IAAI,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,IAAI,CAAC,IAAI,MAAK,MAAM,EAAE;QACxD,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC;QAC1C,UAAU,CAAC,GAAG,CACZ,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAChD,CAAC;KACH;SAAM,IAAI,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,IAAI,CAAC,IAAI,MAAK,YAAY,EAAE;QAC9D,UAAU,CAAC,GAAG,CACZ,SAAS,CAAC,aAAa,CAAC,UAAU,EAClC,SAAS,CACP,SAAS,CAAC,aAAa,CAAC,UAAU,EAClC,SAAS,CAAC,aAAa,CAAC,IAAI,CAC7B,CACF,CAAC;KACH;IAED,SAAS,CAAC,UAAU;SACjB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,cAAc,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;QAC1B,CAAC,CAAC,kBAAkB,KAAK,SAAS;QAClC,CAAC,CAAC,CAAC,QAAQ,CACd;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEL,qCAAqC;IACrC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAE3D,4BAA4B;IAC5B,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wBAAwB;KACtC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;IAE7E,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAoB,EACpB,UAAkB;;IAElB,8BAA8B;IAC9B,MAAM,UAAU,GACd,+BAA+B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEzD,oCAAoC;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;IACzC,MAAM,UAAU,GAAG,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,IAAI;QACrC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAE/B,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAA+C;QACpE,IAAI,EAAE;YACJ,GAAG,sBAAsB,CAAC,SAAS,CAAC,WAAW,CAAC;YAChD,GAAG,wBAAwB,CAAC,KAAK,CAAC;SACnC;QACD,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;QAC7D,UAAU;QACV,UAAU,EAAE,WAAW,UAAU,CAAC,IAAI,GAAG;KAC1C,CAAC;IAEF,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,UAAU,CAAC,IAAI,CACb,yBAAyB,IAAI,QAAQ,UAAU;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,sBAAsB,CAAC,CAAC;IACvD,OAAO;QACL,GAAG,iBAAiB;QACpB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAAoB;IAC1D,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,YAAY,CACxD,SAAS,CAAC,IAAI,CACf,SAAS,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,SAAoB,EACpB,SAAmC;IAEnC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAC1D,CAAC;IAEF,MAAM,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEtE,MAAM,wBAAwB,GAG1B;QACF,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE;QACvC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC7D,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC3C,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAClC,CAAC;SACH;KACF;IAED,IAAI,QAAQ,GAAG,EAAE,CAAC;IAElB,IAAI,oBAAoB,EAAE;QACxB,QAAQ,GAAG,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,GAAG,CAAC;KAC5D;IAED,IAAI,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE;QAC1C,QAAQ,GAAG,GAAG,QAAQ,eACpB,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAChD,GAAG,CAAC;KACL;IAED,IAAI,wBAAwB,CAAC,KAAK,CAAC,MAAM,EAAE;QACzC,QAAQ,GAAG,GAAG,QAAQ,uBAAuB,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAC9E,KAAK,CACN,IAAI,CAAC;KACP;IAED,QAAQ,GAAG,GAAG,QAAQ,GAAG,kBAAkB,CACzC,SAAS,CAAC,aAAa,EACvB,SAAS,CACV,EAAE,CAAC;IAEJ,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CACzB,aAAwC,EACxC,SAAmC;;IAEnC,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QACvC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,MAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC,UAAU,0CAAE,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CACnB,mCAAI,EAAE,EAAE;YACP,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;gBACpD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,SAAS,CAAC,IAAI,CACZ,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CACnE,CAAC;aACH;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;aACnD;SACF;QAED,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE;YAClD,IAAI,gBAAgB,EAAE;gBACpB,OAAO,aAAa,aAAa,CAAC,WAAW,OAAO,SAAS,CAAC,IAAI,CAChE,KAAK,CACN,KAAK,CAAC;aACR;iBAAM;gBACL,OAAO,YAAY,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aAC9C;SACF;KACF;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;QACtC,IAAI,CAAA,MAAA,aAAa,CAAC,IAAI,CAAC,WAAW,0CAAE,IAAI,MAAK,OAAO,EAAE;YACpD,MAAM,SAAS,GAAG,sBAAsB,CACtC,aAAa,CAAC,IAAI,CAAC,WAAW,EAC9B,GAAG,EACH,SAAS,CACV,CAAC;YACF,OAAO,YAAY,aAAa,CAAC,UAAU;UACvC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAClB,CAAC;SACR;QACD,OAAO,WAAW,aAAa,CAAC,UAAU,GAAG,CAAC;KAC/C;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;QAC5C,OAAO,WAAW,aAAa,CAAC,UAAU,GAAG,CAAC;KAC/C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,KAA2B,EAC3B,SAAmC;IAEnC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACrB,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAChC;IAED,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE;QAClC,OAAO,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KACpD;IAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KACjD;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACrB,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KACtC;IAED,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,UAAU,mBAAmB,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,KAAgB;IACrC,OAAO,CACL,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAC3B,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,cAAc,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA2B;;IACtD,MAAM,YAAY,GAChB,MAAA,KAAK,CAAC,kBAAkB,mCAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAE5D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,CAAC,UAAU,gCAAgC,CAC7D,CAAC;KACH;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,wBAAwB,KAAK,CAAC,UAAU,eAAe,YAAY,GAAG,CAAC;KAC/E;SAAM;QACL,OAAO,wBAAwB,KAAK,CAAC,UAAU,EAAE,CAAC;KACnD;AACH,CAAC;AAMD,SAAS,UAAU,CAAC,KAA2B;IAC7C,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB,EAAE,SAAmC;IAC3E,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAC/B,OAAO,IAAI,KAAK,CAAC,WAAW,MAAM,sBAAsB,CACtD,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,EAChB,SAAS,CACV,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;KACf;IACD,OAAO,IAAI,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;AACvD,CAAC;AAMD,SAAS,gBAAgB,CAAC,KAAmB;;IAC3C,MAAM,YAAY,GAChB,MAAA,KAAK,CAAC,kBAAkB,mCAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAE5D,IAAI,CAAC,YAAY,EAAE;QACjB,MAAM,IAAI,KAAK,CACb,YAAY,KAAK,CAAC,UAAU,gCAAgC,CAC7D,CAAC;KACH;IAED,OAAO,IAAI,KAAK,CAAC,WAAW,OAAO,YAAY,GAAG,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,KAA2B;IAC7C,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,kBAAkB,KAAK,SAAS,CACzE,CAAC;AACJ,CAAC;AAKD,SAAS,uBAAuB,CAC9B,KAA2B;IAE3B,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AACD,SAAS,yBAAyB,CAChC,KAAiC,EACjC,SAAmC;IAEnC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAC/B,OAAO,IAAI,KAAK,CAAC,WAAW,OAAO,sBAAsB,CACvD,KAAK,CAAC,IAAI,EACV,WAAW,GAAG,KAAK,CAAC,UAAU,GAAG,GAAG,EACpC,SAAS,CACV,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KACjB;IACD,OAAO,IAAI,KAAK,CAAC,WAAW,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC;AAChE,CAAC;AAKD,SAAS,qBAAqB,CAC5B,KAA2B;IAE3B,OAAO,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA8B,EAC9B,SAAmC;IAEnC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAC/B,OAAO,IAAI,KAAK,CAAC,WAAW,OAAO,sBAAsB,CACvD,KAAK,CAAC,IAAI,EACV,WAAW,GAAG,KAAK,CAAC,UAAU,EAC9B,SAAS,CACV,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;KAC7C;IACD,OAAO,IAAI,KAAK,CAAC,WAAW,cAC1B,KAAK,CAAC,UACR,OAAO,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IACpD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAChC,OAAO,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC;KACxC;SAAM;QACL,OAAO,KAAK,CAAC,kBAAkB,CAAC;KACjC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAA2B;;IAClD,OAAO,CAAC,MAAA,KAAK,CAAC,kBAAkB,mCAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAChE,SAAS;QACT,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAC3B,MAAA,KAAK,CAAC,kBAAkB,mCAAI,KAAK,CAAC,IAAI,CAAC,kBACzC,GAAG;QACL,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAAoB;IAC7C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;QACzB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,UAAU,EAAE;QACxC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACnB,UAAU,IAAI,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpE,SAAS;aACV;YAED,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YAE5C,UAAU,IAAI,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAC3C,KAAK,CAAC,UACR,EAAE,CAAC;YAEH,IAAI,YAAY,EAAE;gBAChB,UAAU,IAAI,QAAQ,YAAY,GAAG,CAAC;aACvC;SACF;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAU;IAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,GAAG,IAAI,oBAAoB,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,iBAAuB,EACvB,eAAuB,MAAM,EAC7B,SAAmC;IAEnC,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;QAClE,OAAO,EAAE,CAAC;KACX;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAe,iBAAiB,CAAC,UAAU,CAAC;IAC5D,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;QACjC,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACrB,SAAS;SACV;QACD,MAAM,gBAAgB,GAAG,GAAG,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAClC,IAAI,UAAU,CAAC;YACf,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE;gBACjC,UAAU,GAAG,IAAI,QAAQ,CAAC,WAAW,MAAM,gBAAgB,CACzD,gBAAgB,EAChB,QAAQ,CAAC,IAAI,CACd,IACC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,gBAChD,IAAI,gBAAgB,EAAE,CAAC;aACxB;iBAAM;gBACL,UAAU,GAAG,IAAI,QAAQ,CAAC,WAAW,MAAM,gBAAgB,CACzD,gBAAgB,EAChB,QAAQ,CAAC,IAAI,CACd,IACC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,gBAChD,KAAK,sBAAsB,CACzB,QAAQ,CAAC,IAAI,EACb,GAAG,YAAY,IAAI,QAAQ,CAAC,WAAW,GACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,EAAE,EACF,SAAS,CACV,GAAG,CAAC;aACN;YAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACxB;aAAM;YACL,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,GAChB,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EACjD,KAAK,QAAQ,CAAC,UAAU,IAAI,CAAC;YAC7B,KAAK,CAAC,IAAI,CACR,IAAI,QAAQ,CAAC,WAAW,MAAM,qBAAqB,CACjD,QAAQ,CAAC,IAAI,EACb,SAAS,EACT,SAAS,CACV,EAAE,CACJ,CAAC;SACH;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAsB,EACtB,eAAuB,aAAa,EACpC,SAAmC;;IAEnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;QACjC,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,GAAG,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YAClC,IAAI,UAAU,CAAC;YACf,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE;gBACjC,UAAU,GAAG,IAAI,QAAQ,CAAC,UAAU,MAAM,gBAAgB,CACxD,gBAAgB,EAChB,QAAQ,CAAC,IAAI,CACd,IACC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,gBAChD,IAAI,gBAAgB,EAAE,CAAC;aACxB;iBAAM;gBACL,UAAU,GAAG,IAAI,QAAQ,CAAC,UAAU,MAAM,gBAAgB,CACxD,gBAAgB,EAChB,QAAQ,CAAC,IAAI,CACd,IACC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,gBAChD,KAAK,kBAAkB,CACrB,MAAA,QAAQ,CAAC,IAAI,CAAC,UAAU,mCAAI,EAAE,EAC9B,GAAG,YAAY,IAAI,QAAQ,CAAC,WAAW,GACrC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAC5B,EAAE,EACF,SAAS,CACV,GAAG,CAAC;aACN;YAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACxB;aAAM;YACL,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,GAChB,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EACjD,KAAK,QAAQ,CAAC,WAAW,IAAI,CAAC;YAC9B,KAAK,CAAC,IAAI,CACR,IAAI,QAAQ,CAAC,UAAU,MAAM,wBAAwB,CACnD,QAAQ,CAAC,IAAI,EACb,SAAS,EACT,SAAS,EACT,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAC7D,EAAE,CACJ,CAAC;SACH;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAC/B,IAAU,EACV,SAAiB,EACjB,SAAmC,EACnC,QAAiB;;IAEjB,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,UAAU;YACb,OAAO,QAAQ;gBACb,CAAC,CAAC,YAAY,SAAS,GAAG;gBAC1B,CAAC,CAAC,GAAG,SAAS,4BAA4B,SAAS,cAAc,CAAC;QACtE,KAAK,UAAU;YACb,OAAO,GAAG,SAAS,SAAS,CAAC;QAC/B,KAAK,MAAM;YACT,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,MAAK,OAAO,EAAE;gBACtC,OAAO,IAAI,SAAS,sBAAsB,kBAAkB,CAC1D,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU,mCAAI,EAAE,EAClC,GAAG,EACH,SAAS,CACV,KAAK,CAAC;aACR;iBAAM,IACL,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EACnE;gBACA,OAAO,IAAI,SAAS,oBAAoB,wBAAwB,CAC9D,IAAI,CAAC,WAAY,EACjB,GAAG,EACH,SAAS,EACT,QAAQ,CACT,GAAG,CAAC;aACN;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;QACH,KAAK,YAAY;YACf,IAAI,CAAC,WAAW,EAAE;gBAChB,SAAS,CAAC,GAAG,CACX,kBAAkB,EAClB,IAAI,GAAG,EAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAC5C,CAAC;aACH;iBAAM;gBACL,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;aACvC;YACD,OAAO,UAAU,SAAS;6BACH,SAAS,MAAM,MAAA,IAAI,CAAC,MAAM,mCAAI,QAAQ;UACzD,SAAS,EAAE,CAAC;QAClB;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,IAAU,EACV,SAAiB,EACjB,YAAsC,IAAI,GAAG,EAAuB;;IAEpE,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,UAAU;YACb,OAAO,GAAG,SAAS,6BAA6B,SAAS,cAAc,CAAC;QAC1E,KAAK,MAAM;YACT,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,MAAK,OAAO,EAAE;gBACtC,OAAO,IAAI,SAAS,sBAAsB,kBAAkB,CAC1D,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU,mCAAI,EAAE,EAClC,GAAG,EACH,SAAS,CACV,KAAK,CAAC;aACR;iBAAM,IACL,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EACnE;gBACA,OAAO,IAAI,SAAS,oBAAoB,qBAAqB,CAC3D,IAAI,CAAC,WAAY,EACjB,GAAG,EACH,SAAS,CACV,GAAG,CAAC;aACN;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;QACH,KAAK,YAAY;YACf,IAAI,CAAC,WAAW,EAAE;gBAChB,SAAS,CAAC,GAAG,CACX,kBAAkB,EAClB,IAAI,GAAG,EAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAC5C,CAAC;aACH;iBAAM;gBACL,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;aACvC;YACD,OAAO,GAAG,SAAS,uCAAuC,SAAS,MACjE,MAAA,IAAI,CAAC,MAAM,mCAAI,QACjB,eAAe,CAAC;QAClB;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAW;IACnC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,UAAU,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,OAAO,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA2B;;IACzD,OAAO,CAAC,MAAA,SAAS,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;;QAC1C,OAAA,CAAC,MAAA,CAAC,CAAC,eAAe,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;;YACpC,OAAA,CAAC,MAAA,EAAE,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC,IAAI,CACxB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,KAAK,IAAI,EAAE,CAAC,aAAa,KAAK,WAAW,CACvE,CAAA;SAAA,CACF,CAAA;KAAA,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAA2B;;IAC5D,OAAO,CAAC,MAAA,SAAS,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;;QAC1C,OAAA,CAAC,MAAA,CAAC,CAAC,eAAe,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;;YACpC,OAAA,CAAC,MAAA,EAAE,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC,IAAI,CACxB,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,aAAa,KAAK,QAAQ,IAAI,EAAE,CAAC,aAAa,KAAK,WAAW,CACpE,CAAA;SAAA,CACF,CAAA;KAAA,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAkFhD;AAUD;;GAEG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,IAAI,EAAE,IAAI,GAAG,SAAS;;;EAYvB"}
1
+ {"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAwFhD;AAUD;;GAEG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,IAAI,EAAE,IAAI,GAAG,SAAS;;;EAYvB"}