@servicenow/sdk-build-core 3.0.3 → 4.0.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 (252) hide show
  1. package/dist/app.d.ts +25 -0
  2. package/dist/app.js +8 -0
  3. package/dist/app.js.map +1 -0
  4. package/dist/compiler.d.ts +60 -0
  5. package/dist/compiler.js +320 -0
  6. package/dist/compiler.js.map +1 -0
  7. package/dist/compression.d.ts +7 -0
  8. package/dist/compression.js +79 -0
  9. package/dist/compression.js.map +1 -0
  10. package/dist/crypto.d.ts +1 -0
  11. package/dist/crypto.js +9 -0
  12. package/dist/crypto.js.map +1 -0
  13. package/dist/diagnostic.d.ts +41 -0
  14. package/dist/diagnostic.js +130 -0
  15. package/dist/diagnostic.js.map +1 -0
  16. package/dist/{plugins/Diagnostic.d.ts → fluent-diagnostic.d.ts} +3 -2
  17. package/dist/fluent-diagnostic.js +23 -0
  18. package/dist/fluent-diagnostic.js.map +1 -0
  19. package/dist/fluent-directive.d.ts +8 -0
  20. package/dist/fluent-directive.js +54 -0
  21. package/dist/fluent-directive.js.map +1 -0
  22. package/dist/fluent-file.d.ts +5 -0
  23. package/dist/fluent-file.js +15 -0
  24. package/dist/fluent-file.js.map +1 -0
  25. package/dist/formatter.d.ts +11 -0
  26. package/dist/formatter.js +77 -0
  27. package/dist/formatter.js.map +1 -0
  28. package/dist/fs.d.ts +174 -0
  29. package/dist/fs.js +313 -0
  30. package/dist/fs.js.map +1 -0
  31. package/dist/guid.d.ts +2 -0
  32. package/dist/{GUID.js → guid.js} +3 -6
  33. package/dist/guid.js.map +1 -0
  34. package/dist/index.d.ts +19 -5
  35. package/dist/index.js +19 -5
  36. package/dist/index.js.map +1 -1
  37. package/dist/json.d.ts +5 -0
  38. package/dist/json.js +43 -0
  39. package/dist/json.js.map +1 -0
  40. package/dist/keys-registry.d.ts +64 -0
  41. package/dist/keys-registry.js +339 -0
  42. package/dist/keys-registry.js.map +1 -0
  43. package/dist/logger.d.ts +8 -0
  44. package/dist/logger.js +17 -0
  45. package/dist/logger.js.map +1 -0
  46. package/dist/now-config.d.ts +348 -0
  47. package/dist/now-config.js +283 -0
  48. package/dist/now-config.js.map +1 -0
  49. package/dist/path.d.ts +3 -0
  50. package/dist/path.js +12 -0
  51. package/dist/path.js.map +1 -0
  52. package/dist/plugins/cache.d.ts +20 -0
  53. package/dist/plugins/cache.js +46 -0
  54. package/dist/plugins/cache.js.map +1 -0
  55. package/dist/plugins/context.d.ts +85 -0
  56. package/dist/plugins/{Context.js → context.js} +1 -1
  57. package/dist/plugins/context.js.map +1 -0
  58. package/dist/plugins/database.d.ts +27 -0
  59. package/dist/plugins/database.js +102 -0
  60. package/dist/plugins/database.js.map +1 -0
  61. package/dist/plugins/file.d.ts +10 -0
  62. package/dist/plugins/{behaviors/Arranger.js → file.js} +1 -1
  63. package/dist/plugins/file.js.map +1 -0
  64. package/dist/plugins/index.d.ts +9 -5
  65. package/dist/plugins/index.js +9 -6
  66. package/dist/plugins/index.js.map +1 -1
  67. package/dist/plugins/plugin.d.ts +478 -0
  68. package/dist/plugins/plugin.js +533 -0
  69. package/dist/plugins/plugin.js.map +1 -0
  70. package/dist/plugins/product.d.ts +15 -0
  71. package/dist/plugins/product.js +38 -0
  72. package/dist/plugins/product.js.map +1 -0
  73. package/dist/plugins/project.d.ts +25 -0
  74. package/dist/plugins/{behaviors/Generator.js → project.js} +1 -1
  75. package/dist/plugins/project.js.map +1 -0
  76. package/dist/plugins/shape.d.ts +424 -0
  77. package/dist/plugins/shape.js +1181 -0
  78. package/dist/plugins/shape.js.map +1 -0
  79. package/dist/plugins/time.d.ts +12 -0
  80. package/dist/plugins/time.js +84 -0
  81. package/dist/plugins/time.js.map +1 -0
  82. package/dist/plugins/usage.d.ts +11 -0
  83. package/dist/plugins/usage.js +26 -0
  84. package/dist/plugins/usage.js.map +1 -0
  85. package/dist/prettier/config-loader.d.ts +13 -0
  86. package/dist/prettier/config-loader.js +105 -0
  87. package/dist/prettier/config-loader.js.map +1 -0
  88. package/dist/telemetry/index.d.ts +25 -0
  89. package/dist/telemetry/index.js +18 -0
  90. package/dist/telemetry/index.js.map +1 -0
  91. package/dist/typescript.d.ts +293 -0
  92. package/dist/typescript.js +454 -0
  93. package/dist/typescript.js.map +1 -0
  94. package/dist/util/get-file-type.d.ts +2 -0
  95. package/dist/util/get-file-type.js +13 -0
  96. package/dist/util/get-file-type.js.map +1 -0
  97. package/dist/util/index.d.ts +2 -6
  98. package/dist/util/index.js +2 -6
  99. package/dist/util/index.js.map +1 -1
  100. package/dist/util/{Scope.js → is-sn-scope.js} +1 -1
  101. package/dist/util/is-sn-scope.js.map +1 -0
  102. package/dist/xml.d.ts +24 -0
  103. package/dist/xml.js +71 -0
  104. package/dist/xml.js.map +1 -0
  105. package/now.config.schema.json +336 -0
  106. package/package.json +22 -12
  107. package/src/app.ts +33 -0
  108. package/src/compiler.ts +384 -0
  109. package/src/compression.ts +93 -0
  110. package/src/crypto.ts +5 -0
  111. package/src/diagnostic.ts +108 -0
  112. package/src/{plugins/Diagnostic.ts → fluent-diagnostic.ts} +3 -10
  113. package/src/fluent-directive.ts +63 -0
  114. package/src/fluent-file.ts +13 -0
  115. package/src/formatter.ts +58 -0
  116. package/src/fs.ts +438 -0
  117. package/src/{GUID.ts → guid.ts} +2 -6
  118. package/src/index.ts +19 -5
  119. package/src/json.ts +20 -0
  120. package/src/keys-registry.ts +384 -0
  121. package/src/logger.ts +20 -0
  122. package/src/now-config.ts +337 -0
  123. package/src/path.ts +9 -0
  124. package/src/plugins/cache.ts +45 -0
  125. package/src/plugins/context.ts +93 -0
  126. package/src/plugins/database.ts +121 -0
  127. package/src/plugins/file.ts +19 -0
  128. package/src/plugins/index.ts +9 -5
  129. package/src/plugins/plugin.ts +995 -0
  130. package/src/plugins/product.ts +44 -0
  131. package/src/plugins/project.ts +39 -0
  132. package/src/plugins/shape.ts +1532 -0
  133. package/src/plugins/time.ts +108 -0
  134. package/src/plugins/usage.ts +26 -0
  135. package/src/prettier/config-loader.ts +130 -0
  136. package/src/telemetry/index.ts +27 -0
  137. package/src/typescript.ts +502 -0
  138. package/src/util/get-file-type.ts +11 -0
  139. package/src/util/index.ts +2 -6
  140. package/src/xml.ts +86 -0
  141. package/dist/GUID.d.ts +0 -2
  142. package/dist/GUID.js.map +0 -1
  143. package/dist/IncludePaths.d.ts +0 -25
  144. package/dist/IncludePaths.js +0 -97
  145. package/dist/IncludePaths.js.map +0 -1
  146. package/dist/Keys.d.ts +0 -32
  147. package/dist/Keys.js +0 -245
  148. package/dist/Keys.js.map +0 -1
  149. package/dist/TypeScript.d.ts +0 -5
  150. package/dist/TypeScript.js +0 -58
  151. package/dist/TypeScript.js.map +0 -1
  152. package/dist/XML.d.ts +0 -32
  153. package/dist/XML.js +0 -83
  154. package/dist/XML.js.map +0 -1
  155. package/dist/plugins/Context.d.ts +0 -190
  156. package/dist/plugins/Context.js.map +0 -1
  157. package/dist/plugins/Diagnostic.js +0 -28
  158. package/dist/plugins/Diagnostic.js.map +0 -1
  159. package/dist/plugins/Plugin.d.ts +0 -175
  160. package/dist/plugins/Plugin.js +0 -15
  161. package/dist/plugins/Plugin.js.map +0 -1
  162. package/dist/plugins/behaviors/Arranger.d.ts +0 -26
  163. package/dist/plugins/behaviors/Arranger.js.map +0 -1
  164. package/dist/plugins/behaviors/Composer.d.ts +0 -102
  165. package/dist/plugins/behaviors/Composer.js +0 -15
  166. package/dist/plugins/behaviors/Composer.js.map +0 -1
  167. package/dist/plugins/behaviors/Diagnostics.d.ts +0 -7
  168. package/dist/plugins/behaviors/Diagnostics.js +0 -3
  169. package/dist/plugins/behaviors/Diagnostics.js.map +0 -1
  170. package/dist/plugins/behaviors/Generator.d.ts +0 -21
  171. package/dist/plugins/behaviors/Generator.js.map +0 -1
  172. package/dist/plugins/behaviors/OwnedTables.d.ts +0 -6
  173. package/dist/plugins/behaviors/OwnedTables.js +0 -3
  174. package/dist/plugins/behaviors/OwnedTables.js.map +0 -1
  175. package/dist/plugins/behaviors/PostProcessor.d.ts +0 -5
  176. package/dist/plugins/behaviors/PostProcessor.js +0 -3
  177. package/dist/plugins/behaviors/PostProcessor.js.map +0 -1
  178. package/dist/plugins/behaviors/Serializer.d.ts +0 -30
  179. package/dist/plugins/behaviors/Serializer.js +0 -3
  180. package/dist/plugins/behaviors/Serializer.js.map +0 -1
  181. package/dist/plugins/behaviors/Transformer.d.ts +0 -23
  182. package/dist/plugins/behaviors/Transformer.js +0 -3
  183. package/dist/plugins/behaviors/Transformer.js.map +0 -1
  184. package/dist/plugins/behaviors/extractors/Data.d.ts +0 -119
  185. package/dist/plugins/behaviors/extractors/Data.js +0 -244
  186. package/dist/plugins/behaviors/extractors/Data.js.map +0 -1
  187. package/dist/plugins/behaviors/extractors/Extractors.d.ts +0 -63
  188. package/dist/plugins/behaviors/extractors/Extractors.js +0 -3
  189. package/dist/plugins/behaviors/extractors/Extractors.js.map +0 -1
  190. package/dist/plugins/behaviors/extractors/index.d.ts +0 -2
  191. package/dist/plugins/behaviors/extractors/index.js +0 -19
  192. package/dist/plugins/behaviors/extractors/index.js.map +0 -1
  193. package/dist/plugins/behaviors/index.d.ts +0 -9
  194. package/dist/plugins/behaviors/index.js +0 -26
  195. package/dist/plugins/behaviors/index.js.map +0 -1
  196. package/dist/plugins/util/CallExpression.d.ts +0 -5
  197. package/dist/plugins/util/CallExpression.js +0 -88
  198. package/dist/plugins/util/CallExpression.js.map +0 -1
  199. package/dist/plugins/util/CodeTransformation.d.ts +0 -95
  200. package/dist/plugins/util/CodeTransformation.js +0 -624
  201. package/dist/plugins/util/CodeTransformation.js.map +0 -1
  202. package/dist/plugins/util/ObjectLiteral.d.ts +0 -9
  203. package/dist/plugins/util/ObjectLiteral.js +0 -37
  204. package/dist/plugins/util/ObjectLiteral.js.map +0 -1
  205. package/dist/plugins/util/index.d.ts +0 -3
  206. package/dist/plugins/util/index.js +0 -20
  207. package/dist/plugins/util/index.js.map +0 -1
  208. package/dist/util/Debug.d.ts +0 -4
  209. package/dist/util/Debug.js +0 -20
  210. package/dist/util/Debug.js.map +0 -1
  211. package/dist/util/Directive.d.ts +0 -16
  212. package/dist/util/Directive.js +0 -107
  213. package/dist/util/Directive.js.map +0 -1
  214. package/dist/util/RuntimeTableSchema.d.ts +0 -5
  215. package/dist/util/RuntimeTableSchema.js +0 -58
  216. package/dist/util/RuntimeTableSchema.js.map +0 -1
  217. package/dist/util/Scope.js.map +0 -1
  218. package/dist/util/Util.d.ts +0 -1
  219. package/dist/util/Util.js +0 -12
  220. package/dist/util/Util.js.map +0 -1
  221. package/dist/util/XMLUploadParser.d.ts +0 -22
  222. package/dist/util/XMLUploadParser.js +0 -67
  223. package/dist/util/XMLUploadParser.js.map +0 -1
  224. package/src/IncludePaths.ts +0 -122
  225. package/src/Keys.ts +0 -274
  226. package/src/TypeScript.ts +0 -65
  227. package/src/XML.ts +0 -98
  228. package/src/plugins/Context.ts +0 -239
  229. package/src/plugins/Plugin.ts +0 -278
  230. package/src/plugins/behaviors/Arranger.ts +0 -42
  231. package/src/plugins/behaviors/Composer.ts +0 -125
  232. package/src/plugins/behaviors/Diagnostics.ts +0 -12
  233. package/src/plugins/behaviors/Generator.ts +0 -31
  234. package/src/plugins/behaviors/OwnedTables.ts +0 -5
  235. package/src/plugins/behaviors/PostProcessor.ts +0 -6
  236. package/src/plugins/behaviors/Serializer.ts +0 -40
  237. package/src/plugins/behaviors/Transformer.ts +0 -32
  238. package/src/plugins/behaviors/extractors/Data.ts +0 -332
  239. package/src/plugins/behaviors/extractors/Extractors.ts +0 -73
  240. package/src/plugins/behaviors/extractors/index.ts +0 -2
  241. package/src/plugins/behaviors/index.ts +0 -9
  242. package/src/plugins/util/CallExpression.ts +0 -110
  243. package/src/plugins/util/CodeTransformation.ts +0 -731
  244. package/src/plugins/util/ObjectLiteral.ts +0 -37
  245. package/src/plugins/util/index.ts +0 -3
  246. package/src/util/Debug.ts +0 -24
  247. package/src/util/Directive.ts +0 -123
  248. package/src/util/RuntimeTableSchema.ts +0 -44
  249. package/src/util/Util.ts +0 -7
  250. package/src/util/XMLUploadParser.ts +0 -90
  251. /package/dist/util/{Scope.d.ts → is-sn-scope.d.ts} +0 -0
  252. /package/src/util/{Scope.ts → is-sn-scope.ts} +0 -0
@@ -1,624 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.recordSchema = exports.ArrayIterator = exports.getNodeId = void 0;
27
- exports.stringify = stringify;
28
- exports.formatSourceFileName = formatSourceFileName;
29
- exports.getSysUpdateName = getSysUpdateName;
30
- exports.getOrCreateEntitySourceFile = getOrCreateEntitySourceFile;
31
- exports.addDefaultImportIfAbsent = addDefaultImportIfAbsent;
32
- exports.addNamedImportIfAbsent = addNamedImportIfAbsent;
33
- exports.generateCallExpressionDefaultExport = generateCallExpressionDefaultExport;
34
- exports.generateCallExpressionExport = generateCallExpressionExport;
35
- exports.generateCallExpression = generateCallExpression;
36
- exports.generateCallExpressionExportForDocument = generateCallExpressionExportForDocument;
37
- exports.getOrCreatePropertyAssignment = getOrCreatePropertyAssignment;
38
- exports.isEscapedPropertyAssignment = isEscapedPropertyAssignment;
39
- exports.writeArrayPropertyAsReference = writeArrayPropertyAsReference;
40
- exports.addCallExpressionToProperty = addCallExpressionToProperty;
41
- exports.writePropertyAsReference = writePropertyAsReference;
42
- exports.writeCustomProperty = writeCustomProperty;
43
- exports.mergeDataIntoObjectLiteral = mergeDataIntoObjectLiteral;
44
- exports.mergeDataIntoObjectLiteralArray = mergeDataIntoObjectLiteralArray;
45
- exports.filterEmpty = filterEmpty;
46
- exports.escapeStringLiteralValues = escapeStringLiteralValues;
47
- exports.setPropertyAssignmentValue = setPropertyAssignmentValue;
48
- exports.fixFunctionArgumentTypes = fixFunctionArgumentTypes;
49
- exports.transformFunctionArguments = transformFunctionArguments;
50
- exports.removeNode = removeNode;
51
- exports.transformCustomizedProperties = transformCustomizedProperties;
52
- exports.isNowIncludeCall = isNowIncludeCall;
53
- exports.getObjectPropertyAssignmentName = getObjectPropertyAssignmentName;
54
- const sdk_project_1 = require("@servicenow/sdk-project");
55
- const { format, resolve } = sdk_project_1.path;
56
- const CallExpression_1 = require("./CallExpression");
57
- const lodash_1 = require("lodash");
58
- const z = __importStar(require("zod"));
59
- const GUID_1 = require("../../GUID");
60
- const util_1 = require("../../util");
61
- const ObjectLiteral_1 = require("./ObjectLiteral");
62
- function stringify(val) {
63
- if (typeof val === 'function') {
64
- return val.toString();
65
- }
66
- return JSON.stringify(val);
67
- }
68
- /**
69
- * Formats a source file name with the .now.ts extension.
70
- */
71
- function formatSourceFileName(name) {
72
- return format({
73
- name,
74
- ext: sdk_project_1.NOW_FILE_EXTENSION,
75
- });
76
- }
77
- function getSysUpdateName(document, table) {
78
- if (document.xmlFilePath) {
79
- return sdk_project_1.path.basename(document.xmlFilePath, sdk_project_1.path.extname(document.xmlFilePath));
80
- }
81
- return `${table}_${document.guid}`;
82
- }
83
- function getOrCreateEntitySourceFile(context, sysUpdateName) {
84
- const fullPath = resolve(context.app.rootDir, context.app.config.generatedDir, formatSourceFileName(sysUpdateName));
85
- const sourceFile = context.compiler.getSourceFile(fullPath);
86
- if (sourceFile) {
87
- return sourceFile;
88
- }
89
- context.logger.info(`Generating new source file: ${fullPath}`);
90
- return context.compiler.createSourceFile(fullPath);
91
- }
92
- function addDefaultImportIfAbsent(sourceFile, moduleSpecifier, module) {
93
- const importDeclaration = sourceFile.getImportDeclaration((d) => d.getModuleSpecifierValue() === moduleSpecifier);
94
- if (!importDeclaration) {
95
- sourceFile.addImportDeclaration({
96
- moduleSpecifier,
97
- defaultImport: module,
98
- });
99
- return;
100
- }
101
- const defaultImport = importDeclaration.getDefaultImport()?.getText();
102
- if (defaultImport && defaultImport === module) {
103
- return;
104
- }
105
- importDeclaration.setDefaultImport(module);
106
- }
107
- function addNamedImportIfAbsent(context, sourceFile, moduleSpecifier, module) {
108
- let importDeclaration = sourceFile.getImportDeclaration((d) => d.getModuleSpecifierValue() === moduleSpecifier && !d.getNamespaceImport() // If it's a namespace import we cannot add named imports, so we have to create a new one
109
- );
110
- const importName = typeof module === 'string' ? module : module.name;
111
- if (!importDeclaration) {
112
- importDeclaration = sourceFile.addImportDeclaration({
113
- moduleSpecifier,
114
- namedImports: [importName],
115
- });
116
- }
117
- const namedImports = importDeclaration.getNamedImports().find((n) => n.getName() === importName);
118
- if (namedImports) {
119
- return namedImports;
120
- }
121
- context.logger.debug(`Adding named import '${importName}' from module '${moduleSpecifier}' to source file: ${sourceFile.getFilePath()}`);
122
- return importDeclaration.addNamedImport(importName);
123
- }
124
- /**
125
- * Generate an exported variable assignment initialized by a function call with
126
- * the provided arguments.
127
- */
128
- function generateCallExpressionDefaultExport(context, sourceFile, moduleSpecifier, fn, ...args) {
129
- addNamedImportIfAbsent(context, sourceFile, moduleSpecifier, fn);
130
- const exportAssignment = sourceFile.addExportAssignment({
131
- isExportEquals: false,
132
- expression: `${fn.name}()`,
133
- });
134
- const callExpression = exportAssignment.getExpressionIfKindOrThrow(sdk_project_1.ts.SyntaxKind.CallExpression);
135
- transformFunctionArguments(callExpression, fn, ...args);
136
- return exportAssignment;
137
- }
138
- function generateCallExpressionExport(context, sourceFile, moduleSpecifier, exportName, fn, ...args) {
139
- addNamedImportIfAbsent(context, sourceFile, moduleSpecifier, fn);
140
- const variableDeclaration = sourceFile
141
- .addVariableStatement({
142
- isExported: true,
143
- declarationKind: sdk_project_1.ts.VariableDeclarationKind.Const,
144
- declarations: [
145
- {
146
- name: exportName,
147
- initializer: `${fn.name}()`, // Generate empty function call since we will add arguments later
148
- },
149
- ],
150
- })
151
- .getDeclarations()[0];
152
- // Transform function call to add arguments
153
- const callExpression = variableDeclaration.getInitializerIfKindOrThrow(sdk_project_1.ts.SyntaxKind.CallExpression);
154
- transformFunctionArguments(callExpression, fn, ...args);
155
- return variableDeclaration;
156
- }
157
- function generateCallExpression(context, sourceFile, moduleSpecifier, fn, ...args) {
158
- addNamedImportIfAbsent(context, sourceFile, moduleSpecifier, fn);
159
- sourceFile.addStatements((writer) => writer.newLine());
160
- const [statement] = sourceFile.addStatements(`${fn.name}()`);
161
- const expression = statement.getChildAtIndexIfKindOrThrow(0, sdk_project_1.ts.SyntaxKind.CallExpression);
162
- transformFunctionArguments(expression, fn, ...args);
163
- return expression;
164
- }
165
- /**
166
- * Generate an exported variable assignment initialized by a function call with the
167
- * provided arguments. The exported variable name will be automatically determined
168
- * based on the function's name and the document's ID.
169
- */
170
- function generateCallExpressionExportForDocument(context, info, fn, ...args) {
171
- const { sourceFile, moduleSpecifier } = info;
172
- return generateCallExpressionDefaultExport(context, sourceFile, moduleSpecifier, fn, ...args);
173
- }
174
- function getOrCreatePropertyAssignment(obj, name, initializer = 'undefined') {
175
- const stringifiedName = stringify(name);
176
- const prop = obj.getProperty(name)?.asKind(sdk_project_1.ts.SyntaxKind.PropertyAssignment) ??
177
- obj.getProperty(stringifiedName)?.asKind(sdk_project_1.ts.SyntaxKind.PropertyAssignment);
178
- if (prop) {
179
- return prop;
180
- }
181
- let propOrErr;
182
- /**
183
- * Adding back the previous stringify regex check because property name with space when set without stringified works but later on throws error
184
- */
185
- if (/^[a-zA-Z0-9_$]*$/.test(name)) {
186
- propOrErr = (0, util_1.noThrow)(() => obj.addPropertyAssignment({ name, initializer }));
187
- }
188
- if (!propOrErr || propOrErr instanceof Error) {
189
- return obj.addPropertyAssignment({ name: stringifiedName, initializer });
190
- }
191
- return propOrErr;
192
- }
193
- function isEscapedPropertyAssignment(args, name) {
194
- const prop = args.getProperty(name);
195
- if (!prop) {
196
- return false;
197
- }
198
- const asExpression = prop.getChildAtIndexIfKind(2, sdk_project_1.ts.SyntaxKind.AsExpression);
199
- if (asExpression && asExpression.getFullText().indexOf('any') !== -1) {
200
- return true;
201
- }
202
- return false;
203
- }
204
- function isResolvablePropertyAssignment(args, propertyName) {
205
- const prop = args.getProperty(propertyName);
206
- if (!prop) {
207
- return false;
208
- }
209
- const identifierExp = prop.getChildAtIndexIfKind(2, sdk_project_1.ts.SyntaxKind.Identifier);
210
- if (!identifierExp) {
211
- return false;
212
- }
213
- // Variable definition may be from other file
214
- identifierExp.getSourceFile().fixMissingImports();
215
- const definitions = identifierExp.getDefinitionNodes();
216
- if (definitions && definitions.length > 0) {
217
- return true;
218
- }
219
- return false;
220
- }
221
- /** utility function to get the $id value in a object literal node */
222
- const getNodeId = (node) => {
223
- const prop = node.getPropertyOrThrow('$id').asKindOrThrow(sdk_project_1.ts.SyntaxKind.PropertyAssignment);
224
- if (prop.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.ElementAccessExpression)) {
225
- const expression = prop.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.ElementAccessExpression)?.getArgumentExpression();
226
- return (expression?.asKind(sdk_project_1.ts.SyntaxKind.StringLiteral)?.getLiteralValue() ??
227
- expression?.asKind(sdk_project_1.ts.SyntaxKind.NumericLiteral)?.getLiteralValue().toString());
228
- }
229
- else if (prop.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.StringLiteral)) {
230
- return prop.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.StringLiteral)?.getLiteralValue();
231
- }
232
- return `${prop.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.NumericLiteral)?.getLiteralValue()}`;
233
- };
234
- exports.getNodeId = getNodeId;
235
- /** utility iterator for iterating array structures in rest api*/
236
- class ArrayIterator {
237
- prop;
238
- arrayExpression;
239
- elements;
240
- idx;
241
- constructor(prop) {
242
- this.prop = prop;
243
- this.arrayExpression = this.prop.getInitializerIfKindOrThrow(sdk_project_1.ts.SyntaxKind.ArrayLiteralExpression);
244
- this.elements = this.arrayExpression.getElements();
245
- this.idx = 0;
246
- }
247
- hasNext() {
248
- return this.idx < this.elements.length;
249
- }
250
- next() {
251
- return this.elements[this.idx++];
252
- }
253
- getExpression() {
254
- return this.arrayExpression;
255
- }
256
- }
257
- exports.ArrayIterator = ArrayIterator;
258
- function writeArrayPropertyAsReference(arg, name, def, value) {
259
- if (!value || !(0, lodash_1.isArray)(value)) {
260
- return;
261
- }
262
- const propertyAssignment = getOrCreatePropertyAssignment(arg, name, def);
263
- const newValues = value.map((val) => {
264
- propertyAssignment.setInitializer((writer) => {
265
- writer.write(val);
266
- });
267
- return isResolvablePropertyAssignment(arg, name) ? val : `'${val}' as any`;
268
- });
269
- propertyAssignment.setInitializer((writer) => {
270
- writer.write(`[${newValues}]`);
271
- });
272
- }
273
- exports.recordSchema = z.object({
274
- $id: z.union([z.string(), z.number()]),
275
- data: z.record(z.any()),
276
- table: z.string(),
277
- });
278
- function addCallExpressionToProperty(obj, field, functionCall) {
279
- const property = getOrCreatePropertyAssignment(obj, field, functionCall);
280
- property.setInitializer((writer) => {
281
- writer.write(functionCall);
282
- });
283
- }
284
- function writePropertyAsReference(logger, arg, name, def, value) {
285
- if (!value || (0, lodash_1.isArray)(value)) {
286
- return;
287
- }
288
- // This value is already a reference that we shouldn't attempt to resolve
289
- if (exports.recordSchema.safeParse(value).success) {
290
- return;
291
- }
292
- const propertyAssignment = getOrCreatePropertyAssignment(arg, name, def);
293
- if ((0, lodash_1.isEmpty)(value)) {
294
- propertyAssignment.setInitializer((writer) => {
295
- writer.write(stringify(value));
296
- });
297
- }
298
- if ((0, lodash_1.isPlainObject)(value)) {
299
- const nestedArgs = propertyAssignment.getInitializerIfKindOrThrow(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression);
300
- for (const property in value) {
301
- if ((0, lodash_1.isArray)(value[property])) {
302
- writeArrayPropertyAsReference(nestedArgs, property, '[]', value[property]);
303
- }
304
- else {
305
- writePropertyAsReference(logger, nestedArgs, property, '{}', value[property]);
306
- }
307
- }
308
- return;
309
- }
310
- const escapedPreTransform = isEscapedPropertyAssignment(arg, name);
311
- if ((0, GUID_1.isGUID)(value)) {
312
- propertyAssignment.setInitializer((writer) => {
313
- writer.write(stringify(value));
314
- });
315
- return;
316
- }
317
- // This first write is to check whether the value is a resolvable idenfifier
318
- // We don't want to throw here if the property assignment would be malformed
319
- const maybeError = (0, util_1.noThrow)(() => {
320
- propertyAssignment.setInitializer((writer) => {
321
- if (value === 'default') {
322
- writer.write(stringify(value));
323
- }
324
- else {
325
- writer.write(value);
326
- }
327
- });
328
- });
329
- if (maybeError instanceof Error) {
330
- logger.warn(`Invalid reference value '${value}' for property '${name}' in file ${arg.getSourceFile().getFilePath()}`);
331
- }
332
- if (isResolvablePropertyAssignment(arg, name)) {
333
- return;
334
- }
335
- value = `${stringify(value)} as any`;
336
- if (!escapedPreTransform) {
337
- // Generate comment
338
- value = `${value} /*Generated*/`; // comment like this '//comment' breaks the code in some occasion
339
- }
340
- propertyAssignment.setInitializer((writer) => {
341
- writer.write(value);
342
- });
343
- }
344
- function writeCustomProperty(arg, name, def, value) {
345
- if (!value) {
346
- return;
347
- }
348
- const propertyAssignment = getOrCreatePropertyAssignment(arg, name, def);
349
- propertyAssignment.setInitializer((writer) => {
350
- writer.write(value);
351
- });
352
- }
353
- function mergeDataIntoObjectLiteral(node, data) {
354
- const properties = node
355
- .getProperties()
356
- .reduce((a, v) => ({ ...a, [getObjectPropertyAssignmentName(v)]: v }), {});
357
- for (const [key, value] of Object.entries(data)) {
358
- const array = (0, lodash_1.isArray)(value);
359
- if (!(0, lodash_1.isEmpty)(properties) && (value === '' || (array && value.length === 0))) {
360
- const existingAssignment = properties[key];
361
- if (existingAssignment) {
362
- removeNode(existingAssignment);
363
- }
364
- }
365
- if ((0, lodash_1.isObject)(value) && !Object.values(value).some((value) => value !== undefined)) {
366
- // Don't write an empty object literal
367
- continue;
368
- }
369
- if (value !== '' && value !== undefined && !(array && value.length === 0)) {
370
- const propertyAssignment = properties[key];
371
- if (propertyAssignment) {
372
- if (isNowIncludeCall(propertyAssignment.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.CallExpression))) {
373
- // Don't transform any updates to Now.includes calls
374
- continue;
375
- }
376
- setPropertyAssignmentValue(propertyAssignment, value);
377
- }
378
- else {
379
- const newPropertyAssignment = getOrCreatePropertyAssignment(node, key, array ? '[]' : '{}');
380
- setPropertyAssignmentValue(newPropertyAssignment, value);
381
- }
382
- }
383
- }
384
- }
385
- /**
386
- * Merges an array of object literal data in to an existing array of object literal values
387
- * @param arrayNode Node with array to transform
388
- * @param data Array of object literals
389
- * @param comparisonProperty a property to be treated as the primary key of each object literal for comparison
390
- * @param action Should this item be deleted if found?
391
- */
392
- function mergeDataIntoObjectLiteralArray(arrayNode, data, comparisonProperty, action) {
393
- if (!data || data.length < 1) {
394
- return;
395
- }
396
- const mappedData = data.reduce((map, obj) => ((map[obj[`${comparisonProperty}`]] = obj), map), {});
397
- arrayNode.getElements().forEach((element) => {
398
- const existingProperty = element
399
- .asKindOrThrow(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression)
400
- .getProperty(`${comparisonProperty}`)
401
- ?.getFirstChildByKind(sdk_project_1.ts.SyntaxKind.StringLiteral)
402
- ?.getLiteralValue() ?? undefined;
403
- if (existingProperty && !mappedData[existingProperty]) {
404
- arrayNode.removeElement(element);
405
- }
406
- });
407
- const existingElements = arrayNode.getElements();
408
- data.forEach((obj) => {
409
- const transformElement = existingElements.find((element) => {
410
- const prop = element.asKindOrThrow(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression);
411
- const existingProperty = (0, ObjectLiteral_1.getPropertyAssignment)(prop, `${comparisonProperty}`)?.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.StringLiteral);
412
- return obj[`${comparisonProperty}`] === existingProperty?.getLiteralValue();
413
- });
414
- // Found existing element in arrays
415
- if (transformElement) {
416
- if (action && action === 'DELETE') {
417
- arrayNode.removeElement(transformElement);
418
- }
419
- else {
420
- mergeDataIntoObjectLiteral(transformElement.asKindOrThrow(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression), obj);
421
- }
422
- }
423
- else {
424
- arrayNode.addElement(stringify(filterEmpty(obj)));
425
- }
426
- });
427
- }
428
- // Remove default empty values
429
- function filterEmpty(data) {
430
- return Object.entries(data).reduce((acc, [key, value]) => {
431
- if (value !== '') {
432
- acc[key] = value;
433
- }
434
- return acc;
435
- }, {});
436
- }
437
- function escapeStringLiteralValues(str) {
438
- return str.replace(/[`\\]|\${/g, (char) => {
439
- switch (char) {
440
- case '`':
441
- return '\\`';
442
- case '\\':
443
- return '\\' + char;
444
- case '${':
445
- return '\\${';
446
- default:
447
- return char;
448
- }
449
- });
450
- }
451
- function setPropertyAssignmentValue(property, value) {
452
- if (typeof value === 'object') {
453
- if (sdk_project_1.ts.Structure.isPropertyAssignment(value)) {
454
- property.setInitializer(value.initializer);
455
- }
456
- else if (sdk_project_1.ts.Structure.isImportSpecifier(value)) {
457
- property.setInitializer(value.name);
458
- }
459
- else if ((0, lodash_1.isArray)(value)) {
460
- property.setInitializer(stringify(value));
461
- }
462
- else {
463
- mergeDataIntoObjectLiteral(property.getInitializerIfKindOrThrow(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression), value);
464
- }
465
- return;
466
- }
467
- //preserve any tagged template literals
468
- const taggedInitializer = property.getInitializerIfKind(sdk_project_1.ts.SyntaxKind.TaggedTemplateExpression);
469
- if (taggedInitializer) {
470
- const template = taggedInitializer.getTemplate();
471
- template.setLiteralValue(escapeStringLiteralValues(value));
472
- }
473
- else {
474
- const stringified = typeof value !== 'string' || value.indexOf('\n') < 0
475
- ? stringify(value)
476
- : `\`${escapeStringLiteralValues(value)}\``;
477
- property.setInitializer(stringified);
478
- }
479
- }
480
- function fixFunctionArgumentTypes(context, node) {
481
- if (node.wasForgotten()) {
482
- return;
483
- }
484
- const typeChecker = context.compiler.getTypeChecker();
485
- const signature = typeChecker.getResolvedSignature(node);
486
- if (signature) {
487
- const callParams = signature.getParameters();
488
- for (let i = 0; i < callParams.length; i++) {
489
- const argType = callParams[i]?.getTypeAtLocation(node);
490
- const argNode = node.getArguments()[i]?.asKind(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression);
491
- if (!argType || !argNode) {
492
- break;
493
- }
494
- fixNodeArgumentType(node, argNode, argType);
495
- }
496
- }
497
- }
498
- function fixNodeArgumentType(node, argNode, argType) {
499
- if (argNode.getType().isObject()) {
500
- argType.getApparentProperties().forEach((prop) => {
501
- const propName = prop.getName();
502
- const propType = prop.getTypeAtLocation(node);
503
- let propNode;
504
- if (argNode.isKind(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression)) {
505
- propNode = argNode.getProperty(propName)?.asKind(sdk_project_1.ts.SyntaxKind.PropertyAssignment);
506
- }
507
- else {
508
- propNode = argNode
509
- .getInitializerIfKind(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression)
510
- ?.getProperty(propName)
511
- ?.asKind(sdk_project_1.ts.SyntaxKind.PropertyAssignment);
512
- }
513
- if (!propNode) {
514
- return;
515
- }
516
- fixNodeArgumentType(node, propNode, propType);
517
- });
518
- }
519
- else if (argNode.isKind(sdk_project_1.ts.SyntaxKind.PropertyAssignment)) {
520
- const nodeType = argNode.getType();
521
- if (nodeType.isAssignableTo(argType)) {
522
- return;
523
- }
524
- // isAssignableTo doesnot play well with string literals in union types
525
- if (nodeType.isStringLiteral() &&
526
- argType.isUnion() &&
527
- argType.getUnionTypes().some((type) => type.getText() === nodeType.getText())) {
528
- return;
529
- }
530
- // fix types for string
531
- if (isStringType(argType)) {
532
- const argValue = argNode.getInitializer()?.getText();
533
- argNode.setInitializer(`'${argValue}'`);
534
- return;
535
- }
536
- // cast 'as any' for other types
537
- const argValue = argNode.getInitializer()?.getText();
538
- argNode.setInitializer(`${argValue} as any`);
539
- }
540
- }
541
- function isStringType(argType) {
542
- if (argType.isUnion()) {
543
- return argType.getUnionTypes().some((type) => type.isString());
544
- }
545
- return argType.isString();
546
- }
547
- function transformFunctionArguments(node, fn, ...args) {
548
- if ((0, CallExpression_1.getCallExpressionName)(node) !== fn.name) {
549
- return false;
550
- }
551
- for (let i = 0; i < args.length; i++) {
552
- const argValue = args[i];
553
- const argNode = node.getArguments()[i] ?? node.insertArgument(i, '{}');
554
- if (argValue && typeof argValue === 'object') {
555
- mergeDataIntoObjectLiteral(argNode.asKindOrThrow(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression), argValue);
556
- }
557
- else {
558
- argNode.replaceWithText(stringify(argValue));
559
- }
560
- }
561
- return true;
562
- }
563
- function removeNode(node) {
564
- if ('remove' in node) {
565
- return node.remove();
566
- }
567
- else if (sdk_project_1.ts.Node.isCallExpression(node)) {
568
- const parent = node.getParent();
569
- if (sdk_project_1.ts.Node.isExpressionStatement(parent) || sdk_project_1.ts.Node.isVariableDeclaration(parent)) {
570
- return removeNode(parent);
571
- }
572
- }
573
- else if (sdk_project_1.ts.Node.isStatement(node)) {
574
- removeNode(node);
575
- }
576
- // TODO: Nodes that aren't complete statements can't be arbitrarily removed because it
577
- // will almost always result in broken code. Replacing with 'undefined' works pretty
578
- // much anywhere, but isn't very elegant. We should revisit this and perhaps make the
579
- // behavior configurable.
580
- node.replaceWithText('undefined');
581
- }
582
- /**
583
- * Re-extracts CallExpression property names for transform to check for customized properties on Plugin APIs.
584
- * If CallExpression properties don't match don't match schema expected by fluent this function will tranform updates
585
- * only to those properties (not new properties)
586
- * @param fn type of CallExpression to extract
587
- * @param node Node
588
- * @param dataForTransform Document Data passed to a transformer function
589
- * @param cleanedData Document data cleaned/parsed by a Zod step that has filtered out properties not handled by fluent
590
- */
591
- function transformCustomizedProperties(fn, node, dataForTransform, cleanedData) {
592
- if (!dataForTransform || !cleanedData) {
593
- return;
594
- }
595
- const [arg] = node.getArguments();
596
- const properties = arg?.asKind(sdk_project_1.ts.SyntaxKind.ObjectLiteralExpression)?.getProperties();
597
- if (!properties) {
598
- return;
599
- }
600
- const customizedProperties = {};
601
- Object.values(properties).forEach((prop) => {
602
- const propName = getObjectPropertyAssignmentName(prop);
603
- if (dataForTransform[propName] !== undefined && cleanedData[propName] === undefined) {
604
- customizedProperties[propName] = dataForTransform[propName];
605
- }
606
- });
607
- if (!(0, lodash_1.isEmpty)(customizedProperties)) {
608
- transformFunctionArguments(node, fn, ...[customizedProperties]);
609
- }
610
- }
611
- function isNowIncludeCall(callExpression) {
612
- if (!callExpression) {
613
- return false;
614
- }
615
- const propertyAccessExp = callExpression.getExpressionIfKind(sdk_project_1.ts.SyntaxKind.PropertyAccessExpression);
616
- const nowNamespace = propertyAccessExp?.getExpressionIfKind(sdk_project_1.ts.SyntaxKind.Identifier)?.getText();
617
- const functionName = propertyAccessExp?.getName();
618
- return nowNamespace === 'Now' && functionName === 'include';
619
- }
620
- function getObjectPropertyAssignmentName(objectProperty) {
621
- const nameNode = objectProperty.getNameNode();
622
- return nameNode.isKind(sdk_project_1.ts.SyntaxKind.StringLiteral) ? nameNode.getLiteralValue() : objectProperty.getName();
623
- }
624
- //# sourceMappingURL=CodeTransformation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeTransformation.js","sourceRoot":"","sources":["../../../src/plugins/util/CodeTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,8BAKC;AASD,oDAKC;AAED,4CAKC;AAED,kEASC;AAED,4DAeC;AAED,wDA4BC;AAMD,kFAiBC;AAED,oEA2BC;AAED,wDAgBC;AAOD,0FAWC;AAED,sEA0BC;AAED,kEAYC;AAgED,sEAuBC;AAQD,kEAKC;AAED,4DA2EC;AAED,kDASC;AAED,gEAgCC;AASD,0EA2CC;AAGD,kCAOC;AAED,8DAaC;AAED,gEAiCC;AAED,4DAiBC;AA4DD,gEAqBC;AAED,gCAiBC;AAWD,sEA0BC;AAED,4CAQC;AAED,0EAGC;AA1tBD,yDAAkG;AAClG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAI,CAAA;AAEhC,qDAAwD;AACxD,mCAAkE;AAClE,uCAAwB;AAExB,qCAAmC;AACnC,qCAAoC;AACpC,mDAAuD;AAEvD,SAAgB,SAAS,CAAC,GAAY;IAClC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC;AAMD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAY;IAC7C,OAAO,MAAM,CAAC;QACV,IAAI;QACJ,GAAG,EAAE,gCAAkB;KAC1B,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAqC,EAAE,KAAa;IACjF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,kBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,SAAgB,2BAA2B,CAAC,OAAgB,EAAE,aAAqB;IAC/E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAA;IACnH,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC3D,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAA;IAC9D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACtD,CAAC;AAED,SAAgB,wBAAwB,CAAC,UAAyB,EAAE,eAAuB,EAAE,MAAc;IACvG,MAAM,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,KAAK,eAAe,CAAC,CAAA;IACjH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,UAAU,CAAC,oBAAoB,CAAC;YAC5B,eAAe;YACf,aAAa,EAAE,MAAM;SACxB,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAA;IACrE,IAAI,aAAa,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAM;IACV,CAAC;IACD,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,sBAAsB,CAClC,OAAgB,EAChB,UAAyB,EACzB,eAAuB,EACvB,MAAiC;IAEjC,IAAI,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,KAAK,eAAe,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,yFAAyF;KAC9K,CAAA;IAED,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;IACpE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,iBAAiB,GAAG,UAAU,CAAC,oBAAoB,CAAC;YAChD,eAAe;YACf,YAAY,EAAE,CAAC,UAAU,CAAC;SAC7B,CAAC,CAAA;IACN,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,CAAA;IAChG,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,YAAY,CAAA;IACvB,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,wBAAwB,UAAU,kBAAkB,eAAe,qBAAqB,UAAU,CAAC,WAAW,EAAE,EAAE,CACrH,CAAA;IAED,OAAO,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,mCAAmC,CAC/C,OAAgB,EAChB,UAAyB,EACzB,eAAuB,EACvB,EAA2B,EAC3B,GAAG,IAAwB;IAE3B,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;IAChE,MAAM,gBAAgB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QACpD,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI;KAC7B,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,gBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAChG,0BAA0B,CAAC,cAAc,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAEvD,OAAO,gBAAgB,CAAA;AAC3B,CAAC;AAED,SAAgB,4BAA4B,CACxC,OAAgB,EAChB,UAAyB,EACzB,eAAuB,EACvB,UAAkB,EAClB,EAA2B,EAC3B,GAAG,IAAwB;IAE3B,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;IAChE,MAAM,mBAAmB,GAAG,UAAU;SACjC,oBAAoB,CAAC;QAClB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,gBAAE,CAAC,uBAAuB,CAAC,KAAK;QACjD,YAAY,EAAE;YACV;gBACI,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,iEAAiE;aACjG;SACJ;KACJ,CAAC;SACD,eAAe,EAAE,CAAC,CAAC,CAAE,CAAA;IAE1B,2CAA2C;IAC3C,MAAM,cAAc,GAAG,mBAAmB,CAAC,2BAA2B,CAAC,gBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IACpG,0BAA0B,CAAC,cAAc,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAEvD,OAAO,mBAAmB,CAAA;AAC9B,CAAC;AAED,SAAgB,sBAAsB,CAClC,OAAgB,EAChB,UAAyB,EACzB,eAAuB,EACvB,EAA2B,EAC3B,GAAG,IAAwB;IAE3B,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;IAChE,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IACtD,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAA;IAE5D,MAAM,UAAU,GAAG,SAAU,CAAC,4BAA4B,CAAC,CAAC,EAAE,gBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAE3F,0BAA0B,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAEnD,OAAO,UAAU,CAAA;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAgB,uCAAuC,CACnD,OAAgB,EAChB,IAGC,EACD,EAA2B,EAC3B,GAAG,IAAwB;IAE3B,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;IAC5C,OAAO,mCAAmC,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;AACjG,CAAC;AAED,SAAgB,6BAA6B,CACzC,GAA+B,EAC/B,IAAY,EACZ,cAAsB,WAAW;IAEjC,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,IAAI,GACN,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAC/D,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAE9E,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAI,SAAS,CAAA;IACb;;OAEG;IACH,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,SAAS,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED,IAAI,CAAC,SAAS,IAAI,SAAS,YAAY,KAAK,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,SAAgB,2BAA2B,CAAC,IAAgC,EAAE,IAAY;IACtF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,gBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAC9E,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAgC,EAAE,YAAoB;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,gBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC7E,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,6CAA6C;IAC7C,aAAa,CAAC,aAAa,EAAE,CAAC,iBAAiB,EAAE,CAAA;IAEjD,MAAM,WAAW,GAAG,aAAa,CAAC,kBAAkB,EAAE,CAAA;IACtD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,qEAAqE;AAC9D,MAAM,SAAS,GAAG,CAAC,IAAgC,EAAE,EAAE;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gBAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAE3F,IAAI,IAAI,CAAC,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,qBAAqB,EAAE,CAAA;QAC5G,OAAO,CACH,UAAU,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE;YAClE,UAAU,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC,QAAQ,EAAE,CACjF,CAAA;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,CAAA;IACpF,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,eAAe,EAAE,EAAE,CAAA;AAC1F,CAAC,CAAA;AAbY,QAAA,SAAS,aAarB;AAED,iEAAiE;AACjE,MAAa,aAAa;IAKF;IAJpB,eAAe,CAA2B;IAC1C,QAAQ,CAAiC;IACzC,GAAG,CAAQ;IAEX,YAAoB,IAA2B;QAA3B,SAAI,GAAJ,IAAI,CAAuB;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,gBAAE,CAAC,UAAU,CAAC,sBAAsB,CAAE,CAAA;QACnG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAA;QAClD,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;IAChB,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC1C,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAE,CAAA;IACrC,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;CACJ;AAtBD,sCAsBC;AAED,SAAgB,6BAA6B,CACzC,GAA+B,EAC/B,IAAY,EACZ,GAAW,EACX,KAAe;IAEf,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAM;IACV,CAAC;IAED,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAExE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;QAEF,OAAO,8BAA8B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAA;IAC9E,CAAC,CAAC,CAAA;IAEF,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACN,CAAC;AAEY,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAEF,SAAgB,2BAA2B,CAAC,GAA+B,EAAE,KAAa,EAAE,YAAY;IACpG,MAAM,QAAQ,GAAG,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACxE,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,wBAAwB,CACpC,MAAc,EACd,GAA+B,EAC/B,IAAY,EACZ,GAAW,EACX,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAM;IACV,CAAC;IAED,yEAAyE;IACzE,IAAI,oBAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACxC,OAAM;IACV,CAAC;IAED,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAExE,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACjB,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;QACxG,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC3B,6BAA6B,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACJ,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;YACjF,CAAC;QACL,CAAC;QAED,OAAM;IACV,CAAC;IAED,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAElE,IAAI,IAAA,aAAM,EAAC,KAAe,CAAC,EAAE,CAAC;QAC1B,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE;QAC5B,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;YACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;YACjC,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,IAAI,UAAU,YAAY,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CACP,4BAA4B,KAAK,mBAAmB,IAAI,aAAa,GAAG,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,EAAE,CAC3G,CAAA;IACL,CAAC;IACD,IAAI,8BAA8B,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAM;IACV,CAAC;IAED,KAAK,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAA;IACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvB,mBAAmB;QACnB,KAAK,GAAG,GAAG,KAAK,gBAAgB,CAAA,CAAC,iEAAiE;IACtG,CAAC;IAED,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAA+B,EAAE,IAAY,EAAE,GAAW,EAAE,KAAa;IACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAM;IACV,CAAC;IAED,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IACxE,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAAgC,EAAE,IAAY;IACrF,MAAM,UAAU,GAAG,IAAI;SAClB,aAAa,EAAE;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACvG,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAA;QAC5B,IAAI,CAAC,IAAA,gBAAO,EAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC1C,IAAI,kBAAkB,EAAE,CAAC;gBACrB,UAAU,CAAC,kBAAkB,CAAC,CAAA;YAClC,CAAC;QACL,CAAC;QAED,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YAChF,sCAAsC;YACtC,SAAQ;QACZ,CAAC;QAED,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC1C,IAAI,kBAAkB,EAAE,CAAC;gBACrB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBAC1F,oDAAoD;oBACpD,SAAQ;gBACZ,CAAC;gBACD,0BAA0B,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;YACzD,CAAC;iBAAM,CAAC;gBACJ,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAC3F,0BAA0B,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;YAC5D,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,+BAA+B,CAC3C,SAAoC,EACpC,IAAW,EACX,kBAA0B,EAC1B,MAAe;IAEf,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAM;IACV,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAClG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACxC,MAAM,gBAAgB,GAClB,OAAO;aACF,aAAa,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC;aACpD,WAAW,CAAC,GAAG,kBAAkB,EAAE,CAAC;YACrC,EAAE,mBAAmB,CAAC,gBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YAClD,EAAE,eAAe,EAAE,IAAI,SAAS,CAAA;QACxC,IAAI,gBAAgB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpD,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACpC,CAAC;IACL,CAAC,CAAC,CAAA;IACF,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;IAChD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;YACzE,MAAM,gBAAgB,GAAG,IAAA,qCAAqB,EAAC,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAAE,oBAAoB,CAC/F,gBAAE,CAAC,UAAU,CAAC,aAAa,CAC9B,CAAA;YACD,OAAO,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC,KAAK,gBAAgB,EAAE,eAAe,EAAE,CAAA;QAC/E,CAAC,CAAC,CAAA;QAEF,mCAAmC;QACnC,IAAI,gBAAgB,EAAE,CAAC;YACnB,IAAI,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;YAC7C,CAAC;iBAAM,CAAC;gBACJ,0BAA0B,CAAC,gBAAgB,CAAC,aAAa,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,GAAG,CAAC,CAAA;YAC1G,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACrD,CAAC;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAED,8BAA8B;AAC9B,SAAgB,WAAW,CAAC,IAAS;IACjC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACpB,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC,EAAE,EAAE,CAAC,CAAA;AACV,CAAC;AAED,SAAgB,yBAAyB,CAAC,GAAW;IACjD,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;QACtC,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,GAAG;gBACJ,OAAO,KAAK,CAAA;YAChB,KAAK,IAAI;gBACL,OAAO,IAAI,GAAG,IAAI,CAAA;YACtB,KAAK,IAAI;gBACL,OAAO,MAAM,CAAA;YACjB;gBACI,OAAO,IAAI,CAAA;QACnB,CAAC;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAgB,0BAA0B,CACtC,QAA+B,EAC/B,KAAqF;IAErF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,gBAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC9C,CAAC;aAAM,IAAI,gBAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;aAAM,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACJ,0BAA0B,CACtB,QAAQ,CAAC,2BAA2B,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAC3E,KAAK,CACR,CAAA;QACL,CAAC;QACD,OAAM;IACV,CAAC;IAED,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;IAC/F,IAAI,iBAAiB,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAA;QAEhD,QAAQ,CAAC,eAAe,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9D,CAAC;SAAM,CAAC;QACJ,MAAM,WAAW,GACb,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,KAAK,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAA;QACnD,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;IACxC,CAAC;AACL,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAAgB,EAAE,IAAuB;IAC9E,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACtB,OAAM;IACV,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAA;IACrD,MAAM,SAAS,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAA;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;YACrF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,MAAK;YACT,CAAC;YACD,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,IAAuB,EACvB,OAA2D,EAC3D,OAAgB;IAEhB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/B,OAAO,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YAC7C,IAAI,QAA2C,CAAA;YAC/C,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACxD,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;YACtF,CAAC;iBAAM,CAAC;gBACJ,QAAQ,GAAG,OAAO;qBACb,oBAAoB,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC;oBAC5D,EAAE,WAAW,CAAC,QAAQ,CAAC;oBACvB,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;YAClD,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAM;YACV,CAAC;YACD,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACN,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;QAClC,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAM;QACV,CAAC;QACD,uEAAuE;QACvE,IACI,QAAQ,CAAC,eAAe,EAAE;YAC1B,OAAO,CAAC,OAAO,EAAE;YACjB,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,EAC/E,CAAC;YACC,OAAM;QACV,CAAC;QAED,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAA;YACpD,OAAO,CAAC,cAAc,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAA;YACvC,OAAM;QACV,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAA;QACpD,OAAO,CAAC,cAAc,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAA;IAChD,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IAClC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;AAC7B,CAAC;AAED,SAAgB,0BAA0B,CACtC,IAAuB,EACvB,EAA2B,EAC3B,GAAG,IAAwB;IAE3B,IAAI,IAAA,sCAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAEtE,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC3C,0BAA0B,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAAC,CAAA;QACtG,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChD,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAgB,UAAU,CAAC,IAAmB;IAC1C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACxB,CAAC;SAAM,IAAI,gBAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,IAAI,gBAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,gBAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;IACL,CAAC;SAAM,IAAI,gBAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,sFAAsF;IACtF,oFAAoF;IACpF,qFAAqF;IACrF,yBAAyB;IACzB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAG3C,EAAqB,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW;IACxD,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAM;IACV,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;IACjC,MAAM,UAAU,GAAG,GAAG,EAAE,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,aAAa,EAAE,CAAA;IAEtF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAM;IACV,CAAC;IAED,MAAM,oBAAoB,GAAG,EAAE,CAAA;IAC/B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,+BAA+B,CAAC,IAA6B,CAAC,CAAA;QAC/E,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YAClF,oBAAoB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC/D,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,IAAA,gBAAO,EAAC,oBAAoB,CAAC,EAAE,CAAC;QACjC,0BAA0B,CAAC,IAAI,EAAE,EAAE,EAAE,GAAI,CAAC,oBAAoB,CAAwB,CAAC,CAAA;IAC3F,CAAC;AACL,CAAC;AAED,SAAgB,gBAAgB,CAAC,cAAkC;IAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,mBAAmB,CAAC,gBAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;IACpG,MAAM,YAAY,GAAG,iBAAiB,EAAE,mBAAmB,CAAC,gBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAA;IAChG,MAAM,YAAY,GAAG,iBAAiB,EAAE,OAAO,EAAE,CAAA;IACjD,OAAO,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,SAAS,CAAA;AAC/D,CAAC;AAED,SAAgB,+BAA+B,CAAC,cAAqC;IACjF,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,CAAA;IAC7C,OAAO,QAAQ,CAAC,MAAM,CAAC,gBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAA;AAC/G,CAAC"}
@@ -1,9 +0,0 @@
1
- import { ts } from '@servicenow/sdk-project';
2
- /**
3
- * Retrieves the property assignment with the specified name and subpath from the given node.
4
- * @param node - The node to search for the property assignment.
5
- * @param property - The name of the property assignment to retrieve.
6
- * @param subPath - Optional subpath to navigate within the property assignment.
7
- * @returns The property assignment node if found, otherwise undefined.
8
- */
9
- export declare function getPropertyAssignment(node: ts.Node | undefined, property: string, ...subPath: string[]): ts.PropertyAssignment | undefined;