@kontur.candy/tools 2.214.0 → 2.215.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 (102) hide show
  1. package/distr/Common/CandyApiClient/CandyApiClient.js +3 -2
  2. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
  3. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
  4. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
  5. package/distr/Common/CandyApiClient/IsBuffer.js +5 -1
  6. package/distr/Common/CandyApiClient/IsBuffer.js.map +1 -1
  7. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +1 -1
  8. package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +1 -1
  9. package/distr/Common/Errors/ExtendedError.js +1 -0
  10. package/distr/Common/Errors/ExtendedError.js.map +1 -1
  11. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +1 -1
  12. package/distr/Common/HttpClient/HttpClient.js +10 -5
  13. package/distr/Common/HttpClient/HttpClient.js.map +1 -1
  14. package/distr/Common/HttpClient/IHttpClient.js.map +1 -1
  15. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -1
  16. package/distr/Common/ModelPath/ModelPath.js +0 -2
  17. package/distr/Common/ModelPath/ModelPath.js.map +1 -1
  18. package/distr/Common/ModelPath/PathSplitHelper.js.map +1 -1
  19. package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +1 -1
  20. package/distr/Common/TypingUtils.js +1 -5
  21. package/distr/Common/TypingUtils.js.map +1 -1
  22. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +1 -0
  23. package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +1 -1
  24. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +1 -0
  25. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -1
  26. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +1 -0
  27. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -1
  28. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +3 -1
  29. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -1
  30. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +1 -0
  31. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +1 -1
  32. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -0
  33. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
  34. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +4 -4
  35. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -1
  36. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +1 -0
  37. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +1 -1
  38. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +0 -1
  39. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +1 -1
  40. package/distr/Tools/src/BuildTasks/ReadFormSource.js +2 -1
  41. package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -1
  42. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +0 -3
  43. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -1
  44. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
  45. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +5 -1
  46. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -1
  47. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +0 -1
  48. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -1
  49. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +5 -6
  50. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +1 -1
  51. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -1
  52. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +1 -1
  53. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +1 -1
  54. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +0 -2
  55. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +1 -1
  56. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -0
  57. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -1
  58. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +0 -1
  59. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +1 -1
  60. package/distr/Tools/src/CheckNodeJsVersion.js +0 -1
  61. package/distr/Tools/src/CheckNodeJsVersion.js.map +1 -1
  62. package/distr/Tools/src/Commons/ExecUtils.js +1 -0
  63. package/distr/Tools/src/Commons/ExecUtils.js.map +1 -1
  64. package/distr/Tools/src/Commons/FsUtils.js.map +1 -1
  65. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +7 -0
  66. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +1 -1
  67. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +0 -1
  68. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +1 -1
  69. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +0 -1
  70. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +1 -1
  71. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +0 -1
  72. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +1 -1
  73. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +0 -1
  74. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +1 -1
  75. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +0 -1
  76. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +1 -1
  77. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +1 -0
  78. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +1 -1
  79. package/distr/Tools/src/Commons/Logging/ELKLogger.js +0 -1
  80. package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +1 -1
  81. package/distr/Tools/src/Commons/Logging/Logger.js +1 -1
  82. package/distr/Tools/src/Commons/Logging/Logger.js.map +1 -1
  83. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +1 -1
  84. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +0 -2
  85. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -1
  86. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +6 -6
  87. package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +1 -1
  88. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +1 -7
  89. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +1 -1
  90. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +1 -4
  91. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -1
  92. package/distr/Tools/src/FormWebpackConfiguration/variables.less +2 -0
  93. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
  94. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  95. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  96. package/distr/Tools/src/ReadFarmConfig.js +1 -1
  97. package/distr/Tools/src/ReadFarmConfig.js.map +1 -1
  98. package/distr/Tools/src/SelfUpdate.js +0 -1
  99. package/distr/Tools/src/SelfUpdate.js.map +1 -1
  100. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  101. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  102. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IsBuffer.js","names":["isBuffer","obj","undefined","constructor","Boolean"],"sources":["../../../../Common/CandyApiClient/IsBuffer.ts"],"sourcesContent":["/**\n * Проверяет что obj -- это Buffer, да так что можно использовать в браузере и не развалистся\n * Скопипастил с https://github.com/feross/is-buffer ибо тайпинг там неписал без type guard-а\n * @param obj\n */\nexport function isBuffer(obj: unknown): obj is Buffer {\n return (\n typeof obj === \"object\" &&\n obj != undefined &&\n obj.constructor != undefined &&\n typeof obj.constructor[\"isBuffer\"] === \"function\" &&\n Boolean(obj.constructor[\"isBuffer\"](obj))\n );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,SAASA,QAAQA,CAACC,GAAY,EAAiB;EAClD,OACI,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,IAAIC,SAAS,IAChBD,GAAG,CAACE,WAAW,IAAID,SAAS,IAC5B,OAAOD,GAAG,CAACE,WAAW,CAAC,UAAU,CAAC,KAAK,UAAU,IACjDC,OAAO,CAACH,GAAG,CAACE,WAAW,CAAC,UAAU,CAAC,CAACF,GAAG,CAAC,CAAC;AAEjD","ignoreList":[]}
1
+ {"version":3,"file":"IsBuffer.js","names":["isBuffer","obj","undefined","constructor","Boolean"],"sources":["../../../../Common/CandyApiClient/IsBuffer.ts"],"sourcesContent":["/**\n * Проверяет что obj -- это Buffer, да так что можно использовать в браузере и не развалистся\n * Скопипастил с https://github.com/feross/is-buffer ибо тайпинг там неписал без type guard-а\n * @param obj\n */\nexport function isBuffer(obj: unknown): obj is Buffer {\n return (\n typeof obj === \"object\" &&\n obj != undefined &&\n obj.constructor != undefined &&\n // @ts-ignore\n typeof obj.constructor[\"isBuffer\"] === \"function\" &&\n // @ts-ignore\n Boolean(obj.constructor[\"isBuffer\"](obj))\n );\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,SAASA,QAAQA,CAACC,GAAY,EAAiB;EAClD,OACI,OAAOA,GAAG,KAAK,QAAQ,IACvBA,GAAG,IAAIC,SAAS,IAChBD,GAAG,CAACE,WAAW,IAAID,SAAS;EAC5B;EACA,OAAOD,GAAG,CAACE,WAAW,CAAC,UAAU,CAAC,KAAK,UAAU;EACjD;EACAC,OAAO,CAACH,GAAG,CAACE,WAAW,CAAC,UAAU,CAAC,CAACF,GAAG,CAAC,CAAC;AAEjD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"InnerQueryExpression.js","names":[],"sources":["../../../../../../Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface InnerQueryExpression {}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"InnerQueryExpression.js","names":[],"sources":["../../../../../../Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.ts"],"sourcesContent":["export interface InnerQueryExpression {}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"InnerQueryRequest.js","names":["InnerQueryRequest","constructor","multiplicityPath","selects","filter","sortingRules","groupByRules","skip","take","exports"],"sources":["../../../../../../Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.ts"],"sourcesContent":["import { InnerQueryExpression } from \"./InnerQueryExpression\";\nimport { SortingRule } from \"./SortingRule\";\nimport { SelectClause } from \"./SelectClause\";\n\nexport class InnerQueryRequest {\n public readonly multiplicityPath: string;\n public readonly selects: SelectClause[];\n public readonly filter?: InnerQueryExpression;\n public readonly sortingRules?: SortingRule[];\n public readonly groupByRules?: InnerQueryExpression[];\n public readonly skip?: number;\n public readonly take?: number;\n\n public constructor(\n multiplicityPath: string,\n selects: SelectClause[],\n filter?: InnerQueryExpression | undefined,\n sortingRules?: SortingRule[] | undefined,\n groupByRules?: InnerQueryExpression[] | undefined,\n skip?: number | undefined,\n take?: number | undefined\n ) {\n this.multiplicityPath = multiplicityPath;\n this.selects = selects;\n this.filter = filter;\n this.sortingRules = sortingRules;\n this.groupByRules = groupByRules;\n this.skip = skip;\n this.take = take;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,iBAAiB,CAAC;EASpBC,WAAWA,CACdC,gBAAwB,EACxBC,OAAuB,EACvBC,MAAyC,EACzCC,YAAwC,EACxCC,YAAiD,EACjDC,IAAyB,EACzBC,IAAyB,EAC3B;IAAA,KAhBcN,gBAAgB;IAAA,KAChBC,OAAO;IAAA,KACPC,MAAM;IAAA,KACNC,YAAY;IAAA,KACZC,YAAY;IAAA,KACZC,IAAI;IAAA,KACJC,IAAI;IAWhB,IAAI,CAACN,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;EACpB;AACJ;AAACC,OAAA,CAAAT,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"InnerQueryRequest.js","names":["InnerQueryRequest","constructor","multiplicityPath","selects","filter","sortingRules","groupByRules","skip","take","exports"],"sources":["../../../../../../Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.ts"],"sourcesContent":["import { InnerQueryExpression } from \"./InnerQueryExpression\";\nimport { SortingRule } from \"./SortingRule\";\nimport { SelectClause } from \"./SelectClause\";\n\nexport class InnerQueryRequest {\n public readonly multiplicityPath: string;\n public readonly selects: SelectClause[];\n public readonly filter?: InnerQueryExpression;\n public readonly sortingRules?: SortingRule[];\n public readonly groupByRules?: InnerQueryExpression[];\n public readonly skip?: number;\n public readonly take?: number;\n\n public constructor(\n multiplicityPath: string,\n selects: SelectClause[],\n filter?: InnerQueryExpression,\n sortingRules?: SortingRule[],\n groupByRules?: InnerQueryExpression[],\n skip?: number,\n take?: number\n ) {\n this.multiplicityPath = multiplicityPath;\n this.selects = selects;\n this.filter = filter;\n this.sortingRules = sortingRules;\n this.groupByRules = groupByRules;\n this.skip = skip;\n this.take = take;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,iBAAiB,CAAC;EASpBC,WAAWA,CACdC,gBAAwB,EACxBC,OAAuB,EACvBC,MAA6B,EAC7BC,YAA4B,EAC5BC,YAAqC,EACrCC,IAAa,EACbC,IAAa,EACf;IAAA,KAhBcN,gBAAgB;IAAA,KAChBC,OAAO;IAAA,KACPC,MAAM;IAAA,KACNC,YAAY;IAAA,KACZC,YAAY;IAAA,KACZC,IAAI;IAAA,KACJC,IAAI;IAWhB,IAAI,CAACN,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;EACpB;AACJ;AAACC,OAAA,CAAAT,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -24,6 +24,7 @@ class ExtendedError extends Error {
24
24
  if (innerError instanceof Error) {
25
25
  return innerError.message;
26
26
  }
27
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
27
28
  return `${innerError}`;
28
29
  }
29
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendedError.js","names":["ExtendedError","Error","constructor","message","innerError","errorMessage","getErrorMessage","undefined","_this$stack","_innerError$stack","stack","exports"],"sources":["../../../../Common/Errors/ExtendedError.ts"],"sourcesContent":["export type CatchedError = unknown;\n\nexport class ExtendedError extends Error {\n public readonly innerError: CatchedError;\n\n public constructor(message: string, innerError?: ExtendedError | Error | CatchedError) {\n const errorMessage = ExtendedError.getErrorMessage(innerError);\n super(message + (errorMessage != undefined ? \"\\n\" + errorMessage : \"\"));\n // NOTE Эта конструкция работает при запуске тестов в node.js. Для других сред тоже бы проверить и найти решение\n // NOTE если надо. Очень удобно, что при прокидывании ошибки можно найти исходное место выброс исключения\n if (innerError != undefined && innerError instanceof Error) {\n this.stack = (this.stack ?? \"\") + \"\\n\" + (innerError.stack ?? \"\");\n }\n this.innerError = innerError;\n }\n\n private static getErrorMessage(innerError?: CatchedError): undefined | string {\n if (innerError == undefined) {\n return undefined;\n }\n if (innerError instanceof Error) {\n return innerError.message;\n }\n return `${innerError}`;\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,aAAa,SAASC,KAAK,CAAC;EAG9BC,WAAWA,CAACC,OAAe,EAAEC,UAAiD,EAAE;IACnF,MAAMC,YAAY,GAAGL,aAAa,CAACM,eAAe,CAACF,UAAU,CAAC;IAC9D,KAAK,CAACD,OAAO,IAAIE,YAAY,IAAIE,SAAS,GAAG,IAAI,GAAGF,YAAY,GAAG,EAAE,CAAC,CAAC;IACvE;IACA;IAAA,KANYD,UAAU;IAOtB,IAAIA,UAAU,IAAIG,SAAS,IAAIH,UAAU,YAAYH,KAAK,EAAE;MAAA,IAAAO,WAAA,EAAAC,iBAAA;MACxD,IAAI,CAACC,KAAK,GAAG,EAAAF,WAAA,GAAC,IAAI,CAACE,KAAK,cAAAF,WAAA,cAAAA,WAAA,GAAI,EAAE,IAAI,IAAI,KAAAC,iBAAA,GAAIL,UAAU,CAACM,KAAK,cAAAD,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CAAC;IACrE;IACA,IAAI,CAACL,UAAU,GAAGA,UAAU;EAChC;EAEA,OAAeE,eAAeA,CAACF,UAAyB,EAAsB;IAC1E,IAAIA,UAAU,IAAIG,SAAS,EAAE;MACzB,OAAOA,SAAS;IACpB;IACA,IAAIH,UAAU,YAAYH,KAAK,EAAE;MAC7B,OAAOG,UAAU,CAACD,OAAO;IAC7B;IACA,OAAO,GAAGC,UAAU,EAAE;EAC1B;AACJ;AAACO,OAAA,CAAAX,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"ExtendedError.js","names":["ExtendedError","Error","constructor","message","innerError","errorMessage","getErrorMessage","undefined","_this$stack","_innerError$stack","stack","exports"],"sources":["../../../../Common/Errors/ExtendedError.ts"],"sourcesContent":["export type CatchedError = unknown;\n\nexport class ExtendedError extends Error {\n public readonly innerError: CatchedError;\n\n public constructor(message: string, innerError?: ExtendedError | Error | CatchedError) {\n const errorMessage = ExtendedError.getErrorMessage(innerError);\n super(message + (errorMessage != undefined ? \"\\n\" + errorMessage : \"\"));\n // NOTE Эта конструкция работает при запуске тестов в node.js. Для других сред тоже бы проверить и найти решение\n // NOTE если надо. Очень удобно, что при прокидывании ошибки можно найти исходное место выброс исключения\n if (innerError != undefined && innerError instanceof Error) {\n this.stack = (this.stack ?? \"\") + \"\\n\" + (innerError.stack ?? \"\");\n }\n this.innerError = innerError;\n }\n\n private static getErrorMessage(innerError?: CatchedError): undefined | string {\n if (innerError == undefined) {\n return undefined;\n }\n if (innerError instanceof Error) {\n return innerError.message;\n }\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n return `${innerError}`;\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,aAAa,SAASC,KAAK,CAAC;EAG9BC,WAAWA,CAACC,OAAe,EAAEC,UAAiD,EAAE;IACnF,MAAMC,YAAY,GAAGL,aAAa,CAACM,eAAe,CAACF,UAAU,CAAC;IAC9D,KAAK,CAACD,OAAO,IAAIE,YAAY,IAAIE,SAAS,GAAG,IAAI,GAAGF,YAAY,GAAG,EAAE,CAAC,CAAC;IACvE;IACA;IAAA,KANYD,UAAU;IAOtB,IAAIA,UAAU,IAAIG,SAAS,IAAIH,UAAU,YAAYH,KAAK,EAAE;MAAA,IAAAO,WAAA,EAAAC,iBAAA;MACxD,IAAI,CAACC,KAAK,GAAG,EAAAF,WAAA,GAAC,IAAI,CAACE,KAAK,cAAAF,WAAA,cAAAA,WAAA,GAAI,EAAE,IAAI,IAAI,KAAAC,iBAAA,GAAIL,UAAU,CAACM,KAAK,cAAAD,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CAAC;IACrE;IACA,IAAI,CAACL,UAAU,GAAGA,UAAU;EAChC;EAEA,OAAeE,eAAeA,CAACF,UAAyB,EAAsB;IAC1E,IAAIA,UAAU,IAAIG,SAAS,EAAE;MACzB,OAAOA,SAAS;IACpB;IACA,IAAIH,UAAU,YAAYH,KAAK,EAAE;MAC7B,OAAOG,UAAU,CAACD,OAAO;IAC7B;IACA;IACA,OAAO,GAAGC,UAAU,EAAE;EAC1B;AACJ;AAACO,OAAA,CAAAX,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFetch.js","names":["_https","require","_nodeFetch","_interopRequireDefault","_Errors","agent","Agent","rejectUnauthorized","nodeFetch","input","init","startsWith","fetch","NotSupportedError","exports"],"sources":["../../../../../Common/HttpClient/FetchImplementation/NodeFetch.ts"],"sourcesContent":["import { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\n\nimport { NotSupportedError } from \"../../Errors\";\n\nimport { Fetch } from \"./Fetch\";\n\nconst agent = new Agent({ rejectUnauthorized: false });\n\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return */\nexport const nodeFetch: Fetch = (input: RequestInfo, init?: RequestInit): Promise<Response> => {\n if (typeof input === \"string\") {\n if (input.startsWith(\"https\")) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return fetch(input, { ...init, agent: agent } as any) as any;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return fetch(input, { ...init } as any) as any;\n }\n } else {\n throw new NotSupportedError();\n }\n};\n/* eslint-enable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return */\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAIA,MAAMI,KAAK,GAAG,IAAIC,YAAK,CAAC;EAAEC,kBAAkB,EAAE;AAAM,CAAC,CAAC;;AAEtD;AACO,MAAMC,SAAgB,GAAGA,CAACC,KAAkB,EAAEC,IAAkB,KAAwB;EAC3F,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC3B,IAAIA,KAAK,CAACE,UAAU,CAAC,OAAO,CAAC,EAAE;MAC3B;MACA,OAAO,IAAAC,kBAAK,EAACH,KAAK,EAAE;QAAE,GAAGC,IAAI;QAAEL,KAAK,EAAEA;MAAM,CAAQ,CAAC;IACzD,CAAC,MAAM;MACH;MACA,OAAO,IAAAO,kBAAK,EAACH,KAAK,EAAE;QAAE,GAAGC;MAAK,CAAQ,CAAC;IAC3C;EACJ,CAAC,MAAM;IACH,MAAM,IAAIG,yBAAiB,CAAC,CAAC;EACjC;AACJ,CAAC;AACD;AAAAC,OAAA,CAAAN,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"NodeFetch.js","names":["_https","require","_nodeFetch","_interopRequireDefault","_Errors","agent","Agent","rejectUnauthorized","nodeFetch","input","init","startsWith","fetch","NotSupportedError","exports"],"sources":["../../../../../Common/HttpClient/FetchImplementation/NodeFetch.ts"],"sourcesContent":["import { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\n\nimport { NotSupportedError } from \"../../Errors\";\n\nimport { Fetch } from \"./Fetch\";\n\nconst agent = new Agent({ rejectUnauthorized: false });\n\n/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return */\nexport const nodeFetch: Fetch = (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n if (typeof input === \"string\") {\n if (input.startsWith(\"https\")) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return fetch(input, { ...init, agent: agent } as any) as any;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return fetch(input, { ...init } as any) as any;\n }\n } else {\n throw new NotSupportedError();\n }\n};\n/* eslint-enable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-return */\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAIA,MAAMI,KAAK,GAAG,IAAIC,YAAK,CAAC;EAAEC,kBAAkB,EAAE;AAAM,CAAC,CAAC;;AAEtD;AACO,MAAMC,SAAgB,GAAGA,CAACC,KAAwB,EAAEC,IAAkB,KAAwB;EACjG,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC3B,IAAIA,KAAK,CAACE,UAAU,CAAC,OAAO,CAAC,EAAE;MAC3B;MACA,OAAO,IAAAC,kBAAK,EAACH,KAAK,EAAE;QAAE,GAAGC,IAAI;QAAEL,KAAK,EAAEA;MAAM,CAAQ,CAAC;IACzD,CAAC,MAAM;MACH;MACA,OAAO,IAAAO,kBAAK,EAACH,KAAK,EAAE;QAAE,GAAGC;MAAK,CAAQ,CAAC;IAC3C;EACJ,CAAC,MAAM;IACH,MAAM,IAAIG,yBAAiB,CAAC,CAAC;EACjC;AACJ,CAAC;AACD;AAAAC,OAAA,CAAAN,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -200,9 +200,13 @@ class HttpClient {
200
200
  appendDefaultRequestHeaders(options, contentType) {
201
201
  var _options$headers;
202
202
  options.headers = (_options$headers = options.headers) !== null && _options$headers !== void 0 ? _options$headers : {};
203
+ // @ts-ignore
203
204
  options.headers["Content-Type"] = contentType !== null && contentType !== void 0 ? contentType : "application/json";
205
+ // @ts-ignore
204
206
  options.headers["Cache-Control"] = "no-cache, no-store";
207
+ // @ts-ignore
205
208
  options.headers["Pragma"] = "no-cache";
209
+ // @ts-ignore
206
210
  options.headers["Expires"] = "0";
207
211
  return options;
208
212
  }
@@ -243,9 +247,7 @@ class HttpClient {
243
247
  if (serverResponse != undefined) {
244
248
  var _ref, _serverResponse$Messa;
245
249
  if ("error" in serverResponse && typeof serverResponse.error === "object") {
246
- throw new HttpError(
247
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
248
- JSON.stringify(serverResponse.error), response.status);
250
+ throw new HttpError(JSON.stringify(serverResponse.error), response.status);
249
251
  }
250
252
  throw new HttpError( // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
251
253
  (_ref = (_serverResponse$Messa = serverResponse.Message) !== null && _serverResponse$Messa !== void 0 ? _serverResponse$Messa : serverResponse.message) !== null && _ref !== void 0 ? _ref : serverResponse.Error, response.status);
@@ -298,13 +300,16 @@ class HttpClient {
298
300
  }
299
301
  createFetchImpl() {
300
302
  const fetchWithOptions = (input, init) => {
301
- if (typeof input === "string") {
303
+ if (typeof input === "string" || input instanceof URL) {
302
304
  var _init, _init$headers;
303
- const fetchUrl = this.url(input, undefined);
305
+ const fetchUrl = this.url(input.toString(), undefined);
304
306
  init = (_init = init) !== null && _init !== void 0 ? _init : {};
305
307
  init.headers = (_init$headers = init.headers) !== null && _init$headers !== void 0 ? _init$headers : {};
308
+ // @ts-ignore
306
309
  init.headers["Cache-Control"] = "no-cache, no-store";
310
+ // @ts-ignore
307
311
  init.headers["Pragma"] = "no-cache";
312
+ // @ts-ignore
308
313
  init.headers["Expires"] = "0";
309
314
  init = this.authenticationProvider(init);
310
315
  return this.fetchImpl(fetchUrl, init);
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.js","names":["_Errors","require","_TypingUtils","trimTrailingSlash","url","slice","trimLeadingSlash","HttpClientResponse","constructor","fetchResponse","status","headers","json","responseData","blob","text","exports","HttpClientRequestWrapper","execute","executeRequest","acceptCodes","httpStatusHandlers","queryParams","signal","bodyFactory","contentType","then","args","resultPromise","result","createConfig","withAbortSignal","withContentType","withBodyFromBuffer","body","undefined","withJsonBody","serializableBody","JSON","stringify","withQueryParams","withRawBody","withHttpStatusHandler","statusCode","handler","withHttpStatusHandlers","acceptCode","code","push","create","fn","HttpClient","fetchImpl","baseUrl","authenticationProvider","defaultQueryParams","exceptionLogger","defaultParams","get","method","post","put","patch","delete","config","fetchUrl","request","appendDefaultRequestHeaders","InvalidArgumentError","response","checkStatus","e","_this$exceptionLogger","call","reject","options","_options$headers","path","params","resultParams","includes","Object","keys","length","NotSupportedError","createQueryString","_config$acceptCodes","isSuccessResponseStatus","isAcceptCodesIncludesResponseStatus","_config$httpStatusHan","_config$httpStatusHan2","_this$httpStatusHandl","_this$httpStatusHandl2","errorText","serverResponse","parse","_ref","_serverResponse$Messa","error","HttpError","Message","message","Error","postSync","data","XMLHttpRequest","open","withCredentials","setRequestHeader","send","responseText","makeParamValueString","param","value","encodeURIComponent","params2","map","key","toString","Array","isArray","item","filter","x","join","createFetchImpl","fetchWithOptions","input","init","_init","_init$headers","requestInit","cache","credentials","integrity","keepalive","mode","redirect","referrer","referrerPolicy","name","getContentType","getFileName","_response$headers$get","split","replace"],"sources":["../../../../Common/HttpClient/HttpClient.ts"],"sourcesContent":["import { InvalidArgumentError, NotSupportedError } from \"../Errors\";\nimport { reject } from \"../TypingUtils\";\n\nimport { Fetch } from \"./FetchImplementation/Fetch\";\nimport {\n HttpStatusCode,\n HttpStatusHandler,\n HttpStatusHandlers,\n IHttpClient,\n IHttpClientRequestWrapper,\n IHttpClientResponse,\n IHttpClientResponseSync,\n QueryParamsObject,\n} from \"./IHttpClient\";\nimport { HttpClientAuthenticationProvider } from \"./HttpClientAuthenticationProvider\";\n\nfunction trimTrailingSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nfunction trimLeadingSlash(url: string): string {\n return url[0] === \"/\" ? url.slice(1) : url;\n}\n\ntype BodyFactory = () => BodyInit | null;\n\ninterface IHttpClientRequestConfig {\n signal?: AbortSignal;\n bodyFactory?: BodyFactory;\n acceptCodes: HttpStatusCode[];\n httpStatusHandlers: HttpStatusHandlers;\n queryParams: QueryParamsObject;\n contentType?: string;\n}\n\nexport interface IExceptionLoggerParams {\n fetchUrl?: string;\n}\nexport type ExceptionLogger = (error: unknown, params?: IExceptionLoggerParams) => void;\n\nexport class HttpClientResponse implements IHttpClientResponse {\n private readonly fetchResponse: Response;\n\n public constructor(fetchResponse: Response) {\n this.fetchResponse = fetchResponse;\n }\n\n public get status(): HttpStatusCode {\n return this.fetchResponse.status;\n }\n\n public get headers(): Headers {\n return this.fetchResponse.headers;\n }\n\n public async json<T>(): Promise<T> {\n const responseData = await this.fetchResponse.json();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return responseData;\n }\n\n public async blob(): Promise<Blob> {\n const responseData = await this.fetchResponse.blob();\n return responseData;\n }\n\n public async text(): Promise<string> {\n const responseData = await this.fetchResponse.text();\n return responseData;\n }\n}\n\ntype RequestExecutionFunction = (config: IHttpClientRequestConfig) => Promise<HttpClientResponse | Response>;\n\nexport class HttpClientRequestWrapper implements IHttpClientRequestWrapper {\n private readonly executeRequest: RequestExecutionFunction;\n private readonly acceptCodes: HttpStatusCode[] = [];\n private httpStatusHandlers: HttpStatusHandlers = {};\n private queryParams: QueryParamsObject = {};\n private signal: undefined | AbortSignal;\n private bodyFactory?: BodyFactory;\n private contentType?: string;\n\n public constructor(execute: RequestExecutionFunction) {\n this.executeRequest = execute;\n }\n\n public withAbortSignal(signal: undefined | AbortSignal): this {\n this.signal = signal;\n return this;\n }\n\n public withContentType(contentType: string): this {\n this.contentType = contentType;\n return this;\n }\n\n public withBodyFromBuffer(body: false | Buffer | undefined): this {\n if (body === false || body == undefined) {\n return this;\n }\n this.bodyFactory = () => body;\n return this;\n }\n\n public withJsonBody(serializableBody: unknown | {} | unknown[] | undefined): this {\n if (serializableBody !== false && serializableBody != undefined) {\n this.bodyFactory = () => JSON.stringify(serializableBody);\n }\n return this;\n }\n\n public withQueryParams(queryParams: QueryParamsObject | false | undefined): this {\n if (queryParams) {\n this.queryParams = {\n ...this.queryParams,\n ...queryParams,\n };\n }\n return this;\n }\n\n public withRawBody(body: Buffer | string | false | undefined): this {\n if (body !== false && body != undefined) {\n this.bodyFactory = () => body;\n }\n return this;\n }\n\n public withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this {\n this.httpStatusHandlers = {\n ...this.httpStatusHandlers,\n [statusCode]: handler,\n };\n return this;\n }\n\n public withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this {\n this.httpStatusHandlers = { ...httpStatusHandlers };\n return this;\n }\n\n public async json<T>(): Promise<T> {\n const result = await this;\n return result.json<T>();\n }\n\n public async blob(): Promise<Blob> {\n const result = await this;\n return result.blob();\n }\n\n public acceptCode(code: HttpStatusCode): this {\n this.acceptCodes.push(code);\n return this;\n }\n\n public readonly then: Promise<HttpClientResponse>[\"then\"] = (...args) => {\n const resultPromise = (async () => {\n const result = await this.executeRequest(this.createConfig());\n if (result instanceof HttpClientResponse) {\n return result;\n } else {\n return new HttpClientResponse(result);\n }\n })();\n return resultPromise.then(...args);\n };\n\n private createConfig(): IHttpClientRequestConfig {\n return {\n signal: this.signal,\n bodyFactory: this.bodyFactory,\n acceptCodes: this.acceptCodes,\n httpStatusHandlers: this.httpStatusHandlers,\n queryParams: this.queryParams,\n contentType: this.contentType,\n };\n }\n\n public static create(fn: RequestExecutionFunction): HttpClientRequestWrapper {\n return new HttpClientRequestWrapper(fn);\n }\n}\n\nexport class HttpClient implements IHttpClient {\n private readonly fetchImpl: Fetch;\n private readonly baseUrl: undefined | string;\n private readonly authenticationProvider: HttpClientAuthenticationProvider;\n private readonly defaultParams?: QueryParamsObject = {};\n private readonly exceptionLogger?: ExceptionLogger;\n private readonly httpStatusHandlers: HttpStatusHandlers;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: undefined | string,\n authenticationProvider: HttpClientAuthenticationProvider,\n defaultQueryParams?: QueryParamsObject,\n exceptionLogger?: ExceptionLogger,\n httpStatusHandlers?: HttpStatusHandlers\n ) {\n this.fetchImpl = fetchImpl;\n this.baseUrl = baseUrl == undefined ? baseUrl : trimTrailingSlash(baseUrl);\n this.defaultParams = defaultQueryParams;\n this.authenticationProvider = authenticationProvider;\n this.exceptionLogger = exceptionLogger;\n this.httpStatusHandlers = { ...httpStatusHandlers };\n }\n\n public get(url: string): IHttpClientRequestWrapper {\n return this.method(\"GET\")(url);\n }\n\n public post(url: string): IHttpClientRequestWrapper {\n return this.method(\"POST\")(url);\n }\n\n public put(url: string): IHttpClientRequestWrapper {\n return this.method(\"PUT\")(url);\n }\n\n public patch(url: string): IHttpClientRequestWrapper {\n return this.method(\"PATCH\")(url);\n }\n\n public delete(url: string): IHttpClientRequestWrapper {\n return this.method(\"DELETE\")(url);\n }\n\n private method(method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\"): (url: string) => IHttpClientRequestWrapper {\n return (url: string) =>\n HttpClientRequestWrapper.create(async config => {\n const fetchUrl = this.url(url, config.queryParams);\n let request = this.appendDefaultRequestHeaders({ method: method }, config.contentType);\n request = this.authenticationProvider(request);\n if (config.signal) {\n request.signal = config.signal;\n }\n if (config.bodyFactory) {\n if (method === \"GET\") {\n throw new InvalidArgumentError(\"method\", \"Body is not allowed for GET requests\");\n }\n request.body = config.bodyFactory();\n }\n\n try {\n const response = await this.fetchImpl(fetchUrl, request);\n await this.checkStatus(response, config);\n return response;\n } catch (e) {\n this.exceptionLogger?.(e, { fetchUrl: fetchUrl });\n return reject(e as Error);\n }\n });\n }\n\n private appendDefaultRequestHeaders(options: RequestInit, contentType?: undefined | string): RequestInit {\n options.headers = options.headers ?? {};\n options.headers[\"Content-Type\"] = contentType ?? \"application/json\";\n options.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n options.headers[\"Pragma\"] = \"no-cache\";\n options.headers[\"Expires\"] = \"0\";\n return options;\n }\n\n public url(path: string, params: undefined | QueryParamsObject): string {\n let result = path;\n if (this.baseUrl != undefined) {\n result = this.baseUrl + \"/\" + trimLeadingSlash(result);\n }\n const resultParams = { ...this.defaultParams, ...params };\n if (path.includes(\"?\") && params != undefined && Object.keys(resultParams).length > 0) {\n throw new NotSupportedError(`Passing search params in url and via params object is not supported`);\n }\n result = result + this.createQueryString(resultParams);\n return result;\n }\n\n private async checkStatus(response: Response, config: IHttpClientRequestConfig): Promise<void> {\n const isSuccessResponseStatus = response.status >= 200 && response.status < 300;\n const isAcceptCodesIncludesResponseStatus = (config.acceptCodes ?? []).includes(response.status);\n\n if (!!config.httpStatusHandlers[response.status]) {\n await config.httpStatusHandlers[response.status]?.(response);\n } else if (!!this.httpStatusHandlers[response.status]) {\n await this.httpStatusHandlers[response.status]?.(response);\n }\n\n if (!isSuccessResponseStatus && !isAcceptCodesIncludesResponseStatus) {\n const errorText = await response.text();\n let serverResponse;\n try {\n serverResponse = JSON.parse(errorText);\n } catch (e) {\n serverResponse = undefined;\n }\n if (serverResponse != undefined) {\n if (\"error\" in serverResponse && typeof serverResponse.error === \"object\") {\n throw new HttpError(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n JSON.stringify(serverResponse.error),\n response.status\n );\n }\n throw new HttpError(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n serverResponse.Message ?? serverResponse.message ?? serverResponse.Error,\n response.status\n );\n }\n throw new HttpError(errorText, response.status);\n }\n }\n\n public postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync {\n const request = new XMLHttpRequest();\n request.open(\"POST\", this.url(url, params), false);\n request.withCredentials = true;\n request.setRequestHeader(\"Content-Type\", \"application/json; charset=UTF-8\");\n request.send(JSON.stringify(data));\n return {\n status: request.status,\n json: <T>() => JSON.parse(request.responseText) as T,\n };\n }\n\n private makeParamValueString(param: string, value: string): string {\n return `${encodeURIComponent(param)}=${encodeURIComponent(value)}`;\n }\n\n private createQueryString(params?: QueryParamsObject): string {\n if (params == undefined) {\n return \"\";\n }\n const params2 = params;\n let result = Object.keys(params)\n .map(key => {\n const value = params2[key];\n if (typeof value === \"string\") {\n return this.makeParamValueString(key, value);\n }\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return this.makeParamValueString(key, value.toString());\n }\n if (Array.isArray(value)) {\n return value\n .map(item => {\n if (typeof item === \"string\") {\n return this.makeParamValueString(key, item);\n }\n if (typeof item === \"number\") {\n return this.makeParamValueString(key, item.toString());\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n result = result ? \"?\" + result : \"\";\n return result;\n }\n\n public createFetchImpl(): Fetch {\n const fetchWithOptions = (input: RequestInfo, init?: RequestInit): Promise<Response> => {\n if (typeof input === \"string\") {\n const fetchUrl = this.url(input, undefined);\n init = init ?? {};\n init.headers = init.headers ?? {};\n init.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n init.headers[\"Pragma\"] = \"no-cache\";\n init.headers[\"Expires\"] = \"0\";\n init = this.authenticationProvider(init);\n return this.fetchImpl(fetchUrl, init);\n } else {\n const fetchUrl = this.url(input.url, undefined);\n let requestInit: RequestInit = {\n headers: {\n [\"Cache-Control\"]: \"no-cache, no-store\",\n [\"Pragma\"]: \"no-cache\",\n [\"Expires\"]: \"0\",\n ...input.headers,\n },\n signal: input.signal,\n cache: input.cache,\n credentials: input.credentials,\n integrity: input.integrity,\n keepalive: input.keepalive,\n method: input.method,\n mode: input.mode,\n redirect: input.redirect,\n referrer: input.referrer,\n referrerPolicy: input.referrerPolicy,\n };\n requestInit = this.authenticationProvider(requestInit);\n return this.fetchImpl(fetchUrl, requestInit);\n }\n };\n return fetchWithOptions;\n }\n}\n\nexport class HttpError extends Error {\n public readonly statusCode: number;\n\n public constructor(message: string, statusCode: number) {\n super(message);\n this.name = \"HttpError\";\n this.statusCode = statusCode;\n }\n\n public override get message(): string {\n return super.message + `. StatusCode: ${this.statusCode}`;\n }\n}\n\nexport const getContentType = (response: IHttpClientResponse): string | null => response.headers.get(\"Content-Type\");\n\nexport const getFileName = (response: IHttpClientResponse): string | undefined =>\n response.headers.get(\"Content-Disposition\")?.split(\";\")[1]?.split(\"=\")[1]?.replace(/['\"]/g, \"\");\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpClient.js","names":["_Errors","require","_TypingUtils","trimTrailingSlash","url","slice","trimLeadingSlash","HttpClientResponse","constructor","fetchResponse","status","headers","json","responseData","blob","text","exports","HttpClientRequestWrapper","execute","executeRequest","acceptCodes","httpStatusHandlers","queryParams","signal","bodyFactory","contentType","then","args","resultPromise","result","createConfig","withAbortSignal","withContentType","withBodyFromBuffer","body","undefined","withJsonBody","serializableBody","JSON","stringify","withQueryParams","withRawBody","withHttpStatusHandler","statusCode","handler","withHttpStatusHandlers","acceptCode","code","push","create","fn","HttpClient","fetchImpl","baseUrl","authenticationProvider","defaultQueryParams","exceptionLogger","defaultParams","get","method","post","put","patch","delete","config","fetchUrl","request","appendDefaultRequestHeaders","InvalidArgumentError","response","checkStatus","e","_this$exceptionLogger","call","reject","options","_options$headers","path","params","resultParams","includes","Object","keys","length","NotSupportedError","createQueryString","_config$acceptCodes","isSuccessResponseStatus","isAcceptCodesIncludesResponseStatus","_config$httpStatusHan","_config$httpStatusHan2","_this$httpStatusHandl","_this$httpStatusHandl2","errorText","serverResponse","parse","_ref","_serverResponse$Messa","error","HttpError","Message","message","Error","postSync","data","XMLHttpRequest","open","withCredentials","setRequestHeader","send","responseText","makeParamValueString","param","value","encodeURIComponent","params2","map","key","toString","Array","isArray","item","filter","x","join","createFetchImpl","fetchWithOptions","input","init","URL","_init","_init$headers","requestInit","cache","credentials","integrity","keepalive","mode","redirect","referrer","referrerPolicy","name","getContentType","getFileName","_response$headers$get","split","replace"],"sources":["../../../../Common/HttpClient/HttpClient.ts"],"sourcesContent":["import { InvalidArgumentError, NotSupportedError } from \"../Errors\";\nimport { reject } from \"../TypingUtils\";\n\nimport { Fetch } from \"./FetchImplementation/Fetch\";\nimport {\n HttpStatusCode,\n HttpStatusHandler,\n HttpStatusHandlers,\n IHttpClient,\n IHttpClientRequestWrapper,\n IHttpClientResponse,\n IHttpClientResponseSync,\n QueryParamsObject,\n} from \"./IHttpClient\";\nimport { HttpClientAuthenticationProvider } from \"./HttpClientAuthenticationProvider\";\n\nfunction trimTrailingSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nfunction trimLeadingSlash(url: string): string {\n return url[0] === \"/\" ? url.slice(1) : url;\n}\n\ntype BodyFactory = () => BodyInit | null;\n\ninterface IHttpClientRequestConfig {\n signal?: AbortSignal;\n bodyFactory?: BodyFactory;\n acceptCodes: HttpStatusCode[];\n httpStatusHandlers: HttpStatusHandlers;\n queryParams: QueryParamsObject;\n contentType?: string;\n}\n\nexport interface IExceptionLoggerParams {\n fetchUrl?: string;\n}\nexport type ExceptionLogger = (error: unknown, params?: IExceptionLoggerParams) => void;\n\nexport class HttpClientResponse implements IHttpClientResponse {\n private readonly fetchResponse: Response;\n\n public constructor(fetchResponse: Response) {\n this.fetchResponse = fetchResponse;\n }\n\n public get status(): HttpStatusCode {\n return this.fetchResponse.status;\n }\n\n public get headers(): Headers {\n return this.fetchResponse.headers;\n }\n\n public async json<T>(): Promise<T> {\n const responseData = await this.fetchResponse.json();\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return responseData;\n }\n\n public async blob(): Promise<Blob> {\n const responseData = await this.fetchResponse.blob();\n return responseData;\n }\n\n public async text(): Promise<string> {\n const responseData = await this.fetchResponse.text();\n return responseData;\n }\n}\n\ntype RequestExecutionFunction = (config: IHttpClientRequestConfig) => Promise<HttpClientResponse | Response>;\n\nexport class HttpClientRequestWrapper implements IHttpClientRequestWrapper {\n private readonly executeRequest: RequestExecutionFunction;\n private readonly acceptCodes: HttpStatusCode[] = [];\n private httpStatusHandlers: HttpStatusHandlers = {};\n private queryParams: QueryParamsObject = {};\n private signal: undefined | AbortSignal;\n private bodyFactory?: BodyFactory;\n private contentType?: string;\n\n public constructor(execute: RequestExecutionFunction) {\n this.executeRequest = execute;\n }\n\n public withAbortSignal(signal: undefined | AbortSignal): this {\n this.signal = signal;\n return this;\n }\n\n public withContentType(contentType: string): this {\n this.contentType = contentType;\n return this;\n }\n\n public withBodyFromBuffer(body: false | Buffer | undefined): this {\n if (body === false || body == undefined) {\n return this;\n }\n this.bodyFactory = () => body;\n return this;\n }\n\n public withJsonBody(serializableBody: unknown | {} | unknown[] | undefined): this {\n if (serializableBody !== false && serializableBody != undefined) {\n this.bodyFactory = () => JSON.stringify(serializableBody);\n }\n return this;\n }\n\n public withQueryParams(queryParams: QueryParamsObject | false | undefined): this {\n if (queryParams) {\n this.queryParams = {\n ...this.queryParams,\n ...queryParams,\n };\n }\n return this;\n }\n\n public withRawBody(body: Buffer | string | false | undefined): this {\n if (body !== false && body != undefined) {\n this.bodyFactory = () => body;\n }\n return this;\n }\n\n public withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this {\n this.httpStatusHandlers = {\n ...this.httpStatusHandlers,\n [statusCode]: handler,\n };\n return this;\n }\n\n public withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this {\n this.httpStatusHandlers = { ...httpStatusHandlers };\n return this;\n }\n\n public async json<T>(): Promise<T> {\n const result = await this;\n return result.json<T>();\n }\n\n public async blob(): Promise<Blob> {\n const result = await this;\n return result.blob();\n }\n\n public acceptCode(code: HttpStatusCode): this {\n this.acceptCodes.push(code);\n return this;\n }\n\n public readonly then: Promise<HttpClientResponse>[\"then\"] = (...args) => {\n const resultPromise = (async () => {\n const result = await this.executeRequest(this.createConfig());\n if (result instanceof HttpClientResponse) {\n return result;\n } else {\n return new HttpClientResponse(result);\n }\n })();\n return resultPromise.then(...args);\n };\n\n private createConfig(): IHttpClientRequestConfig {\n return {\n signal: this.signal,\n bodyFactory: this.bodyFactory,\n acceptCodes: this.acceptCodes,\n httpStatusHandlers: this.httpStatusHandlers,\n queryParams: this.queryParams,\n contentType: this.contentType,\n };\n }\n\n public static create(fn: RequestExecutionFunction): HttpClientRequestWrapper {\n return new HttpClientRequestWrapper(fn);\n }\n}\n\nexport class HttpClient implements IHttpClient {\n private readonly fetchImpl: Fetch;\n private readonly baseUrl: undefined | string;\n private readonly authenticationProvider: HttpClientAuthenticationProvider;\n private readonly defaultParams?: QueryParamsObject = {};\n private readonly exceptionLogger?: ExceptionLogger;\n private readonly httpStatusHandlers: HttpStatusHandlers;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: undefined | string,\n authenticationProvider: HttpClientAuthenticationProvider,\n defaultQueryParams?: QueryParamsObject,\n exceptionLogger?: ExceptionLogger,\n httpStatusHandlers?: HttpStatusHandlers\n ) {\n this.fetchImpl = fetchImpl;\n this.baseUrl = baseUrl == undefined ? baseUrl : trimTrailingSlash(baseUrl);\n this.defaultParams = defaultQueryParams;\n this.authenticationProvider = authenticationProvider;\n this.exceptionLogger = exceptionLogger;\n this.httpStatusHandlers = { ...httpStatusHandlers };\n }\n\n public get(url: string): IHttpClientRequestWrapper {\n return this.method(\"GET\")(url);\n }\n\n public post(url: string): IHttpClientRequestWrapper {\n return this.method(\"POST\")(url);\n }\n\n public put(url: string): IHttpClientRequestWrapper {\n return this.method(\"PUT\")(url);\n }\n\n public patch(url: string): IHttpClientRequestWrapper {\n return this.method(\"PATCH\")(url);\n }\n\n public delete(url: string): IHttpClientRequestWrapper {\n return this.method(\"DELETE\")(url);\n }\n\n private method(method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\"): (url: string) => IHttpClientRequestWrapper {\n return (url: string) =>\n HttpClientRequestWrapper.create(async config => {\n const fetchUrl = this.url(url, config.queryParams);\n let request = this.appendDefaultRequestHeaders({ method: method }, config.contentType);\n request = this.authenticationProvider(request);\n if (config.signal) {\n request.signal = config.signal;\n }\n if (config.bodyFactory) {\n if (method === \"GET\") {\n throw new InvalidArgumentError(\"method\", \"Body is not allowed for GET requests\");\n }\n request.body = config.bodyFactory();\n }\n\n try {\n const response = await this.fetchImpl(fetchUrl, request);\n await this.checkStatus(response, config);\n return response;\n } catch (e) {\n this.exceptionLogger?.(e, { fetchUrl: fetchUrl });\n return reject(e as Error);\n }\n });\n }\n\n private appendDefaultRequestHeaders(options: RequestInit, contentType?: string): RequestInit {\n options.headers = options.headers ?? {};\n // @ts-ignore\n options.headers[\"Content-Type\"] = contentType ?? \"application/json\";\n // @ts-ignore\n options.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n // @ts-ignore\n options.headers[\"Pragma\"] = \"no-cache\";\n // @ts-ignore\n options.headers[\"Expires\"] = \"0\";\n return options;\n }\n\n public url(path: string, params: undefined | QueryParamsObject): string {\n let result = path;\n if (this.baseUrl != undefined) {\n result = this.baseUrl + \"/\" + trimLeadingSlash(result);\n }\n const resultParams = { ...this.defaultParams, ...params };\n if (path.includes(\"?\") && params != undefined && Object.keys(resultParams).length > 0) {\n throw new NotSupportedError(`Passing search params in url and via params object is not supported`);\n }\n result = result + this.createQueryString(resultParams);\n return result;\n }\n\n private async checkStatus(response: Response, config: IHttpClientRequestConfig): Promise<void> {\n const isSuccessResponseStatus = response.status >= 200 && response.status < 300;\n const isAcceptCodesIncludesResponseStatus = (config.acceptCodes ?? []).includes(response.status);\n\n if (!!config.httpStatusHandlers[response.status]) {\n await config.httpStatusHandlers[response.status]?.(response);\n } else if (!!this.httpStatusHandlers[response.status]) {\n await this.httpStatusHandlers[response.status]?.(response);\n }\n\n if (!isSuccessResponseStatus && !isAcceptCodesIncludesResponseStatus) {\n const errorText = await response.text();\n let serverResponse;\n try {\n serverResponse = JSON.parse(errorText);\n } catch (e) {\n serverResponse = undefined;\n }\n if (serverResponse != undefined) {\n if (\"error\" in serverResponse && typeof serverResponse.error === \"object\") {\n throw new HttpError(JSON.stringify(serverResponse.error), response.status);\n }\n throw new HttpError(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n serverResponse.Message ?? serverResponse.message ?? serverResponse.Error,\n response.status\n );\n }\n throw new HttpError(errorText, response.status);\n }\n }\n\n public postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync {\n const request = new XMLHttpRequest();\n request.open(\"POST\", this.url(url, params), false);\n request.withCredentials = true;\n request.setRequestHeader(\"Content-Type\", \"application/json; charset=UTF-8\");\n request.send(JSON.stringify(data));\n return {\n status: request.status,\n json: <T>() => JSON.parse(request.responseText) as T,\n };\n }\n\n private makeParamValueString(param: string, value: string): string {\n return `${encodeURIComponent(param)}=${encodeURIComponent(value)}`;\n }\n\n private createQueryString(params?: QueryParamsObject): string {\n if (params == undefined) {\n return \"\";\n }\n const params2 = params;\n let result = Object.keys(params)\n .map(key => {\n const value = params2[key];\n if (typeof value === \"string\") {\n return this.makeParamValueString(key, value);\n }\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return this.makeParamValueString(key, value.toString());\n }\n if (Array.isArray(value)) {\n return value\n .map(item => {\n if (typeof item === \"string\") {\n return this.makeParamValueString(key, item);\n }\n if (typeof item === \"number\") {\n return this.makeParamValueString(key, item.toString());\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n }\n return undefined;\n })\n .filter(x => x != undefined)\n .join(\"&\");\n result = result ? \"?\" + result : \"\";\n return result;\n }\n\n public createFetchImpl(): Fetch {\n const fetchWithOptions = (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {\n if (typeof input === \"string\" || input instanceof URL) {\n const fetchUrl = this.url(input.toString(), undefined);\n init = init ?? {};\n init.headers = init.headers ?? {};\n // @ts-ignore\n init.headers[\"Cache-Control\"] = \"no-cache, no-store\";\n // @ts-ignore\n init.headers[\"Pragma\"] = \"no-cache\";\n // @ts-ignore\n init.headers[\"Expires\"] = \"0\";\n init = this.authenticationProvider(init);\n return this.fetchImpl(fetchUrl, init);\n } else {\n const fetchUrl = this.url(input.url, undefined);\n let requestInit: RequestInit = {\n headers: {\n [\"Cache-Control\"]: \"no-cache, no-store\",\n [\"Pragma\"]: \"no-cache\",\n [\"Expires\"]: \"0\",\n ...input.headers,\n },\n signal: input.signal,\n cache: input.cache,\n credentials: input.credentials,\n integrity: input.integrity,\n keepalive: input.keepalive,\n method: input.method,\n mode: input.mode,\n redirect: input.redirect,\n referrer: input.referrer,\n referrerPolicy: input.referrerPolicy,\n };\n requestInit = this.authenticationProvider(requestInit);\n return this.fetchImpl(fetchUrl, requestInit);\n }\n };\n return fetchWithOptions;\n }\n}\n\nexport class HttpError extends Error {\n public readonly statusCode: number;\n\n public constructor(message: string, statusCode: number) {\n super(message);\n this.name = \"HttpError\";\n this.statusCode = statusCode;\n }\n\n public override get message(): string {\n return super.message + `. StatusCode: ${this.statusCode}`;\n }\n}\n\nexport const getContentType = (response: IHttpClientResponse): string | null => response.headers.get(\"Content-Type\");\n\nexport const getFileName = (response: IHttpClientResponse): string | undefined =>\n response.headers.get(\"Content-Disposition\")?.split(\";\")[1]?.split(\"=\")[1]?.replace(/['\"]/g, \"\");\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"IHttpClient.js","names":[],"sources":["../../../../Common/HttpClient/IHttpClient.ts"],"sourcesContent":["import { Fetch } from \"./FetchImplementation/Fetch\";\n\nexport type HttpStatusCode = number;\n\nexport interface IHttpClientResponse {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n text(): Promise<string>;\n status: HttpStatusCode;\n headers: Headers;\n}\n\nexport interface IHttpClientResponseSync {\n json<T>(): T;\n status: HttpStatusCode;\n}\n\nexport type HttpStatusHandler = (response: Response) => Promise<void>;\nexport type HttpStatusHandlers = Record<HttpStatusCode, HttpStatusHandler>;\n\nexport interface IHttpClientRequestWrapper extends PromiseLike<IHttpClientResponse> {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n withQueryParams(queryParams: QueryParamsObject | false | undefined): this;\n withJsonBody(serializableBody: unknown | undefined | {} | unknown[]): this;\n withRawBody(body: Buffer | string | false | undefined): this;\n withContentType(contentType: string): this;\n withBodyFromBuffer(body: undefined | false | Buffer): this;\n withAbortSignal(signal?: AbortSignal): this;\n withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this;\n withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this;\n acceptCode(code: HttpStatusCode): this;\n}\n\nexport interface IHttpClient {\n get(url: string): IHttpClientRequestWrapper;\n post(url: string): IHttpClientRequestWrapper;\n put(url: string): IHttpClientRequestWrapper;\n patch(url: string): IHttpClientRequestWrapper;\n delete(url: string): IHttpClientRequestWrapper;\n url(path: string, params?: undefined | QueryParamsObject): string;\n postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync;\n createFetchImpl(): Fetch;\n}\n\nexport interface QueryParamsObject {\n [key: string]: null | undefined | number | string | boolean | Array<string | number>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"IHttpClient.js","names":[],"sources":["../../../../Common/HttpClient/IHttpClient.ts"],"sourcesContent":["import { Fetch } from \"./FetchImplementation/Fetch\";\n\nexport type HttpStatusCode = number;\n\nexport interface IHttpClientResponse {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n text(): Promise<string>;\n status: HttpStatusCode;\n headers: Headers;\n}\n\nexport interface IHttpClientResponseSync {\n json<T>(): T;\n status: HttpStatusCode;\n}\n\nexport type HttpStatusHandler = (response: Response) => Promise<void>;\nexport type HttpStatusHandlers = Record<HttpStatusCode, HttpStatusHandler>;\n\nexport interface IHttpClientRequestWrapper extends PromiseLike<IHttpClientResponse> {\n json<T>(): Promise<T>;\n blob(): Promise<Blob>;\n withQueryParams(queryParams: QueryParamsObject | false | undefined): this;\n withJsonBody(serializableBody: unknown | undefined | {} | unknown[]): this;\n withRawBody(body: Buffer | string | false | undefined): this;\n withContentType(contentType: string): this;\n withBodyFromBuffer(body: undefined | false | Buffer): this;\n withAbortSignal(signal?: AbortSignal): this;\n withHttpStatusHandler(statusCode: HttpStatusCode, handler: HttpStatusHandler): this;\n withHttpStatusHandlers(httpStatusHandlers: HttpStatusHandlers): this;\n acceptCode(code: HttpStatusCode): this;\n}\n\nexport interface IHttpClient {\n get(url: string): IHttpClientRequestWrapper;\n post(url: string): IHttpClientRequestWrapper;\n put(url: string): IHttpClientRequestWrapper;\n patch(url: string): IHttpClientRequestWrapper;\n delete(url: string): IHttpClientRequestWrapper;\n url(path: string, params?: QueryParamsObject): string;\n postSync(url: string, params: undefined | QueryParamsObject, data: {}): IHttpClientResponseSync;\n createFetchImpl(): Fetch;\n}\n\nexport interface QueryParamsObject {\n [key: string]: null | undefined | number | string | boolean | Array<string | number>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbsoluteModelFieldPath.js","names":["_CoreTypes","require","_hashUtils","_TypingUtils","_IterableUtils","_EachCurrentCollision","_ModelPath","_AbsoluteModelFieldPath","AbsoluteModelFieldPath","constructor","path","fieldName","field","getHash","getSimpleHashByString","isEquals","modelPath","eachCurrentCollision","EachCurrentCollision","AreSame","createFromString","pathWithFieldName","defaultFieldName","createFrom","createAbsolute","createFromMask","multiplicitySymbol","createAbsoluteFromMask","modelPathFactory","_match$","_ref","match","fieldExtractRegex","exec","undefined","reject","toString","includeLeadingSlash","toLegacyPath","lastToken","IterUtils","last","getPathParts","isLastTokenAnInstanceOrMultiplicity","PathTokens","isInstanceTokenOrInstancesSpec","isMultiToken","slashIfRequired","isNotNullOrEmpty","dotIfRequired","exports","extraFieldNames","RegExp","concat","getKnownViewModelFieldNames","join"],"sources":["../../../../Common/ModelPath/AbsoluteModelFieldPath.ts"],"sourcesContent":["import { getKnownViewModelFieldNames, ViewModelFieldName } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { getSimpleHashByString } from \"../hashUtils\";\nimport { isNotNullOrEmpty, reject } from \"../TypingUtils\";\nimport { IterUtils } from \"../IterableUtils\";\n\nimport { EachCurrentCollision } from \"./EachCurrentCollision\";\nimport { IEquatable } from \"./IEquatable\";\nimport {\n AbsoluteModelPath,\n AbsoluteResolvedModelPath,\n createAbsolute,\n createAbsoluteFromMask,\n PathToken,\n PathTokens,\n} from \"./ModelPath\";\n\nexport type ViewModelFieldNameWithCustomFields = ViewModelFieldName | \"$errorCount\" | \"$warningCount\" | \"\";\n\nexport class AbsoluteModelFieldPath implements IEquatable<AbsoluteModelFieldPath> {\n private static readonly extraFieldNames = [\"\\\\$errorCount\", \"\\\\$warningCount\"];\n private static readonly fieldExtractRegex = new RegExp(\n `^(.*)\\\\.(${AbsoluteModelFieldPath.extraFieldNames.concat(getKnownViewModelFieldNames()).join(\"|\")})$`\n );\n public readonly path: AbsoluteModelPath;\n public readonly field: ViewModelFieldNameWithCustomFields;\n\n public constructor(path: AbsoluteModelPath, fieldName: ViewModelFieldNameWithCustomFields) {\n this.path = path;\n this.field = fieldName;\n }\n\n public getHash(): number {\n return this.path.getHash() + getSimpleHashByString(this.field);\n }\n\n public isEquals(\n modelPath: AbsoluteModelFieldPath,\n eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame\n ): boolean {\n return this.path.isEquals(modelPath.path, eachCurrentCollision) && this.field === modelPath.field;\n }\n\n public static createFromString(\n pathWithFieldName: string,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(pathWithFieldName, path => createAbsolute(path), defaultFieldName);\n }\n\n public static createFromMask(\n pathWithFieldName: string,\n multiplicitySymbol: PathToken,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(\n pathWithFieldName,\n path => createAbsoluteFromMask(path, multiplicitySymbol),\n defaultFieldName\n );\n }\n\n private static createFrom<TModelPath extends AbsoluteModelPath | AbsoluteResolvedModelPath>(\n pathWithFieldName: string,\n modelPathFactory: (path: string) => TModelPath,\n defaultFieldName: ViewModelFieldNameWithCustomFields = \"value\"\n ): AbsoluteModelFieldPath {\n const match = AbsoluteModelFieldPath.fieldExtractRegex.exec(pathWithFieldName);\n const path = match != undefined ? match[1] ?? reject() : pathWithFieldName;\n const field = match != undefined ? (match[2] as ViewModelFieldName | undefined) ?? reject() : defaultFieldName;\n\n return new AbsoluteModelFieldPath(modelPathFactory(path), field);\n }\n\n public toString(includeLeadingSlash: boolean = false): string {\n return `${includeLeadingSlash ? \"/\" : \"\"}${this.path.toLegacyPath()}.${this.field}`;\n }\n\n public toLegacyPath(): string {\n const lastToken = IterUtils.last(this.path.getPathParts());\n const isLastTokenAnInstanceOrMultiplicity =\n PathTokens.isInstanceTokenOrInstancesSpec(lastToken) || PathTokens.isMultiToken(lastToken);\n const slashIfRequired = isLastTokenAnInstanceOrMultiplicity && isNotNullOrEmpty(this.field) ? \"/\" : \"\";\n const dotIfRequired = isNotNullOrEmpty(this.field) ? \".\" : \"\";\n return `${this.path.toLegacyPath()}${slashIfRequired}${dotIfRequired}${this.field}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AbsoluteModelFieldPath.js","names":["_CoreTypes","require","_hashUtils","_TypingUtils","_IterableUtils","_EachCurrentCollision","_ModelPath","_AbsoluteModelFieldPath","AbsoluteModelFieldPath","constructor","path","fieldName","field","getHash","getSimpleHashByString","isEquals","modelPath","eachCurrentCollision","EachCurrentCollision","AreSame","createFromString","pathWithFieldName","defaultFieldName","createFrom","createAbsolute","createFromMask","multiplicitySymbol","createAbsoluteFromMask","modelPathFactory","_match$","_ref","match","fieldExtractRegex","exec","undefined","reject","toString","includeLeadingSlash","toLegacyPath","lastToken","IterUtils","last","getPathParts","isLastTokenAnInstanceOrMultiplicity","PathTokens","isInstanceTokenOrInstancesSpec","isMultiToken","slashIfRequired","isNotNullOrEmpty","dotIfRequired","exports","extraFieldNames","RegExp","concat","getKnownViewModelFieldNames","join"],"sources":["../../../../Common/ModelPath/AbsoluteModelFieldPath.ts"],"sourcesContent":["import { getKnownViewModelFieldNames, ViewModelFieldName } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { getSimpleHashByString } from \"../hashUtils\";\nimport { isNotNullOrEmpty, reject } from \"../TypingUtils\";\nimport { IterUtils } from \"../IterableUtils\";\n\nimport { EachCurrentCollision } from \"./EachCurrentCollision\";\nimport { IEquatable } from \"./IEquatable\";\nimport {\n AbsoluteModelPath,\n AbsoluteResolvedModelPath,\n createAbsolute,\n createAbsoluteFromMask,\n PathToken,\n PathTokens,\n} from \"./ModelPath\";\n\nexport type ViewModelFieldNameWithCustomFields = ViewModelFieldName | \"$errorCount\" | \"$warningCount\" | \"\";\n\nexport class AbsoluteModelFieldPath implements IEquatable<AbsoluteModelFieldPath> {\n private static readonly extraFieldNames = [\"\\\\$errorCount\", \"\\\\$warningCount\"];\n private static readonly fieldExtractRegex = new RegExp(\n `^(.*)\\\\.(${AbsoluteModelFieldPath.extraFieldNames.concat(getKnownViewModelFieldNames()).join(\"|\")})$`\n );\n public readonly path: AbsoluteModelPath;\n public readonly field: ViewModelFieldNameWithCustomFields;\n\n public constructor(path: AbsoluteModelPath, fieldName: ViewModelFieldNameWithCustomFields) {\n this.path = path;\n this.field = fieldName;\n }\n\n public getHash(): number {\n return this.path.getHash() + getSimpleHashByString(this.field);\n }\n\n public isEquals(\n modelPath: AbsoluteModelFieldPath,\n eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame\n ): boolean {\n return this.path.isEquals(modelPath.path, eachCurrentCollision) && this.field === modelPath.field;\n }\n\n public static createFromString(\n pathWithFieldName: string,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(pathWithFieldName, path => createAbsolute(path), defaultFieldName);\n }\n\n public static createFromMask(\n pathWithFieldName: string,\n multiplicitySymbol: PathToken,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(\n pathWithFieldName,\n path => createAbsoluteFromMask(path, multiplicitySymbol),\n defaultFieldName\n );\n }\n\n private static createFrom<TModelPath extends AbsoluteModelPath | AbsoluteResolvedModelPath>(\n pathWithFieldName: string,\n modelPathFactory: (path: string) => TModelPath,\n defaultFieldName: ViewModelFieldNameWithCustomFields = \"value\"\n ): AbsoluteModelFieldPath {\n const match = AbsoluteModelFieldPath.fieldExtractRegex.exec(pathWithFieldName);\n const path = match != undefined ? (match[1] ?? reject()) : pathWithFieldName;\n const field =\n match != undefined ? ((match[2] as ViewModelFieldName | undefined) ?? reject()) : defaultFieldName;\n\n return new AbsoluteModelFieldPath(modelPathFactory(path), field);\n }\n\n public toString(includeLeadingSlash: boolean = false): string {\n return `${includeLeadingSlash ? \"/\" : \"\"}${this.path.toLegacyPath()}.${this.field}`;\n }\n\n public toLegacyPath(): string {\n const lastToken = IterUtils.last(this.path.getPathParts());\n const isLastTokenAnInstanceOrMultiplicity =\n PathTokens.isInstanceTokenOrInstancesSpec(lastToken) || PathTokens.isMultiToken(lastToken);\n const slashIfRequired = isLastTokenAnInstanceOrMultiplicity && isNotNullOrEmpty(this.field) ? \"/\" : \"\";\n const dotIfRequired = isNotNullOrEmpty(this.field) ? \".\" : \"\";\n return `${this.path.toLegacyPath()}${slashIfRequired}${dotIfRequired}${this.field}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -303,13 +303,11 @@ class ModelPathImpl {
303
303
  }
304
304
  let stringIndex = currentStr.length;
305
305
  while (stringIndex) {
306
- // tslint:disable-next-line:no-bitwise
307
306
  hash = hash * 33 ^ currentStr.charCodeAt(--stringIndex);
308
307
  }
309
308
  }
310
309
 
311
310
  /*
312
- tslint:disable-next-line:no-bitwise
313
311
  JavaScript does bitwise operations (like XOR, above) on 32-bit signed
314
312
  integers. Since we want the results to be always positive, convert the
315
313
  signed int to an unsigned by doing an unsigned bitshift.
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPath.js","names":["_IterableUtils","require","_TypingUtils","_EachCurrentCollision","_ModelPathBuilder","_PathMatcher","EachSymbol","Symbol","for","CurrentSymbol","PathTokens","isMultiToken","part","each","current","isSimpleToken","isInstanceToken","test","isInstanceTokenOrInstancesSpec","exports","isModelPath","path","ModelPathImpl","convertToLegacyPath","toLegacyPath","convertToAbsoluteModelPath","createAbsoluteFromMask","convertToRelativeModelPath","createRelativeFromMask","emptyModelPath","emptyAbsoluteModelPath","createModelPath","absolute","partPartStrings","split","ensurePlainPathPartsDoesNotContainMultiplicity","startsWith","slice","createFromMask","multiplicitySymbol","map","x","parts","some","Error","createAbsolute","createRelativeResolvedModelPath","createAbsoluteFromTokens","tokens","createAbsoluteResolvedFromTokens","createRelativeFromTokens","joinModelPaths","resultParts","joinItem","push","isAbsolute","getPathPartsAsArray","Array","isArray","isAllTokensResolved","every","constructor","pathParts","legacyPath","cachedHash","filter","resolved","getPathParts","getSimpleTokensStrict","token","getSimpleTokensAsArrayStrict","joinWith","getFirstMultiplicityInstanceNumber","firstIndex","find","Number","isResolved","resolveAll","instance","isContainIteration","isContainCurrentIteration","isContainCurrentOrEachIteration","getLastListPath","lastIterationIndex","lastIndexOf","getPathWithoutLastIteration","getLastIndexOfCurrentOrEachIteration","tokensWithoutLastIteration","lastCurrentIterationIndex","Math","max","isEndsWithIteration","lastItem","IterUtils","last","isEndsWithCurrentIteration","toString","length","pathPartToString","join","_this$legacyPath","isEquals","modelPath","eachCurrentCollision","EachCurrentCollision","AreSame","Iterator","from","zip","t1","t2","getHash","undefined","hash","reverseArray","currentStr","AreDifferent","stringIndex","charCodeAt","isIncludes","targetTokens","i","leftPart","rightPart","isFinite","getIterationRank","count","isEmpty","matchFor","PathMatcher","match","thisParts","otherParts","value","index","endsWith","reverse","splitByMultiplicity","lastSimpleParts","ModelPathBuilder","append","empty","toResolvedPath","normalize","resultTokens","pathPart","pop","toCurrentIteration","toEachIteration","toAbsolute","getAllParentPaths","result","skipLast","toPath","trimLastStarIfLastToken","trimFirstStarIfLastToken","firstItem","first","getSuffixPathFrom","modelFieldPath","kind","MatchKind","DifferentSuffix","source","isNotNullOrUndefined","flatMap","getParentPath","applyInstancesDirty","instances","fillWithMultiplicityIfHasNoInstance","instanceCounter","_instances$instanceCo","instanceOrEach","reject","ensureAndGetString"],"sources":["../../../../Common/ModelPath/ModelPath.ts"],"sourcesContent":["import { BindingPath } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { count, IterUtils, reverseArray } from \"../IterableUtils\";\nimport { ensureAndGetString, isNotNullOrUndefined, reject } from \"../TypingUtils\";\n\nimport { EachCurrentCollision } from \"./EachCurrentCollision\";\nimport { ModelPathBuilder } from \"./ModelPathBuilder\";\nimport { MatchKind, PathMatcher, PathMatching } from \"./PathMatcher\";\nimport { IEquatable } from \"./IEquatable\";\n\nconst EachSymbol = Symbol.for(\"__EACH__\");\nconst CurrentSymbol = Symbol.for(\"__CURRENT__\");\n\nexport class PathTokens {\n public static each: typeof EachSymbol = EachSymbol;\n public static current: typeof CurrentSymbol = CurrentSymbol;\n\n public static isMultiToken(part: undefined | PathToken): part is typeof EachSymbol | typeof CurrentSymbol {\n return part === PathTokens.each || part === PathTokens.current;\n }\n\n public static isSimpleToken(part: undefined | PathToken): part is string {\n return typeof part === \"string\";\n }\n\n public static isInstanceToken(part: undefined | PathToken): part is string {\n return typeof part === \"string\" && /^\\d+$/.test(part);\n }\n\n public static isInstanceTokenOrInstancesSpec(part: undefined | PathToken): part is string {\n return typeof part === \"string\" && (/^\\d+$/.test(part) || /^\\[(\\d+\\,?)+\\]$/i.test(part));\n }\n}\n\nexport type SimplePathToken = string;\n\nexport type PathToken = SimplePathToken | typeof EachSymbol | typeof CurrentSymbol;\n\nexport function isModelPath(path: BindingPath | ModelPath | unknown): path is ModelPath {\n return typeof path !== \"string\" && path instanceof ModelPathImpl;\n}\n\nexport function convertToLegacyPath(path: BindingPath | ModelPath): BindingPath {\n return isModelPath(path) ? path.toLegacyPath() : path;\n}\n\nexport function convertToAbsoluteModelPath<R extends boolean, A extends boolean>(\n path: BindingPath | IModelPath<R, A>\n): IModelPath<R, true>;\nexport function convertToAbsoluteModelPath(path: BindingPath | AbsoluteModelPath): AbsoluteModelPath {\n return isModelPath(path) ? path : createAbsoluteFromMask(path, PathTokens.each);\n}\n\nexport function convertToRelativeModelPath<R extends boolean, A extends boolean>(\n path: BindingPath | IModelPath<R, A>\n): IModelPath<R, false>;\nexport function convertToRelativeModelPath(path: BindingPath | RelativeModelPath): RelativeModelPath {\n return isModelPath(path) ? path : createRelativeFromMask(path, PathTokens.each);\n}\n\nexport function emptyModelPath(): RelativeResolvedModelPath {\n return new ModelPathImpl<true, false>([], false);\n}\n\nexport function emptyAbsoluteModelPath(): AbsoluteResolvedModelPath {\n return new ModelPathImpl<true, true>([], true);\n}\n\nexport function createModelPath(path: string, absolute: true): AbsoluteResolvedModelPath;\nexport function createModelPath(path: string, absolute: false): RelativeResolvedModelPath;\nexport function createModelPath(path: string, absolute: \"auto\"): ResolvedModelPath;\nexport function createModelPath(path: string, absolute: boolean | \"auto\"): ResolvedModelPath {\n const partPartStrings = path.split(\"/\");\n ensurePlainPathPartsDoesNotContainMultiplicity(partPartStrings);\n if (absolute === \"auto\") {\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl<true, true>(partPartStrings.slice(1), true);\n } else {\n return new ModelPathImpl<true, false>(partPartStrings, false);\n }\n }\n if (absolute && path.startsWith(\"/\")) {\n return new ModelPathImpl<true, true>(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl<true, boolean>(partPartStrings, absolute);\n}\n\nexport function createFromMask(path: string, absolute: true, multiplicitySymbol: PathToken): AbsoluteModelPath;\nexport function createFromMask(path: string, absolute: false, multiplicitySymbol: PathToken): ResolvedModelPath;\nexport function createFromMask(path: string, absolute: \"auto\", multiplicitySymbol: PathToken): ModelPath;\nexport function createFromMask(path: string, absolute: boolean | \"auto\", multiplicitySymbol: PathToken): ModelPath {\n const partPartStrings = path.split(\"/\").map(x => (x === \"*\" ? multiplicitySymbol : x));\n if (absolute === \"auto\") {\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl(partPartStrings.slice(1), true);\n } else {\n return new ModelPathImpl(partPartStrings, false);\n }\n }\n if (absolute && path.startsWith(\"/\")) {\n return new ModelPathImpl(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl(partPartStrings, absolute);\n}\n\nexport function createAbsoluteFromMask(path: string, multiplicitySymbol: PathToken): AbsoluteModelPath {\n const partPartStrings = path.split(\"/\").map(x => (x === \"*\" ? multiplicitySymbol : x));\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl(partPartStrings, true);\n}\n\nexport function createRelativeFromMask(path: string, multiplicitySymbol: PathToken): RelativeModelPath {\n const partPartStrings = path.split(\"/\").map(x => (x === \"*\" ? multiplicitySymbol : x));\n return new ModelPathImpl(partPartStrings, false);\n}\n\nfunction ensurePlainPathPartsDoesNotContainMultiplicity(parts: readonly string[]): void {\n if (parts.some(x => x === \"*\")) {\n throw new Error(\"Path must not contain * symbol\");\n }\n}\n\nexport function createAbsolute(path: string): AbsoluteResolvedModelPath {\n const partPartStrings = path.split(\"/\");\n ensurePlainPathPartsDoesNotContainMultiplicity(partPartStrings);\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl<true, true>(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl<true, true>(partPartStrings, true);\n}\n\nexport function createRelativeResolvedModelPath(path: string): RelativeResolvedModelPath {\n const partPartStrings = path.split(\"/\");\n ensurePlainPathPartsDoesNotContainMultiplicity(partPartStrings);\n return new ModelPathImpl<true, false>(partPartStrings, false);\n}\n\nexport function createAbsoluteFromTokens(tokens: PathToken[]): AbsoluteModelPath {\n return new ModelPathImpl<false, true>(tokens, true);\n}\n\nexport function createAbsoluteResolvedFromTokens(tokens: readonly string[]): AbsoluteResolvedModelPath {\n ensurePlainPathPartsDoesNotContainMultiplicity(tokens);\n return new ModelPathImpl<true, true>(tokens, true);\n}\n\nexport function createRelativeFromTokens(tokens: readonly string[]): RelativeResolvedModelPath;\nexport function createRelativeFromTokens(tokens: readonly PathToken[]): RelativeModelPath;\nexport function createRelativeFromTokens(tokens: readonly PathToken[]): RelativeModelPath {\n return new ModelPathImpl<false, false>(tokens, false);\n}\n\nexport function joinModelPaths(...parts: Array<ModelPath | PathToken | PathToken[]>): ModelPath {\n let absolute = false;\n let resultParts: PathToken[] = [];\n for (const joinItem of parts) {\n if (typeof joinItem === \"string\") {\n resultParts.push(joinItem);\n } else if (isModelPath(joinItem)) {\n if (joinItem.isAbsolute()) {\n absolute = true;\n resultParts = [...joinItem.getPathPartsAsArray()];\n } else {\n resultParts.push(...joinItem.getPathPartsAsArray());\n }\n } else if (Array.isArray(joinItem)) {\n resultParts.push(...joinItem);\n } else if (PathTokens.isMultiToken(joinItem)) {\n resultParts.push(joinItem);\n }\n }\n\n return new ModelPathImpl(resultParts, absolute);\n}\n\nexport interface IModelPath<TResolved extends boolean, TAbsolute extends boolean>\n extends IEquatable<IModelPath<boolean, boolean>> {\n readonly resolved: TResolved;\n readonly absolute: TAbsolute;\n\n isEquals(modelPath: ModelPath, eachCurrentCollision?: EachCurrentCollision): boolean;\n getHash(eachCurrentCollision?: EachCurrentCollision): number;\n\n isResolved(): this is IModelPath<true, TAbsolute>;\n isAbsolute(): this is IModelPath<TResolved, true>;\n toAbsolute(): IModelPath<TResolved, true>;\n\n joinWith(...path: string[]): IModelPath<TResolved, TAbsolute>;\n joinWith(...path: PathToken[]): IModelPath<boolean, TAbsolute>;\n joinWith(...path: Array<ResolvedModelPath | string>): IModelPath<TResolved, TAbsolute>;\n joinWith(...path: Array<AbsoluteResolvedModelPath | string>): IModelPath<TResolved, true>;\n joinWith(...path: Array<ModelPath | PathToken>): IModelPath<boolean, TAbsolute>;\n\n getPathParts(): Iterable<PathTokenSpec<TResolved>>;\n getPathPartsAsArray(): ReadonlyArray<PathTokenSpec<TResolved>>;\n getSimpleTokensStrict(): Iterable<SimplePathToken>;\n getSimpleTokensAsArrayStrict(): readonly SimplePathToken[];\n\n resolveAll(instance: string): ModelPath;\n isContainIteration(): boolean;\n isContainCurrentIteration(): boolean;\n isContainCurrentOrEachIteration(): boolean;\n getLastListPath(): PathToken[];\n getPathWithoutLastIteration(): ModelPath;\n getLastIndexOfCurrentOrEachIteration(): number | -1;\n isEndsWithIteration(): boolean;\n isEndsWithCurrentIteration(): boolean;\n isIncludes(modelPath: ModelPath): boolean;\n getIterationRank(eachCurrentCollision?: EachCurrentCollision): number;\n isEmpty(): boolean;\n matchFor(modelPath: ModelPath): PathMatching;\n startsWith(modelPath: ModelPath): boolean;\n endsWith(modelPath: ModelPath): boolean;\n splitByMultiplicity(): Iterable<ResolvedModelPath | typeof EachSymbol | typeof CurrentSymbol>;\n normalize(): IModelPath<TResolved, TAbsolute>;\n toCurrentIteration(): IModelPath<TResolved, TAbsolute>;\n toEachIteration(): IModelPath<TResolved, TAbsolute>;\n getAllParentPaths(): Iterable<ModelPath>;\n trimLastStarIfLastToken(): IModelPath<TResolved, TAbsolute>;\n trimFirstStarIfLastToken(): IModelPath<TResolved, TAbsolute>;\n getSuffixPathFrom(modelFieldPath: ModelPath): RelativeModelPath;\n getParentPath(): IModelPath<TResolved, TAbsolute>;\n applyInstancesDirty(\n instances: SimplePathToken[],\n fillWithMultiplicityIfHasNoInstance?: boolean\n ): IModelPath<TResolved, TAbsolute>;\n getFirstMultiplicityInstanceNumber(): number;\n toString(): string;\n toLegacyPath(): string;\n}\n\nexport type ModelPath = IModelPath<boolean, boolean>;\nexport type ResolvedModelPath = IModelPath<true, boolean>;\nexport type AbsoluteModelPath = IModelPath<boolean, true>;\nexport type AbsoluteResolvedModelPath = IModelPath<true, true>;\n\nexport type RelativeModelPath = IModelPath<boolean, false>;\nexport type RelativeResolvedModelPath = IModelPath<true, false>;\n\ntype PathTokenSpec<TResolved extends boolean> = TResolved extends true ? string : PathToken;\n\ntype PathTokensSpec<TResolved extends boolean> = Array<PathTokenSpec<TResolved>>;\n\ntype ReadonlyPathTokensSpec<TResolved extends boolean> = ReadonlyArray<PathTokenSpec<TResolved>>;\n\nfunction isAllTokensResolved<TResolved extends boolean>(tokens: ReadonlyPathTokensSpec<TResolved>): TResolved {\n // Я что-то немогу сообразить как тут всё строго написать...\n // @ts-expect-error\n return tokens.every(PathTokens.isSimpleToken);\n}\n\nexport class ModelPathImpl<TResolved extends boolean, TAbsolute extends boolean>\n implements IEquatable<ModelPath>, IModelPath<TResolved, TAbsolute>\n{\n private readonly tokens: ReadonlyPathTokensSpec<TResolved>;\n public readonly absolute: TAbsolute;\n private legacyPath: undefined | string;\n private cachedHash: number | undefined;\n\n public constructor(pathParts: ReadonlyPathTokensSpec<TResolved>, absolute: TAbsolute) {\n this.tokens = pathParts.filter(x => x !== \"\");\n this.absolute = absolute;\n }\n\n public get resolved(): TResolved {\n return isAllTokensResolved(this.tokens);\n }\n\n public getPathParts(): Iterable<PathTokenSpec<TResolved>> {\n return this.tokens;\n }\n\n public getPathPartsAsArray(): ReadonlyArray<PathTokenSpec<TResolved>> {\n return this.tokens;\n }\n\n public *getSimpleTokensStrict(): Iterable<SimplePathToken> {\n for (const token of this.tokens) {\n if (!PathTokens.isSimpleToken(token)) {\n throw new Error(\"Path must not contain spec tokens\");\n }\n yield token;\n }\n }\n\n public getSimpleTokensAsArrayStrict(): readonly SimplePathToken[] {\n for (const token of this.tokens) {\n if (!PathTokens.isSimpleToken(token)) {\n throw new Error(\"Path must not contain spec tokens\");\n }\n }\n // Проверка выше гараентирует что будут только SimplePathToken.\n // Все map и filter убраны для производительности\n // @ts-ignore\n return this.tokens;\n }\n\n public joinWith(...path: string[]): IModelPath<TResolved, TAbsolute>;\n public joinWith(...path: PathToken[]): IModelPath<boolean, TAbsolute>;\n public joinWith(...path: Array<ResolvedModelPath | string>): IModelPath<TResolved, TAbsolute>;\n public joinWith(...path: Array<AbsoluteResolvedModelPath | string>): IModelPath<TResolved, true>;\n public joinWith(...path: Array<ModelPath | PathToken>): IModelPath<boolean, TAbsolute>;\n public joinWith(...path: Array<ModelPath | PathToken>): IModelPath<boolean, boolean> {\n return joinModelPaths(this, ...path);\n }\n\n public getFirstMultiplicityInstanceNumber(): number {\n const firstIndex = this.tokens.find(PathTokens.isInstanceToken);\n return firstIndex ? Number(firstIndex) : -1;\n }\n\n public isResolved(): this is IModelPath<true, TAbsolute> {\n return isAllTokensResolved(this.tokens);\n }\n\n public resolveAll(instance: string): ModelPath {\n const tokens = this.tokens.map(token => {\n if (PathTokens.isSimpleToken(token)) {\n return token;\n } else {\n return instance;\n }\n });\n\n return new ModelPathImpl(tokens, this.absolute);\n }\n\n public isContainIteration(): boolean {\n return this.tokens.some(x => x === PathTokens.each);\n }\n\n public isContainCurrentIteration(): boolean {\n return this.tokens.some(x => x === PathTokens.current);\n }\n\n public isContainCurrentOrEachIteration(): boolean {\n return this.tokens.some(x => x === PathTokens.current || x === PathTokens.each);\n }\n\n public getLastListPath(): PathToken[] {\n if (!this.isContainIteration()) {\n throw new Error(\"Path must contain iteration\");\n }\n\n // Проверка выше гарантирует, что будет PathTokens.each\n // @ts-ignore\n const lastIterationIndex = this.tokens.lastIndexOf(PathTokens.each);\n return this.tokens.slice(0, lastIterationIndex);\n }\n\n public getPathWithoutLastIteration(): ModelPath {\n if (!this.isContainCurrentOrEachIteration()) {\n return this;\n }\n\n const lastIterationIndex = this.getLastIndexOfCurrentOrEachIteration();\n if (lastIterationIndex === -1) {\n throw new Error(\"Path must contain current or each iteration\");\n }\n\n const tokensWithoutLastIteration = this.tokens.slice(0, lastIterationIndex);\n\n return new ModelPathImpl(tokensWithoutLastIteration, this.absolute);\n }\n\n public getLastIndexOfCurrentOrEachIteration(): number | -1 {\n if (!this.isContainCurrentOrEachIteration()) {\n return -1;\n }\n\n // Проверка выше гарантирует, что будет PathTokens.each или PathTokens.current\n // @ts-ignore\n const lastIterationIndex = this.tokens.lastIndexOf(PathTokens.each);\n // @ts-ignore\n const lastCurrentIterationIndex = this.tokens.lastIndexOf(PathTokens.current);\n\n return Math.max(lastIterationIndex, lastCurrentIterationIndex);\n }\n\n public isEndsWithIteration(): boolean {\n const lastItem = IterUtils.last(this.tokens);\n return lastItem == PathTokens.each;\n }\n\n public isEndsWithCurrentIteration(): boolean {\n const lastItem = IterUtils.last(this.tokens);\n return lastItem == PathTokens.current;\n }\n\n public isAbsolute(): this is IModelPath<TResolved, true> {\n return this.absolute;\n }\n\n public toString(): string {\n if (this.tokens.length === 0) {\n return \"\";\n }\n return (this.absolute ? \"/\" : \"\") + this.tokens.map(x => this.pathPartToString(x)).join(\"/\");\n }\n\n public toLegacyPath(): string {\n return this.legacyPath ?? (this.legacyPath = this.tokens.map(x => this.pathPartToString(x)).join(\"/\"));\n }\n\n public isEquals(\n modelPath: ModelPath,\n eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame\n ): boolean {\n if (eachCurrentCollision === EachCurrentCollision.AreSame) {\n return this.toLegacyPath() === modelPath.toLegacyPath();\n } else {\n return (\n this.isAbsolute() === modelPath.isAbsolute() &&\n Iterator.from(IterUtils.zip(this.getPathParts(), modelPath.getPathParts())).every(\n ([t1, t2]) => t1 === t2\n )\n );\n }\n }\n\n /**\n * Всегда целое положительное беззнаковое 32-битное число\n */\n public getHash(eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame): number {\n if (this.cachedHash == undefined) {\n let hash = 5381;\n for (const token of reverseArray(this.tokens)) {\n let currentStr: string;\n if (PathTokens.isSimpleToken(token)) {\n currentStr = token;\n } else {\n if (eachCurrentCollision === EachCurrentCollision.AreDifferent) {\n currentStr = token === PathTokens.each ? \"*\" : \"!\";\n } else {\n currentStr = \"*\";\n }\n }\n let stringIndex = currentStr.length;\n while (stringIndex) {\n // tslint:disable-next-line:no-bitwise\n hash = (hash * 33) ^ currentStr.charCodeAt(--stringIndex);\n }\n }\n\n /*\n tslint:disable-next-line:no-bitwise\n JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n integers. Since we want the results to be always positive, convert the\n signed int to an unsigned by doing an unsigned bitshift.\n */\n this.cachedHash = hash >>> 0;\n }\n return this.cachedHash;\n }\n\n public isIncludes(modelPath: ModelPath): boolean {\n const targetTokens = modelPath.getPathPartsAsArray();\n if (this.tokens.length !== targetTokens.length) {\n return false;\n }\n for (let i = 0; i < this.tokens.length; i++) {\n const leftPart = this.tokens[i];\n const rightPart = targetTokens[i];\n if (typeof leftPart === \"string\") {\n if (typeof rightPart === \"string\") {\n if (leftPart !== rightPart) {\n return false;\n }\n continue;\n } else {\n return false;\n }\n } else if (leftPart === PathTokens.current || leftPart === PathTokens.each) {\n if (typeof rightPart === \"string\") {\n if (!isFinite(Number(rightPart))) {\n return false;\n }\n continue;\n } else {\n if (rightPart !== PathTokens.current && rightPart !== PathTokens.each) {\n return false;\n }\n continue;\n }\n }\n }\n return true;\n }\n\n public getIterationRank(eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreDifferent): number {\n return count(\n Iterator.from(this.tokens).filter(x =>\n eachCurrentCollision == EachCurrentCollision.AreDifferent\n ? x === PathTokens.each\n : PathTokens.isMultiToken(x)\n )\n );\n }\n\n public isEmpty(): boolean {\n return this.tokens.length === 0;\n }\n\n public matchFor(modelPath: ModelPath): PathMatching {\n if (!this.isAbsolute()) {\n throw new Error(`Cannot match non absolute path '${this.toString()}'`);\n }\n if (!modelPath.isAbsolute()) {\n throw new Error(`Cannot match non absolute path '${modelPath.toString()}'`);\n }\n return PathMatcher.match(this.tokens, modelPath.getPathPartsAsArray());\n }\n\n public startsWith(modelPath: ModelPath): boolean {\n const thisParts = this.getPathPartsAsArray();\n const otherParts = modelPath.getPathPartsAsArray();\n return otherParts.every((value, index) => value === thisParts[index]);\n }\n\n public endsWith(modelPath: ModelPath): boolean {\n const thisParts = this.getPathPartsAsArray().slice().reverse();\n const otherParts = modelPath.getPathPartsAsArray().slice().reverse();\n return otherParts.every((value, index) => value === thisParts[index]);\n }\n\n public *splitByMultiplicity(): Iterable<ResolvedModelPath | typeof EachSymbol | typeof CurrentSymbol> {\n let lastSimpleParts = new ModelPathBuilder(this.isAbsolute());\n for (const token of this.tokens) {\n if (PathTokens.isSimpleToken(token)) {\n lastSimpleParts.append(token);\n } else {\n if (!lastSimpleParts.empty) {\n yield lastSimpleParts.toResolvedPath();\n lastSimpleParts = new ModelPathBuilder(false);\n }\n yield token;\n }\n }\n if (!lastSimpleParts.empty) {\n yield lastSimpleParts.toResolvedPath();\n }\n }\n\n public normalize(): IModelPath<TResolved, TAbsolute> {\n const resultTokens: PathTokensSpec<TResolved> = [];\n for (const pathPart of this.tokens) {\n if (pathPart === \"..\") {\n if (!resultTokens.pop()) {\n if (this.isAbsolute()) {\n throw new Error(`Path is invalid '${this.toString()}'`);\n } else {\n resultTokens.push(\"..\");\n }\n }\n continue;\n }\n\n if (pathPart === \".\") {\n continue;\n }\n resultTokens.push(pathPart);\n }\n return new ModelPathImpl<TResolved, TAbsolute>(resultTokens, this.absolute);\n }\n\n /**\n * @summary Спецификаторы множественности Each заменяет на Current\n */\n public toCurrentIteration(): IModelPath<TResolved, TAbsolute> {\n if (this.isResolved()) {\n return this;\n } else {\n // NOTE Тут не получается наложить дискриминатор\n // @ts-expect-error\n const pathParts: PathTokensSpec<TResolved> = this.tokens.map(x =>\n x === PathTokens.each ? PathTokens.current : x\n );\n return new ModelPathImpl<TResolved, TAbsolute>(pathParts, this.absolute);\n }\n }\n\n public toEachIteration(): IModelPath<TResolved, TAbsolute> {\n if (this.isResolved()) {\n return this;\n } else {\n // NOTE Тут не получается наложить дискриминатор\n // @ts-expect-error\n const pathParts: PathTokensSpec<TResolved> = this.tokens.map(x =>\n x === PathTokens.current ? PathTokens.each : x\n );\n return new ModelPathImpl<TResolved, TAbsolute>(pathParts, this.absolute);\n }\n }\n\n public toAbsolute(): IModelPath<TResolved, true> {\n if (!this.absolute) {\n throw new Error(`Path '${this.toLegacyPath()} is not absolute'`);\n }\n return new ModelPathImpl<TResolved, true>(this.tokens, true);\n }\n\n public *getAllParentPaths(): Iterable<ModelPath> {\n const result = new ModelPathBuilder(this.isAbsolute());\n for (const token of IterUtils.skipLast(this.getPathParts(), 1)) {\n result.append(token);\n yield result.toPath();\n }\n }\n\n public trimLastStarIfLastToken(): IModelPath<TResolved, TAbsolute> {\n const lastItem = IterUtils.last(this.tokens);\n if (lastItem != undefined && PathTokens.isMultiToken(lastItem)) {\n return new ModelPathImpl(this.tokens.slice(0, -1), this.absolute);\n }\n return this;\n }\n\n public trimFirstStarIfLastToken(): IModelPath<TResolved, TAbsolute> {\n const firstItem = IterUtils.first(this.tokens);\n if (firstItem != undefined && PathTokens.isMultiToken(firstItem)) {\n return new ModelPathImpl(this.tokens.slice(1), this.absolute);\n }\n return this;\n }\n\n public getSuffixPathFrom(modelFieldPath: ModelPath): RelativeModelPath {\n return createRelativeFromTokens(\n modelFieldPath\n .matchFor(this)\n .map(x => (x.kind === MatchKind.DifferentSuffix ? x.source : undefined))\n .filter(isNotNullOrUndefined)\n .flatMap(x => x.getPathPartsAsArray())\n );\n }\n\n public getParentPath(): IModelPath<TResolved, TAbsolute> {\n const result = new ModelPathBuilder(this.absolute);\n for (const token of IterUtils.skipLast(this.getPathParts(), 1)) {\n result.append(token);\n }\n // Тут получается так, что по другому никак\n // @ts-expect-error\n return result.toPath();\n }\n\n public applyInstancesDirty(\n instances: SimplePathToken[],\n fillWithMultiplicityIfHasNoInstance?: boolean\n ): IModelPath<TResolved, TAbsolute> {\n if (this.isResolved() || instances.length === 0) {\n return this;\n }\n let instanceCounter = 0;\n const result = new ModelPathBuilder(true);\n for (const token of this.getPathParts()) {\n if (PathTokens.isMultiToken(token) && instanceCounter < instances.length) {\n const instanceOrEach =\n instances[instanceCounter] ??\n (fillWithMultiplicityIfHasNoInstance == true ? PathTokens.each : reject());\n result.append(instanceOrEach);\n instanceCounter++;\n } else {\n result.append(token);\n }\n }\n // Тут получается так, что по другому никак\n // @ts-expect-error\n return result.toPath();\n }\n\n private pathPartToString(pathPart: PathToken): string {\n if (typeof pathPart === \"string\") {\n return pathPart;\n }\n if (pathPart === PathTokens.each) {\n return \"*\";\n }\n if (pathPart === PathTokens.current) {\n return \"*\";\n }\n throw new Error(`Unknown path part specified: ${ensureAndGetString(pathPart)}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModelPath.js","names":["_IterableUtils","require","_TypingUtils","_EachCurrentCollision","_ModelPathBuilder","_PathMatcher","EachSymbol","Symbol","for","CurrentSymbol","PathTokens","isMultiToken","part","each","current","isSimpleToken","isInstanceToken","test","isInstanceTokenOrInstancesSpec","exports","isModelPath","path","ModelPathImpl","convertToLegacyPath","toLegacyPath","convertToAbsoluteModelPath","createAbsoluteFromMask","convertToRelativeModelPath","createRelativeFromMask","emptyModelPath","emptyAbsoluteModelPath","createModelPath","absolute","partPartStrings","split","ensurePlainPathPartsDoesNotContainMultiplicity","startsWith","slice","createFromMask","multiplicitySymbol","map","x","parts","some","Error","createAbsolute","createRelativeResolvedModelPath","createAbsoluteFromTokens","tokens","createAbsoluteResolvedFromTokens","createRelativeFromTokens","joinModelPaths","resultParts","joinItem","push","isAbsolute","getPathPartsAsArray","Array","isArray","isAllTokensResolved","every","constructor","pathParts","legacyPath","cachedHash","filter","resolved","getPathParts","getSimpleTokensStrict","token","getSimpleTokensAsArrayStrict","joinWith","getFirstMultiplicityInstanceNumber","firstIndex","find","Number","isResolved","resolveAll","instance","isContainIteration","isContainCurrentIteration","isContainCurrentOrEachIteration","getLastListPath","lastIterationIndex","lastIndexOf","getPathWithoutLastIteration","getLastIndexOfCurrentOrEachIteration","tokensWithoutLastIteration","lastCurrentIterationIndex","Math","max","isEndsWithIteration","lastItem","IterUtils","last","isEndsWithCurrentIteration","toString","length","pathPartToString","join","_this$legacyPath","isEquals","modelPath","eachCurrentCollision","EachCurrentCollision","AreSame","Iterator","from","zip","t1","t2","getHash","undefined","hash","reverseArray","currentStr","AreDifferent","stringIndex","charCodeAt","isIncludes","targetTokens","i","leftPart","rightPart","isFinite","getIterationRank","count","isEmpty","matchFor","PathMatcher","match","thisParts","otherParts","value","index","endsWith","reverse","splitByMultiplicity","lastSimpleParts","ModelPathBuilder","append","empty","toResolvedPath","normalize","resultTokens","pathPart","pop","toCurrentIteration","toEachIteration","toAbsolute","getAllParentPaths","result","skipLast","toPath","trimLastStarIfLastToken","trimFirstStarIfLastToken","firstItem","first","getSuffixPathFrom","modelFieldPath","kind","MatchKind","DifferentSuffix","source","isNotNullOrUndefined","flatMap","getParentPath","applyInstancesDirty","instances","fillWithMultiplicityIfHasNoInstance","instanceCounter","_instances$instanceCo","instanceOrEach","reject","ensureAndGetString"],"sources":["../../../../Common/ModelPath/ModelPath.ts"],"sourcesContent":["import { BindingPath } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { count, IterUtils, reverseArray } from \"../IterableUtils\";\nimport { ensureAndGetString, isNotNullOrUndefined, reject } from \"../TypingUtils\";\n\nimport { EachCurrentCollision } from \"./EachCurrentCollision\";\nimport { ModelPathBuilder } from \"./ModelPathBuilder\";\nimport { MatchKind, PathMatcher, PathMatching } from \"./PathMatcher\";\nimport { IEquatable } from \"./IEquatable\";\n\nconst EachSymbol = Symbol.for(\"__EACH__\");\nconst CurrentSymbol = Symbol.for(\"__CURRENT__\");\n\nexport class PathTokens {\n public static each: typeof EachSymbol = EachSymbol;\n public static current: typeof CurrentSymbol = CurrentSymbol;\n\n public static isMultiToken(part: undefined | PathToken): part is typeof EachSymbol | typeof CurrentSymbol {\n return part === PathTokens.each || part === PathTokens.current;\n }\n\n public static isSimpleToken(part: undefined | PathToken): part is string {\n return typeof part === \"string\";\n }\n\n public static isInstanceToken(part: undefined | PathToken): part is string {\n return typeof part === \"string\" && /^\\d+$/.test(part);\n }\n\n public static isInstanceTokenOrInstancesSpec(part: undefined | PathToken): part is string {\n return typeof part === \"string\" && (/^\\d+$/.test(part) || /^\\[(\\d+\\,?)+\\]$/i.test(part));\n }\n}\n\nexport type SimplePathToken = string;\n\nexport type PathToken = SimplePathToken | typeof EachSymbol | typeof CurrentSymbol;\n\nexport function isModelPath(path: BindingPath | ModelPath | unknown): path is ModelPath {\n return typeof path !== \"string\" && path instanceof ModelPathImpl;\n}\n\nexport function convertToLegacyPath(path: BindingPath | ModelPath): BindingPath {\n return isModelPath(path) ? path.toLegacyPath() : path;\n}\n\nexport function convertToAbsoluteModelPath<R extends boolean, A extends boolean>(\n path: BindingPath | IModelPath<R, A>\n): IModelPath<R, true>;\nexport function convertToAbsoluteModelPath(path: BindingPath | AbsoluteModelPath): AbsoluteModelPath {\n return isModelPath(path) ? path : createAbsoluteFromMask(path, PathTokens.each);\n}\n\nexport function convertToRelativeModelPath<R extends boolean, A extends boolean>(\n path: BindingPath | IModelPath<R, A>\n): IModelPath<R, false>;\nexport function convertToRelativeModelPath(path: BindingPath | RelativeModelPath): RelativeModelPath {\n return isModelPath(path) ? path : createRelativeFromMask(path, PathTokens.each);\n}\n\nexport function emptyModelPath(): RelativeResolvedModelPath {\n return new ModelPathImpl<true, false>([], false);\n}\n\nexport function emptyAbsoluteModelPath(): AbsoluteResolvedModelPath {\n return new ModelPathImpl<true, true>([], true);\n}\n\nexport function createModelPath(path: string, absolute: true): AbsoluteResolvedModelPath;\nexport function createModelPath(path: string, absolute: false): RelativeResolvedModelPath;\nexport function createModelPath(path: string, absolute: \"auto\"): ResolvedModelPath;\nexport function createModelPath(path: string, absolute: boolean | \"auto\"): ResolvedModelPath {\n const partPartStrings = path.split(\"/\");\n ensurePlainPathPartsDoesNotContainMultiplicity(partPartStrings);\n if (absolute === \"auto\") {\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl<true, true>(partPartStrings.slice(1), true);\n } else {\n return new ModelPathImpl<true, false>(partPartStrings, false);\n }\n }\n if (absolute && path.startsWith(\"/\")) {\n return new ModelPathImpl<true, true>(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl<true, boolean>(partPartStrings, absolute);\n}\n\nexport function createFromMask(path: string, absolute: true, multiplicitySymbol: PathToken): AbsoluteModelPath;\nexport function createFromMask(path: string, absolute: false, multiplicitySymbol: PathToken): ResolvedModelPath;\nexport function createFromMask(path: string, absolute: \"auto\", multiplicitySymbol: PathToken): ModelPath;\nexport function createFromMask(path: string, absolute: boolean | \"auto\", multiplicitySymbol: PathToken): ModelPath {\n const partPartStrings = path.split(\"/\").map(x => (x === \"*\" ? multiplicitySymbol : x));\n if (absolute === \"auto\") {\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl(partPartStrings.slice(1), true);\n } else {\n return new ModelPathImpl(partPartStrings, false);\n }\n }\n if (absolute && path.startsWith(\"/\")) {\n return new ModelPathImpl(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl(partPartStrings, absolute);\n}\n\nexport function createAbsoluteFromMask(path: string, multiplicitySymbol: PathToken): AbsoluteModelPath {\n const partPartStrings = path.split(\"/\").map(x => (x === \"*\" ? multiplicitySymbol : x));\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl(partPartStrings, true);\n}\n\nexport function createRelativeFromMask(path: string, multiplicitySymbol: PathToken): RelativeModelPath {\n const partPartStrings = path.split(\"/\").map(x => (x === \"*\" ? multiplicitySymbol : x));\n return new ModelPathImpl(partPartStrings, false);\n}\n\nfunction ensurePlainPathPartsDoesNotContainMultiplicity(parts: readonly string[]): void {\n if (parts.some(x => x === \"*\")) {\n throw new Error(\"Path must not contain * symbol\");\n }\n}\n\nexport function createAbsolute(path: string): AbsoluteResolvedModelPath {\n const partPartStrings = path.split(\"/\");\n ensurePlainPathPartsDoesNotContainMultiplicity(partPartStrings);\n if (path.startsWith(\"/\")) {\n return new ModelPathImpl<true, true>(partPartStrings.slice(1), true);\n }\n return new ModelPathImpl<true, true>(partPartStrings, true);\n}\n\nexport function createRelativeResolvedModelPath(path: string): RelativeResolvedModelPath {\n const partPartStrings = path.split(\"/\");\n ensurePlainPathPartsDoesNotContainMultiplicity(partPartStrings);\n return new ModelPathImpl<true, false>(partPartStrings, false);\n}\n\nexport function createAbsoluteFromTokens(tokens: PathToken[]): AbsoluteModelPath {\n return new ModelPathImpl<false, true>(tokens, true);\n}\n\nexport function createAbsoluteResolvedFromTokens(tokens: readonly string[]): AbsoluteResolvedModelPath {\n ensurePlainPathPartsDoesNotContainMultiplicity(tokens);\n return new ModelPathImpl<true, true>(tokens, true);\n}\n\nexport function createRelativeFromTokens(tokens: readonly string[]): RelativeResolvedModelPath;\nexport function createRelativeFromTokens(tokens: readonly PathToken[]): RelativeModelPath;\nexport function createRelativeFromTokens(tokens: readonly PathToken[]): RelativeModelPath {\n return new ModelPathImpl<false, false>(tokens, false);\n}\n\nexport function joinModelPaths(...parts: Array<ModelPath | PathToken | PathToken[]>): ModelPath {\n let absolute = false;\n let resultParts: PathToken[] = [];\n for (const joinItem of parts) {\n if (typeof joinItem === \"string\") {\n resultParts.push(joinItem);\n } else if (isModelPath(joinItem)) {\n if (joinItem.isAbsolute()) {\n absolute = true;\n resultParts = [...joinItem.getPathPartsAsArray()];\n } else {\n resultParts.push(...joinItem.getPathPartsAsArray());\n }\n } else if (Array.isArray(joinItem)) {\n resultParts.push(...joinItem);\n } else if (PathTokens.isMultiToken(joinItem)) {\n resultParts.push(joinItem);\n }\n }\n\n return new ModelPathImpl(resultParts, absolute);\n}\n\nexport interface IModelPath<TResolved extends boolean, TAbsolute extends boolean>\n extends IEquatable<IModelPath<boolean, boolean>> {\n readonly resolved: TResolved;\n readonly absolute: TAbsolute;\n\n isEquals(modelPath: ModelPath, eachCurrentCollision?: EachCurrentCollision): boolean;\n getHash(eachCurrentCollision?: EachCurrentCollision): number;\n\n isResolved(): this is IModelPath<true, TAbsolute>;\n isAbsolute(): this is IModelPath<TResolved, true>;\n toAbsolute(): IModelPath<TResolved, true>;\n\n joinWith(...path: string[]): IModelPath<TResolved, TAbsolute>;\n joinWith(...path: PathToken[]): IModelPath<boolean, TAbsolute>;\n joinWith(...path: Array<ResolvedModelPath | string>): IModelPath<TResolved, TAbsolute>;\n joinWith(...path: Array<AbsoluteResolvedModelPath | string>): IModelPath<TResolved, true>;\n joinWith(...path: Array<ModelPath | PathToken>): IModelPath<boolean, TAbsolute>;\n\n getPathParts(): Iterable<PathTokenSpec<TResolved>>;\n getPathPartsAsArray(): ReadonlyArray<PathTokenSpec<TResolved>>;\n getSimpleTokensStrict(): Iterable<SimplePathToken>;\n getSimpleTokensAsArrayStrict(): readonly SimplePathToken[];\n\n resolveAll(instance: string): ModelPath;\n isContainIteration(): boolean;\n isContainCurrentIteration(): boolean;\n isContainCurrentOrEachIteration(): boolean;\n getLastListPath(): PathToken[];\n getPathWithoutLastIteration(): ModelPath;\n getLastIndexOfCurrentOrEachIteration(): number | -1;\n isEndsWithIteration(): boolean;\n isEndsWithCurrentIteration(): boolean;\n isIncludes(modelPath: ModelPath): boolean;\n getIterationRank(eachCurrentCollision?: EachCurrentCollision): number;\n isEmpty(): boolean;\n matchFor(modelPath: ModelPath): PathMatching;\n startsWith(modelPath: ModelPath): boolean;\n endsWith(modelPath: ModelPath): boolean;\n splitByMultiplicity(): Iterable<ResolvedModelPath | typeof EachSymbol | typeof CurrentSymbol>;\n normalize(): IModelPath<TResolved, TAbsolute>;\n toCurrentIteration(): IModelPath<TResolved, TAbsolute>;\n toEachIteration(): IModelPath<TResolved, TAbsolute>;\n getAllParentPaths(): Iterable<ModelPath>;\n trimLastStarIfLastToken(): IModelPath<TResolved, TAbsolute>;\n trimFirstStarIfLastToken(): IModelPath<TResolved, TAbsolute>;\n getSuffixPathFrom(modelFieldPath: ModelPath): RelativeModelPath;\n getParentPath(): IModelPath<TResolved, TAbsolute>;\n applyInstancesDirty(\n instances: SimplePathToken[],\n fillWithMultiplicityIfHasNoInstance?: boolean\n ): IModelPath<TResolved, TAbsolute>;\n getFirstMultiplicityInstanceNumber(): number;\n toString(): string;\n toLegacyPath(): string;\n}\n\nexport type ModelPath = IModelPath<boolean, boolean>;\nexport type ResolvedModelPath = IModelPath<true, boolean>;\nexport type AbsoluteModelPath = IModelPath<boolean, true>;\nexport type AbsoluteResolvedModelPath = IModelPath<true, true>;\n\nexport type RelativeModelPath = IModelPath<boolean, false>;\nexport type RelativeResolvedModelPath = IModelPath<true, false>;\n\ntype PathTokenSpec<TResolved extends boolean> = TResolved extends true ? string : PathToken;\n\ntype PathTokensSpec<TResolved extends boolean> = Array<PathTokenSpec<TResolved>>;\n\ntype ReadonlyPathTokensSpec<TResolved extends boolean> = ReadonlyArray<PathTokenSpec<TResolved>>;\n\nfunction isAllTokensResolved<TResolved extends boolean>(tokens: ReadonlyPathTokensSpec<TResolved>): TResolved {\n // Я что-то немогу сообразить как тут всё строго написать...\n // @ts-expect-error\n return tokens.every(PathTokens.isSimpleToken);\n}\n\nexport class ModelPathImpl<TResolved extends boolean, TAbsolute extends boolean>\n implements IEquatable<ModelPath>, IModelPath<TResolved, TAbsolute>\n{\n private readonly tokens: ReadonlyPathTokensSpec<TResolved>;\n public readonly absolute: TAbsolute;\n private legacyPath: undefined | string;\n private cachedHash: number | undefined;\n\n public constructor(pathParts: ReadonlyPathTokensSpec<TResolved>, absolute: TAbsolute) {\n this.tokens = pathParts.filter(x => x !== \"\");\n this.absolute = absolute;\n }\n\n public get resolved(): TResolved {\n return isAllTokensResolved(this.tokens);\n }\n\n public getPathParts(): Iterable<PathTokenSpec<TResolved>> {\n return this.tokens;\n }\n\n public getPathPartsAsArray(): ReadonlyArray<PathTokenSpec<TResolved>> {\n return this.tokens;\n }\n\n public *getSimpleTokensStrict(): Iterable<SimplePathToken> {\n for (const token of this.tokens) {\n if (!PathTokens.isSimpleToken(token)) {\n throw new Error(\"Path must not contain spec tokens\");\n }\n yield token;\n }\n }\n\n public getSimpleTokensAsArrayStrict(): readonly SimplePathToken[] {\n for (const token of this.tokens) {\n if (!PathTokens.isSimpleToken(token)) {\n throw new Error(\"Path must not contain spec tokens\");\n }\n }\n // Проверка выше гараентирует что будут только SimplePathToken.\n // Все map и filter убраны для производительности\n // @ts-ignore\n return this.tokens;\n }\n\n public joinWith(...path: string[]): IModelPath<TResolved, TAbsolute>;\n public joinWith(...path: PathToken[]): IModelPath<boolean, TAbsolute>;\n public joinWith(...path: Array<ResolvedModelPath | string>): IModelPath<TResolved, TAbsolute>;\n public joinWith(...path: Array<AbsoluteResolvedModelPath | string>): IModelPath<TResolved, true>;\n public joinWith(...path: Array<ModelPath | PathToken>): IModelPath<boolean, TAbsolute>;\n public joinWith(...path: Array<ModelPath | PathToken>): IModelPath<boolean, boolean> {\n return joinModelPaths(this, ...path);\n }\n\n public getFirstMultiplicityInstanceNumber(): number {\n const firstIndex = this.tokens.find(PathTokens.isInstanceToken);\n return firstIndex ? Number(firstIndex) : -1;\n }\n\n public isResolved(): this is IModelPath<true, TAbsolute> {\n return isAllTokensResolved(this.tokens);\n }\n\n public resolveAll(instance: string): ModelPath {\n const tokens = this.tokens.map(token => {\n if (PathTokens.isSimpleToken(token)) {\n return token;\n } else {\n return instance;\n }\n });\n\n return new ModelPathImpl(tokens, this.absolute);\n }\n\n public isContainIteration(): boolean {\n return this.tokens.some(x => x === PathTokens.each);\n }\n\n public isContainCurrentIteration(): boolean {\n return this.tokens.some(x => x === PathTokens.current);\n }\n\n public isContainCurrentOrEachIteration(): boolean {\n return this.tokens.some(x => x === PathTokens.current || x === PathTokens.each);\n }\n\n public getLastListPath(): PathToken[] {\n if (!this.isContainIteration()) {\n throw new Error(\"Path must contain iteration\");\n }\n\n // Проверка выше гарантирует, что будет PathTokens.each\n // @ts-ignore\n const lastIterationIndex = this.tokens.lastIndexOf(PathTokens.each);\n return this.tokens.slice(0, lastIterationIndex);\n }\n\n public getPathWithoutLastIteration(): ModelPath {\n if (!this.isContainCurrentOrEachIteration()) {\n return this;\n }\n\n const lastIterationIndex = this.getLastIndexOfCurrentOrEachIteration();\n if (lastIterationIndex === -1) {\n throw new Error(\"Path must contain current or each iteration\");\n }\n\n const tokensWithoutLastIteration = this.tokens.slice(0, lastIterationIndex);\n\n return new ModelPathImpl(tokensWithoutLastIteration, this.absolute);\n }\n\n public getLastIndexOfCurrentOrEachIteration(): number | -1 {\n if (!this.isContainCurrentOrEachIteration()) {\n return -1;\n }\n\n // Проверка выше гарантирует, что будет PathTokens.each или PathTokens.current\n // @ts-ignore\n const lastIterationIndex = this.tokens.lastIndexOf(PathTokens.each);\n // @ts-ignore\n const lastCurrentIterationIndex = this.tokens.lastIndexOf(PathTokens.current);\n\n return Math.max(lastIterationIndex, lastCurrentIterationIndex);\n }\n\n public isEndsWithIteration(): boolean {\n const lastItem = IterUtils.last(this.tokens);\n return lastItem == PathTokens.each;\n }\n\n public isEndsWithCurrentIteration(): boolean {\n const lastItem = IterUtils.last(this.tokens);\n return lastItem == PathTokens.current;\n }\n\n public isAbsolute(): this is IModelPath<TResolved, true> {\n return this.absolute;\n }\n\n public toString(): string {\n if (this.tokens.length === 0) {\n return \"\";\n }\n return (this.absolute ? \"/\" : \"\") + this.tokens.map(x => this.pathPartToString(x)).join(\"/\");\n }\n\n public toLegacyPath(): string {\n return this.legacyPath ?? (this.legacyPath = this.tokens.map(x => this.pathPartToString(x)).join(\"/\"));\n }\n\n public isEquals(\n modelPath: ModelPath,\n eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame\n ): boolean {\n if (eachCurrentCollision === EachCurrentCollision.AreSame) {\n return this.toLegacyPath() === modelPath.toLegacyPath();\n } else {\n return (\n this.isAbsolute() === modelPath.isAbsolute() &&\n Iterator.from(IterUtils.zip(this.getPathParts(), modelPath.getPathParts())).every(\n ([t1, t2]) => t1 === t2\n )\n );\n }\n }\n\n /**\n * Всегда целое положительное беззнаковое 32-битное число\n */\n public getHash(eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame): number {\n if (this.cachedHash == undefined) {\n let hash = 5381;\n for (const token of reverseArray(this.tokens)) {\n let currentStr: string;\n if (PathTokens.isSimpleToken(token)) {\n currentStr = token;\n } else {\n if (eachCurrentCollision === EachCurrentCollision.AreDifferent) {\n currentStr = token === PathTokens.each ? \"*\" : \"!\";\n } else {\n currentStr = \"*\";\n }\n }\n let stringIndex = currentStr.length;\n while (stringIndex) {\n hash = (hash * 33) ^ currentStr.charCodeAt(--stringIndex);\n }\n }\n\n /*\n JavaScript does bitwise operations (like XOR, above) on 32-bit signed\n integers. Since we want the results to be always positive, convert the\n signed int to an unsigned by doing an unsigned bitshift.\n */\n this.cachedHash = hash >>> 0;\n }\n return this.cachedHash;\n }\n\n public isIncludes(modelPath: ModelPath): boolean {\n const targetTokens = modelPath.getPathPartsAsArray();\n if (this.tokens.length !== targetTokens.length) {\n return false;\n }\n for (let i = 0; i < this.tokens.length; i++) {\n const leftPart = this.tokens[i];\n const rightPart = targetTokens[i];\n if (typeof leftPart === \"string\") {\n if (typeof rightPart === \"string\") {\n if (leftPart !== rightPart) {\n return false;\n }\n continue;\n } else {\n return false;\n }\n } else if (leftPart === PathTokens.current || leftPart === PathTokens.each) {\n if (typeof rightPart === \"string\") {\n if (!isFinite(Number(rightPart))) {\n return false;\n }\n continue;\n } else {\n if (rightPart !== PathTokens.current && rightPart !== PathTokens.each) {\n return false;\n }\n continue;\n }\n }\n }\n return true;\n }\n\n public getIterationRank(eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreDifferent): number {\n return count(\n Iterator.from(this.tokens).filter(x =>\n eachCurrentCollision == EachCurrentCollision.AreDifferent\n ? x === PathTokens.each\n : PathTokens.isMultiToken(x)\n )\n );\n }\n\n public isEmpty(): boolean {\n return this.tokens.length === 0;\n }\n\n public matchFor(modelPath: ModelPath): PathMatching {\n if (!this.isAbsolute()) {\n throw new Error(`Cannot match non absolute path '${this.toString()}'`);\n }\n if (!modelPath.isAbsolute()) {\n throw new Error(`Cannot match non absolute path '${modelPath.toString()}'`);\n }\n return PathMatcher.match(this.tokens, modelPath.getPathPartsAsArray());\n }\n\n public startsWith(modelPath: ModelPath): boolean {\n const thisParts = this.getPathPartsAsArray();\n const otherParts = modelPath.getPathPartsAsArray();\n return otherParts.every((value, index) => value === thisParts[index]);\n }\n\n public endsWith(modelPath: ModelPath): boolean {\n const thisParts = this.getPathPartsAsArray().slice().reverse();\n const otherParts = modelPath.getPathPartsAsArray().slice().reverse();\n return otherParts.every((value, index) => value === thisParts[index]);\n }\n\n public *splitByMultiplicity(): Iterable<ResolvedModelPath | typeof EachSymbol | typeof CurrentSymbol> {\n let lastSimpleParts = new ModelPathBuilder(this.isAbsolute());\n for (const token of this.tokens) {\n if (PathTokens.isSimpleToken(token)) {\n lastSimpleParts.append(token);\n } else {\n if (!lastSimpleParts.empty) {\n yield lastSimpleParts.toResolvedPath();\n lastSimpleParts = new ModelPathBuilder(false);\n }\n yield token;\n }\n }\n if (!lastSimpleParts.empty) {\n yield lastSimpleParts.toResolvedPath();\n }\n }\n\n public normalize(): IModelPath<TResolved, TAbsolute> {\n const resultTokens: PathTokensSpec<TResolved> = [];\n for (const pathPart of this.tokens) {\n if (pathPart === \"..\") {\n if (!resultTokens.pop()) {\n if (this.isAbsolute()) {\n throw new Error(`Path is invalid '${this.toString()}'`);\n } else {\n resultTokens.push(\"..\");\n }\n }\n continue;\n }\n\n if (pathPart === \".\") {\n continue;\n }\n resultTokens.push(pathPart);\n }\n return new ModelPathImpl<TResolved, TAbsolute>(resultTokens, this.absolute);\n }\n\n /**\n * @summary Спецификаторы множественности Each заменяет на Current\n */\n public toCurrentIteration(): IModelPath<TResolved, TAbsolute> {\n if (this.isResolved()) {\n return this;\n } else {\n // NOTE Тут не получается наложить дискриминатор\n // @ts-expect-error\n const pathParts: PathTokensSpec<TResolved> = this.tokens.map(x =>\n x === PathTokens.each ? PathTokens.current : x\n );\n return new ModelPathImpl<TResolved, TAbsolute>(pathParts, this.absolute);\n }\n }\n\n public toEachIteration(): IModelPath<TResolved, TAbsolute> {\n if (this.isResolved()) {\n return this;\n } else {\n // NOTE Тут не получается наложить дискриминатор\n // @ts-expect-error\n const pathParts: PathTokensSpec<TResolved> = this.tokens.map(x =>\n x === PathTokens.current ? PathTokens.each : x\n );\n return new ModelPathImpl<TResolved, TAbsolute>(pathParts, this.absolute);\n }\n }\n\n public toAbsolute(): IModelPath<TResolved, true> {\n if (!this.absolute) {\n throw new Error(`Path '${this.toLegacyPath()} is not absolute'`);\n }\n return new ModelPathImpl<TResolved, true>(this.tokens, true);\n }\n\n public *getAllParentPaths(): Iterable<ModelPath> {\n const result = new ModelPathBuilder(this.isAbsolute());\n for (const token of IterUtils.skipLast(this.getPathParts(), 1)) {\n result.append(token);\n yield result.toPath();\n }\n }\n\n public trimLastStarIfLastToken(): IModelPath<TResolved, TAbsolute> {\n const lastItem = IterUtils.last(this.tokens);\n if (lastItem != undefined && PathTokens.isMultiToken(lastItem)) {\n return new ModelPathImpl(this.tokens.slice(0, -1), this.absolute);\n }\n return this;\n }\n\n public trimFirstStarIfLastToken(): IModelPath<TResolved, TAbsolute> {\n const firstItem = IterUtils.first(this.tokens);\n if (firstItem != undefined && PathTokens.isMultiToken(firstItem)) {\n return new ModelPathImpl(this.tokens.slice(1), this.absolute);\n }\n return this;\n }\n\n public getSuffixPathFrom(modelFieldPath: ModelPath): RelativeModelPath {\n return createRelativeFromTokens(\n modelFieldPath\n .matchFor(this)\n .map(x => (x.kind === MatchKind.DifferentSuffix ? x.source : undefined))\n .filter(isNotNullOrUndefined)\n .flatMap(x => x.getPathPartsAsArray())\n );\n }\n\n public getParentPath(): IModelPath<TResolved, TAbsolute> {\n const result = new ModelPathBuilder(this.absolute);\n for (const token of IterUtils.skipLast(this.getPathParts(), 1)) {\n result.append(token);\n }\n // Тут получается так, что по другому никак\n // @ts-expect-error\n return result.toPath();\n }\n\n public applyInstancesDirty(\n instances: SimplePathToken[],\n fillWithMultiplicityIfHasNoInstance?: boolean\n ): IModelPath<TResolved, TAbsolute> {\n if (this.isResolved() || instances.length === 0) {\n return this;\n }\n let instanceCounter = 0;\n const result = new ModelPathBuilder(true);\n for (const token of this.getPathParts()) {\n if (PathTokens.isMultiToken(token) && instanceCounter < instances.length) {\n const instanceOrEach =\n instances[instanceCounter] ??\n (fillWithMultiplicityIfHasNoInstance == true ? PathTokens.each : reject());\n result.append(instanceOrEach);\n instanceCounter++;\n } else {\n result.append(token);\n }\n }\n // Тут получается так, что по другому никак\n // @ts-expect-error\n return result.toPath();\n }\n\n private pathPartToString(pathPart: PathToken): string {\n if (typeof pathPart === \"string\") {\n return pathPart;\n }\n if (pathPart === PathTokens.each) {\n return \"*\";\n }\n if (pathPart === PathTokens.current) {\n return \"*\";\n }\n throw new Error(`Unknown path part specified: ${ensureAndGetString(pathPart)}`);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAGA,MAAMK,UAAU,GAAGC,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC;AACzC,MAAMC,aAAa,GAAGF,MAAM,CAACC,GAAG,CAAC,aAAa,CAAC;AAExC,MAAME,UAAU,CAAC;EAIpB,OAAcC,YAAYA,CAACC,IAA2B,EAAoD;IACtG,OAAOA,IAAI,KAAKF,UAAU,CAACG,IAAI,IAAID,IAAI,KAAKF,UAAU,CAACI,OAAO;EAClE;EAEA,OAAcC,aAAaA,CAACH,IAA2B,EAAkB;IACrE,OAAO,OAAOA,IAAI,KAAK,QAAQ;EACnC;EAEA,OAAcI,eAAeA,CAACJ,IAA2B,EAAkB;IACvE,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAO,CAACK,IAAI,CAACL,IAAI,CAAC;EACzD;EAEA,OAAcM,8BAA8BA,CAACN,IAA2B,EAAkB;IACtF,OAAO,OAAOA,IAAI,KAAK,QAAQ,KAAK,OAAO,CAACK,IAAI,CAACL,IAAI,CAAC,IAAI,kBAAkB,CAACK,IAAI,CAACL,IAAI,CAAC,CAAC;EAC5F;AACJ;AAACO,OAAA,CAAAT,UAAA,GAAAA,UAAA;AAnBYA,UAAU,CACLG,IAAI,GAAsBP,UAAU;AADzCI,UAAU,CAELI,OAAO,GAAyBL,aAAa;AAuBxD,SAASW,WAAWA,CAACC,IAAuC,EAAqB;EACpF,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,YAAYC,aAAa;AACpE;AAEO,SAASC,mBAAmBA,CAACF,IAA6B,EAAe;EAC5E,OAAOD,WAAW,CAACC,IAAI,CAAC,GAAGA,IAAI,CAACG,YAAY,CAAC,CAAC,GAAGH,IAAI;AACzD;AAKO,SAASI,0BAA0BA,CAACJ,IAAqC,EAAqB;EACjG,OAAOD,WAAW,CAACC,IAAI,CAAC,GAAGA,IAAI,GAAGK,sBAAsB,CAACL,IAAI,EAAEX,UAAU,CAACG,IAAI,CAAC;AACnF;AAKO,SAASc,0BAA0BA,CAACN,IAAqC,EAAqB;EACjG,OAAOD,WAAW,CAACC,IAAI,CAAC,GAAGA,IAAI,GAAGO,sBAAsB,CAACP,IAAI,EAAEX,UAAU,CAACG,IAAI,CAAC;AACnF;AAEO,SAASgB,cAAcA,CAAA,EAA8B;EACxD,OAAO,IAAIP,aAAa,CAAc,EAAE,EAAE,KAAK,CAAC;AACpD;AAEO,SAASQ,sBAAsBA,CAAA,EAA8B;EAChE,OAAO,IAAIR,aAAa,CAAa,EAAE,EAAE,IAAI,CAAC;AAClD;AAKO,SAASS,eAAeA,CAACV,IAAY,EAAEW,QAA0B,EAAqB;EACzF,MAAMC,eAAe,GAAGZ,IAAI,CAACa,KAAK,CAAC,GAAG,CAAC;EACvCC,8CAA8C,CAACF,eAAe,CAAC;EAC/D,IAAID,QAAQ,KAAK,MAAM,EAAE;IACrB,IAAIX,IAAI,CAACe,UAAU,CAAC,GAAG,CAAC,EAAE;MACtB,OAAO,IAAId,aAAa,CAAaW,eAAe,CAACI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACxE,CAAC,MAAM;MACH,OAAO,IAAIf,aAAa,CAAcW,eAAe,EAAE,KAAK,CAAC;IACjE;EACJ;EACA,IAAID,QAAQ,IAAIX,IAAI,CAACe,UAAU,CAAC,GAAG,CAAC,EAAE;IAClC,OAAO,IAAId,aAAa,CAAaW,eAAe,CAACI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;EACxE;EACA,OAAO,IAAIf,aAAa,CAAgBW,eAAe,EAAED,QAAQ,CAAC;AACtE;AAKO,SAASM,cAAcA,CAACjB,IAAY,EAAEW,QAA0B,EAAEO,kBAA6B,EAAa;EAC/G,MAAMN,eAAe,GAAGZ,IAAI,CAACa,KAAK,CAAC,GAAG,CAAC,CAACM,GAAG,CAACC,CAAC,IAAKA,CAAC,KAAK,GAAG,GAAGF,kBAAkB,GAAGE,CAAE,CAAC;EACtF,IAAIT,QAAQ,KAAK,MAAM,EAAE;IACrB,IAAIX,IAAI,CAACe,UAAU,CAAC,GAAG,CAAC,EAAE;MACtB,OAAO,IAAId,aAAa,CAACW,eAAe,CAACI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAC5D,CAAC,MAAM;MACH,OAAO,IAAIf,aAAa,CAACW,eAAe,EAAE,KAAK,CAAC;IACpD;EACJ;EACA,IAAID,QAAQ,IAAIX,IAAI,CAACe,UAAU,CAAC,GAAG,CAAC,EAAE;IAClC,OAAO,IAAId,aAAa,CAACW,eAAe,CAACI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;EAC5D;EACA,OAAO,IAAIf,aAAa,CAACW,eAAe,EAAED,QAAQ,CAAC;AACvD;AAEO,SAASN,sBAAsBA,CAACL,IAAY,EAAEkB,kBAA6B,EAAqB;EACnG,MAAMN,eAAe,GAAGZ,IAAI,CAACa,KAAK,CAAC,GAAG,CAAC,CAACM,GAAG,CAACC,CAAC,IAAKA,CAAC,KAAK,GAAG,GAAGF,kBAAkB,GAAGE,CAAE,CAAC;EACtF,IAAIpB,IAAI,CAACe,UAAU,CAAC,GAAG,CAAC,EAAE;IACtB,OAAO,IAAId,aAAa,CAACW,eAAe,CAACI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;EAC5D;EACA,OAAO,IAAIf,aAAa,CAACW,eAAe,EAAE,IAAI,CAAC;AACnD;AAEO,SAASL,sBAAsBA,CAACP,IAAY,EAAEkB,kBAA6B,EAAqB;EACnG,MAAMN,eAAe,GAAGZ,IAAI,CAACa,KAAK,CAAC,GAAG,CAAC,CAACM,GAAG,CAACC,CAAC,IAAKA,CAAC,KAAK,GAAG,GAAGF,kBAAkB,GAAGE,CAAE,CAAC;EACtF,OAAO,IAAInB,aAAa,CAACW,eAAe,EAAE,KAAK,CAAC;AACpD;AAEA,SAASE,8CAA8CA,CAACO,KAAwB,EAAQ;EACpF,IAAIA,KAAK,CAACC,IAAI,CAACF,CAAC,IAAIA,CAAC,KAAK,GAAG,CAAC,EAAE;IAC5B,MAAM,IAAIG,KAAK,CAAC,gCAAgC,CAAC;EACrD;AACJ;AAEO,SAASC,cAAcA,CAACxB,IAAY,EAA6B;EACpE,MAAMY,eAAe,GAAGZ,IAAI,CAACa,KAAK,CAAC,GAAG,CAAC;EACvCC,8CAA8C,CAACF,eAAe,CAAC;EAC/D,IAAIZ,IAAI,CAACe,UAAU,CAAC,GAAG,CAAC,EAAE;IACtB,OAAO,IAAId,aAAa,CAAaW,eAAe,CAACI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;EACxE;EACA,OAAO,IAAIf,aAAa,CAAaW,eAAe,EAAE,IAAI,CAAC;AAC/D;AAEO,SAASa,+BAA+BA,CAACzB,IAAY,EAA6B;EACrF,MAAMY,eAAe,GAAGZ,IAAI,CAACa,KAAK,CAAC,GAAG,CAAC;EACvCC,8CAA8C,CAACF,eAAe,CAAC;EAC/D,OAAO,IAAIX,aAAa,CAAcW,eAAe,EAAE,KAAK,CAAC;AACjE;AAEO,SAASc,wBAAwBA,CAACC,MAAmB,EAAqB;EAC7E,OAAO,IAAI1B,aAAa,CAAc0B,MAAM,EAAE,IAAI,CAAC;AACvD;AAEO,SAASC,gCAAgCA,CAACD,MAAyB,EAA6B;EACnGb,8CAA8C,CAACa,MAAM,CAAC;EACtD,OAAO,IAAI1B,aAAa,CAAa0B,MAAM,EAAE,IAAI,CAAC;AACtD;AAIO,SAASE,wBAAwBA,CAACF,MAA4B,EAAqB;EACtF,OAAO,IAAI1B,aAAa,CAAe0B,MAAM,EAAE,KAAK,CAAC;AACzD;AAEO,SAASG,cAAcA,CAAC,GAAGT,KAAiD,EAAa;EAC5F,IAAIV,QAAQ,GAAG,KAAK;EACpB,IAAIoB,WAAwB,GAAG,EAAE;EACjC,KAAK,MAAMC,QAAQ,IAAIX,KAAK,EAAE;IAC1B,IAAI,OAAOW,QAAQ,KAAK,QAAQ,EAAE;MAC9BD,WAAW,CAACE,IAAI,CAACD,QAAQ,CAAC;IAC9B,CAAC,MAAM,IAAIjC,WAAW,CAACiC,QAAQ,CAAC,EAAE;MAC9B,IAAIA,QAAQ,CAACE,UAAU,CAAC,CAAC,EAAE;QACvBvB,QAAQ,GAAG,IAAI;QACfoB,WAAW,GAAG,CAAC,GAAGC,QAAQ,CAACG,mBAAmB,CAAC,CAAC,CAAC;MACrD,CAAC,MAAM;QACHJ,WAAW,CAACE,IAAI,CAAC,GAAGD,QAAQ,CAACG,mBAAmB,CAAC,CAAC,CAAC;MACvD;IACJ,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAE;MAChCD,WAAW,CAACE,IAAI,CAAC,GAAGD,QAAQ,CAAC;IACjC,CAAC,MAAM,IAAI3C,UAAU,CAACC,YAAY,CAAC0C,QAAQ,CAAC,EAAE;MAC1CD,WAAW,CAACE,IAAI,CAACD,QAAQ,CAAC;IAC9B;EACJ;EAEA,OAAO,IAAI/B,aAAa,CAAC8B,WAAW,EAAEpB,QAAQ,CAAC;AACnD;AAwEA,SAAS2B,mBAAmBA,CAA4BX,MAAyC,EAAa;EAC1G;EACA;EACA,OAAOA,MAAM,CAACY,KAAK,CAAClD,UAAU,CAACK,aAAa,CAAC;AACjD;AAEO,MAAMO,aAAa,CAE1B;EAMWuC,WAAWA,CAACC,SAA4C,EAAE9B,QAAmB,EAAE;IAAA,KALrEgB,MAAM;IAAA,KACPhB,QAAQ;IAAA,KAChB+B,UAAU;IAAA,KACVC,UAAU;IAGd,IAAI,CAAChB,MAAM,GAAGc,SAAS,CAACG,MAAM,CAACxB,CAAC,IAAIA,CAAC,KAAK,EAAE,CAAC;IAC7C,IAAI,CAACT,QAAQ,GAAGA,QAAQ;EAC5B;EAEA,IAAWkC,QAAQA,CAAA,EAAc;IAC7B,OAAOP,mBAAmB,CAAC,IAAI,CAACX,MAAM,CAAC;EAC3C;EAEOmB,YAAYA,CAAA,EAAuC;IACtD,OAAO,IAAI,CAACnB,MAAM;EACtB;EAEOQ,mBAAmBA,CAAA,EAA4C;IAClE,OAAO,IAAI,CAACR,MAAM;EACtB;EAEA,CAAQoB,qBAAqBA,CAAA,EAA8B;IACvD,KAAK,MAAMC,KAAK,IAAI,IAAI,CAACrB,MAAM,EAAE;MAC7B,IAAI,CAACtC,UAAU,CAACK,aAAa,CAACsD,KAAK,CAAC,EAAE;QAClC,MAAM,IAAIzB,KAAK,CAAC,mCAAmC,CAAC;MACxD;MACA,MAAMyB,KAAK;IACf;EACJ;EAEOC,4BAA4BA,CAAA,EAA+B;IAC9D,KAAK,MAAMD,KAAK,IAAI,IAAI,CAACrB,MAAM,EAAE;MAC7B,IAAI,CAACtC,UAAU,CAACK,aAAa,CAACsD,KAAK,CAAC,EAAE;QAClC,MAAM,IAAIzB,KAAK,CAAC,mCAAmC,CAAC;MACxD;IACJ;IACA;IACA;IACA;IACA,OAAO,IAAI,CAACI,MAAM;EACtB;EAOOuB,QAAQA,CAAC,GAAGlD,IAAkC,EAAgC;IACjF,OAAO8B,cAAc,CAAC,IAAI,EAAE,GAAG9B,IAAI,CAAC;EACxC;EAEOmD,kCAAkCA,CAAA,EAAW;IAChD,MAAMC,UAAU,GAAG,IAAI,CAACzB,MAAM,CAAC0B,IAAI,CAAChE,UAAU,CAACM,eAAe,CAAC;IAC/D,OAAOyD,UAAU,GAAGE,MAAM,CAACF,UAAU,CAAC,GAAG,CAAC,CAAC;EAC/C;EAEOG,UAAUA,CAAA,EAAwC;IACrD,OAAOjB,mBAAmB,CAAC,IAAI,CAACX,MAAM,CAAC;EAC3C;EAEO6B,UAAUA,CAACC,QAAgB,EAAa;IAC3C,MAAM9B,MAAM,GAAG,IAAI,CAACA,MAAM,CAACR,GAAG,CAAC6B,KAAK,IAAI;MACpC,IAAI3D,UAAU,CAACK,aAAa,CAACsD,KAAK,CAAC,EAAE;QACjC,OAAOA,KAAK;MAChB,CAAC,MAAM;QACH,OAAOS,QAAQ;MACnB;IACJ,CAAC,CAAC;IAEF,OAAO,IAAIxD,aAAa,CAAC0B,MAAM,EAAE,IAAI,CAAChB,QAAQ,CAAC;EACnD;EAEO+C,kBAAkBA,CAAA,EAAY;IACjC,OAAO,IAAI,CAAC/B,MAAM,CAACL,IAAI,CAACF,CAAC,IAAIA,CAAC,KAAK/B,UAAU,CAACG,IAAI,CAAC;EACvD;EAEOmE,yBAAyBA,CAAA,EAAY;IACxC,OAAO,IAAI,CAAChC,MAAM,CAACL,IAAI,CAACF,CAAC,IAAIA,CAAC,KAAK/B,UAAU,CAACI,OAAO,CAAC;EAC1D;EAEOmE,+BAA+BA,CAAA,EAAY;IAC9C,OAAO,IAAI,CAACjC,MAAM,CAACL,IAAI,CAACF,CAAC,IAAIA,CAAC,KAAK/B,UAAU,CAACI,OAAO,IAAI2B,CAAC,KAAK/B,UAAU,CAACG,IAAI,CAAC;EACnF;EAEOqE,eAAeA,CAAA,EAAgB;IAClC,IAAI,CAAC,IAAI,CAACH,kBAAkB,CAAC,CAAC,EAAE;MAC5B,MAAM,IAAInC,KAAK,CAAC,6BAA6B,CAAC;IAClD;;IAEA;IACA;IACA,MAAMuC,kBAAkB,GAAG,IAAI,CAACnC,MAAM,CAACoC,WAAW,CAAC1E,UAAU,CAACG,IAAI,CAAC;IACnE,OAAO,IAAI,CAACmC,MAAM,CAACX,KAAK,CAAC,CAAC,EAAE8C,kBAAkB,CAAC;EACnD;EAEOE,2BAA2BA,CAAA,EAAc;IAC5C,IAAI,CAAC,IAAI,CAACJ,+BAA+B,CAAC,CAAC,EAAE;MACzC,OAAO,IAAI;IACf;IAEA,MAAME,kBAAkB,GAAG,IAAI,CAACG,oCAAoC,CAAC,CAAC;IACtE,IAAIH,kBAAkB,KAAK,CAAC,CAAC,EAAE;MAC3B,MAAM,IAAIvC,KAAK,CAAC,6CAA6C,CAAC;IAClE;IAEA,MAAM2C,0BAA0B,GAAG,IAAI,CAACvC,MAAM,CAACX,KAAK,CAAC,CAAC,EAAE8C,kBAAkB,CAAC;IAE3E,OAAO,IAAI7D,aAAa,CAACiE,0BAA0B,EAAE,IAAI,CAACvD,QAAQ,CAAC;EACvE;EAEOsD,oCAAoCA,CAAA,EAAgB;IACvD,IAAI,CAAC,IAAI,CAACL,+BAA+B,CAAC,CAAC,EAAE;MACzC,OAAO,CAAC,CAAC;IACb;;IAEA;IACA;IACA,MAAME,kBAAkB,GAAG,IAAI,CAACnC,MAAM,CAACoC,WAAW,CAAC1E,UAAU,CAACG,IAAI,CAAC;IACnE;IACA,MAAM2E,yBAAyB,GAAG,IAAI,CAACxC,MAAM,CAACoC,WAAW,CAAC1E,UAAU,CAACI,OAAO,CAAC;IAE7E,OAAO2E,IAAI,CAACC,GAAG,CAACP,kBAAkB,EAAEK,yBAAyB,CAAC;EAClE;EAEOG,mBAAmBA,CAAA,EAAY;IAClC,MAAMC,QAAQ,GAAGC,wBAAS,CAACC,IAAI,CAAC,IAAI,CAAC9C,MAAM,CAAC;IAC5C,OAAO4C,QAAQ,IAAIlF,UAAU,CAACG,IAAI;EACtC;EAEOkF,0BAA0BA,CAAA,EAAY;IACzC,MAAMH,QAAQ,GAAGC,wBAAS,CAACC,IAAI,CAAC,IAAI,CAAC9C,MAAM,CAAC;IAC5C,OAAO4C,QAAQ,IAAIlF,UAAU,CAACI,OAAO;EACzC;EAEOyC,UAAUA,CAAA,EAAwC;IACrD,OAAO,IAAI,CAACvB,QAAQ;EACxB;EAEOgE,QAAQA,CAAA,EAAW;IACtB,IAAI,IAAI,CAAChD,MAAM,CAACiD,MAAM,KAAK,CAAC,EAAE;MAC1B,OAAO,EAAE;IACb;IACA,OAAO,CAAC,IAAI,CAACjE,QAAQ,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,CAACgB,MAAM,CAACR,GAAG,CAACC,CAAC,IAAI,IAAI,CAACyD,gBAAgB,CAACzD,CAAC,CAAC,CAAC,CAAC0D,IAAI,CAAC,GAAG,CAAC;EAChG;EAEO3E,YAAYA,CAAA,EAAW;IAAA,IAAA4E,gBAAA;IAC1B,QAAAA,gBAAA,GAAO,IAAI,CAACrC,UAAU,cAAAqC,gBAAA,cAAAA,gBAAA,GAAK,IAAI,CAACrC,UAAU,GAAG,IAAI,CAACf,MAAM,CAACR,GAAG,CAACC,CAAC,IAAI,IAAI,CAACyD,gBAAgB,CAACzD,CAAC,CAAC,CAAC,CAAC0D,IAAI,CAAC,GAAG,CAAC;EACzG;EAEOE,QAAQA,CACXC,SAAoB,EACpBC,oBAA0C,GAAGC,0CAAoB,CAACC,OAAO,EAClE;IACP,IAAIF,oBAAoB,KAAKC,0CAAoB,CAACC,OAAO,EAAE;MACvD,OAAO,IAAI,CAACjF,YAAY,CAAC,CAAC,KAAK8E,SAAS,CAAC9E,YAAY,CAAC,CAAC;IAC3D,CAAC,MAAM;MACH,OACI,IAAI,CAAC+B,UAAU,CAAC,CAAC,KAAK+C,SAAS,CAAC/C,UAAU,CAAC,CAAC,IAC5CmD,QAAQ,CAACC,IAAI,CAACd,wBAAS,CAACe,GAAG,CAAC,IAAI,CAACzC,YAAY,CAAC,CAAC,EAAEmC,SAAS,CAACnC,YAAY,CAAC,CAAC,CAAC,CAAC,CAACP,KAAK,CAC7E,CAAC,CAACiD,EAAE,EAAEC,EAAE,CAAC,KAAKD,EAAE,KAAKC,EACzB,CAAC;IAET;EACJ;;EAEA;AACJ;AACA;EACWC,OAAOA,CAACR,oBAA0C,GAAGC,0CAAoB,CAACC,OAAO,EAAU;IAC9F,IAAI,IAAI,CAACzC,UAAU,IAAIgD,SAAS,EAAE;MAC9B,IAAIC,IAAI,GAAG,IAAI;MACf,KAAK,MAAM5C,KAAK,IAAI,IAAA6C,2BAAY,EAAC,IAAI,CAAClE,MAAM,CAAC,EAAE;QAC3C,IAAImE,UAAkB;QACtB,IAAIzG,UAAU,CAACK,aAAa,CAACsD,KAAK,CAAC,EAAE;UACjC8C,UAAU,GAAG9C,KAAK;QACtB,CAAC,MAAM;UACH,IAAIkC,oBAAoB,KAAKC,0CAAoB,CAACY,YAAY,EAAE;YAC5DD,UAAU,GAAG9C,KAAK,KAAK3D,UAAU,CAACG,IAAI,GAAG,GAAG,GAAG,GAAG;UACtD,CAAC,MAAM;YACHsG,UAAU,GAAG,GAAG;UACpB;QACJ;QACA,IAAIE,WAAW,GAAGF,UAAU,CAAClB,MAAM;QACnC,OAAOoB,WAAW,EAAE;UAChBJ,IAAI,GAAIA,IAAI,GAAG,EAAE,GAAIE,UAAU,CAACG,UAAU,CAAC,EAAED,WAAW,CAAC;QAC7D;MACJ;;MAEA;AACZ;AACA;AACA;AACA;MACY,IAAI,CAACrD,UAAU,GAAGiD,IAAI,KAAK,CAAC;IAChC;IACA,OAAO,IAAI,CAACjD,UAAU;EAC1B;EAEOuD,UAAUA,CAACjB,SAAoB,EAAW;IAC7C,MAAMkB,YAAY,GAAGlB,SAAS,CAAC9C,mBAAmB,CAAC,CAAC;IACpD,IAAI,IAAI,CAACR,MAAM,CAACiD,MAAM,KAAKuB,YAAY,CAACvB,MAAM,EAAE;MAC5C,OAAO,KAAK;IAChB;IACA,KAAK,IAAIwB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACzE,MAAM,CAACiD,MAAM,EAAEwB,CAAC,EAAE,EAAE;MACzC,MAAMC,QAAQ,GAAG,IAAI,CAAC1E,MAAM,CAACyE,CAAC,CAAC;MAC/B,MAAME,SAAS,GAAGH,YAAY,CAACC,CAAC,CAAC;MACjC,IAAI,OAAOC,QAAQ,KAAK,QAAQ,EAAE;QAC9B,IAAI,OAAOC,SAAS,KAAK,QAAQ,EAAE;UAC/B,IAAID,QAAQ,KAAKC,SAAS,EAAE;YACxB,OAAO,KAAK;UAChB;UACA;QACJ,CAAC,MAAM;UACH,OAAO,KAAK;QAChB;MACJ,CAAC,MAAM,IAAID,QAAQ,KAAKhH,UAAU,CAACI,OAAO,IAAI4G,QAAQ,KAAKhH,UAAU,CAACG,IAAI,EAAE;QACxE,IAAI,OAAO8G,SAAS,KAAK,QAAQ,EAAE;UAC/B,IAAI,CAACC,QAAQ,CAACjD,MAAM,CAACgD,SAAS,CAAC,CAAC,EAAE;YAC9B,OAAO,KAAK;UAChB;UACA;QACJ,CAAC,MAAM;UACH,IAAIA,SAAS,KAAKjH,UAAU,CAACI,OAAO,IAAI6G,SAAS,KAAKjH,UAAU,CAACG,IAAI,EAAE;YACnE,OAAO,KAAK;UAChB;UACA;QACJ;MACJ;IACJ;IACA,OAAO,IAAI;EACf;EAEOgH,gBAAgBA,CAACtB,oBAA0C,GAAGC,0CAAoB,CAACY,YAAY,EAAU;IAC5G,OAAO,IAAAU,oBAAK,EACRpB,QAAQ,CAACC,IAAI,CAAC,IAAI,CAAC3D,MAAM,CAAC,CAACiB,MAAM,CAACxB,CAAC,IAC/B8D,oBAAoB,IAAIC,0CAAoB,CAACY,YAAY,GACnD3E,CAAC,KAAK/B,UAAU,CAACG,IAAI,GACrBH,UAAU,CAACC,YAAY,CAAC8B,CAAC,CACnC,CACJ,CAAC;EACL;EAEOsF,OAAOA,CAAA,EAAY;IACtB,OAAO,IAAI,CAAC/E,MAAM,CAACiD,MAAM,KAAK,CAAC;EACnC;EAEO+B,QAAQA,CAAC1B,SAAoB,EAAgB;IAChD,IAAI,CAAC,IAAI,CAAC/C,UAAU,CAAC,CAAC,EAAE;MACpB,MAAM,IAAIX,KAAK,CAAC,mCAAmC,IAAI,CAACoD,QAAQ,CAAC,CAAC,GAAG,CAAC;IAC1E;IACA,IAAI,CAACM,SAAS,CAAC/C,UAAU,CAAC,CAAC,EAAE;MACzB,MAAM,IAAIX,KAAK,CAAC,mCAAmC0D,SAAS,CAACN,QAAQ,CAAC,CAAC,GAAG,CAAC;IAC/E;IACA,OAAOiC,wBAAW,CAACC,KAAK,CAAC,IAAI,CAAClF,MAAM,EAAEsD,SAAS,CAAC9C,mBAAmB,CAAC,CAAC,CAAC;EAC1E;EAEOpB,UAAUA,CAACkE,SAAoB,EAAW;IAC7C,MAAM6B,SAAS,GAAG,IAAI,CAAC3E,mBAAmB,CAAC,CAAC;IAC5C,MAAM4E,UAAU,GAAG9B,SAAS,CAAC9C,mBAAmB,CAAC,CAAC;IAClD,OAAO4E,UAAU,CAACxE,KAAK,CAAC,CAACyE,KAAK,EAAEC,KAAK,KAAKD,KAAK,KAAKF,SAAS,CAACG,KAAK,CAAC,CAAC;EACzE;EAEOC,QAAQA,CAACjC,SAAoB,EAAW;IAC3C,MAAM6B,SAAS,GAAG,IAAI,CAAC3E,mBAAmB,CAAC,CAAC,CAACnB,KAAK,CAAC,CAAC,CAACmG,OAAO,CAAC,CAAC;IAC9D,MAAMJ,UAAU,GAAG9B,SAAS,CAAC9C,mBAAmB,CAAC,CAAC,CAACnB,KAAK,CAAC,CAAC,CAACmG,OAAO,CAAC,CAAC;IACpE,OAAOJ,UAAU,CAACxE,KAAK,CAAC,CAACyE,KAAK,EAAEC,KAAK,KAAKD,KAAK,KAAKF,SAAS,CAACG,KAAK,CAAC,CAAC;EACzE;EAEA,CAAQG,mBAAmBA,CAAA,EAA2E;IAClG,IAAIC,eAAe,GAAG,IAAIC,kCAAgB,CAAC,IAAI,CAACpF,UAAU,CAAC,CAAC,CAAC;IAC7D,KAAK,MAAMc,KAAK,IAAI,IAAI,CAACrB,MAAM,EAAE;MAC7B,IAAItC,UAAU,CAACK,aAAa,CAACsD,KAAK,CAAC,EAAE;QACjCqE,eAAe,CAACE,MAAM,CAACvE,KAAK,CAAC;MACjC,CAAC,MAAM;QACH,IAAI,CAACqE,eAAe,CAACG,KAAK,EAAE;UACxB,MAAMH,eAAe,CAACI,cAAc,CAAC,CAAC;UACtCJ,eAAe,GAAG,IAAIC,kCAAgB,CAAC,KAAK,CAAC;QACjD;QACA,MAAMtE,KAAK;MACf;IACJ;IACA,IAAI,CAACqE,eAAe,CAACG,KAAK,EAAE;MACxB,MAAMH,eAAe,CAACI,cAAc,CAAC,CAAC;IAC1C;EACJ;EAEOC,SAASA,CAAA,EAAqC;IACjD,MAAMC,YAAuC,GAAG,EAAE;IAClD,KAAK,MAAMC,QAAQ,IAAI,IAAI,CAACjG,MAAM,EAAE;MAChC,IAAIiG,QAAQ,KAAK,IAAI,EAAE;QACnB,IAAI,CAACD,YAAY,CAACE,GAAG,CAAC,CAAC,EAAE;UACrB,IAAI,IAAI,CAAC3F,UAAU,CAAC,CAAC,EAAE;YACnB,MAAM,IAAIX,KAAK,CAAC,oBAAoB,IAAI,CAACoD,QAAQ,CAAC,CAAC,GAAG,CAAC;UAC3D,CAAC,MAAM;YACHgD,YAAY,CAAC1F,IAAI,CAAC,IAAI,CAAC;UAC3B;QACJ;QACA;MACJ;MAEA,IAAI2F,QAAQ,KAAK,GAAG,EAAE;QAClB;MACJ;MACAD,YAAY,CAAC1F,IAAI,CAAC2F,QAAQ,CAAC;IAC/B;IACA,OAAO,IAAI3H,aAAa,CAAuB0H,YAAY,EAAE,IAAI,CAAChH,QAAQ,CAAC;EAC/E;;EAEA;AACJ;AACA;EACWmH,kBAAkBA,CAAA,EAAqC;IAC1D,IAAI,IAAI,CAACvE,UAAU,CAAC,CAAC,EAAE;MACnB,OAAO,IAAI;IACf,CAAC,MAAM;MACH;MACA;MACA,MAAMd,SAAoC,GAAG,IAAI,CAACd,MAAM,CAACR,GAAG,CAACC,CAAC,IAC1DA,CAAC,KAAK/B,UAAU,CAACG,IAAI,GAAGH,UAAU,CAACI,OAAO,GAAG2B,CACjD,CAAC;MACD,OAAO,IAAInB,aAAa,CAAuBwC,SAAS,EAAE,IAAI,CAAC9B,QAAQ,CAAC;IAC5E;EACJ;EAEOoH,eAAeA,CAAA,EAAqC;IACvD,IAAI,IAAI,CAACxE,UAAU,CAAC,CAAC,EAAE;MACnB,OAAO,IAAI;IACf,CAAC,MAAM;MACH;MACA;MACA,MAAMd,SAAoC,GAAG,IAAI,CAACd,MAAM,CAACR,GAAG,CAACC,CAAC,IAC1DA,CAAC,KAAK/B,UAAU,CAACI,OAAO,GAAGJ,UAAU,CAACG,IAAI,GAAG4B,CACjD,CAAC;MACD,OAAO,IAAInB,aAAa,CAAuBwC,SAAS,EAAE,IAAI,CAAC9B,QAAQ,CAAC;IAC5E;EACJ;EAEOqH,UAAUA,CAAA,EAAgC;IAC7C,IAAI,CAAC,IAAI,CAACrH,QAAQ,EAAE;MAChB,MAAM,IAAIY,KAAK,CAAC,SAAS,IAAI,CAACpB,YAAY,CAAC,CAAC,mBAAmB,CAAC;IACpE;IACA,OAAO,IAAIF,aAAa,CAAkB,IAAI,CAAC0B,MAAM,EAAE,IAAI,CAAC;EAChE;EAEA,CAAQsG,iBAAiBA,CAAA,EAAwB;IAC7C,MAAMC,MAAM,GAAG,IAAIZ,kCAAgB,CAAC,IAAI,CAACpF,UAAU,CAAC,CAAC,CAAC;IACtD,KAAK,MAAMc,KAAK,IAAIwB,wBAAS,CAAC2D,QAAQ,CAAC,IAAI,CAACrF,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;MAC5DoF,MAAM,CAACX,MAAM,CAACvE,KAAK,CAAC;MACpB,MAAMkF,MAAM,CAACE,MAAM,CAAC,CAAC;IACzB;EACJ;EAEOC,uBAAuBA,CAAA,EAAqC;IAC/D,MAAM9D,QAAQ,GAAGC,wBAAS,CAACC,IAAI,CAAC,IAAI,CAAC9C,MAAM,CAAC;IAC5C,IAAI4C,QAAQ,IAAIoB,SAAS,IAAItG,UAAU,CAACC,YAAY,CAACiF,QAAQ,CAAC,EAAE;MAC5D,OAAO,IAAItE,aAAa,CAAC,IAAI,CAAC0B,MAAM,CAACX,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAACL,QAAQ,CAAC;IACrE;IACA,OAAO,IAAI;EACf;EAEO2H,wBAAwBA,CAAA,EAAqC;IAChE,MAAMC,SAAS,GAAG/D,wBAAS,CAACgE,KAAK,CAAC,IAAI,CAAC7G,MAAM,CAAC;IAC9C,IAAI4G,SAAS,IAAI5C,SAAS,IAAItG,UAAU,CAACC,YAAY,CAACiJ,SAAS,CAAC,EAAE;MAC9D,OAAO,IAAItI,aAAa,CAAC,IAAI,CAAC0B,MAAM,CAACX,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACL,QAAQ,CAAC;IACjE;IACA,OAAO,IAAI;EACf;EAEO8H,iBAAiBA,CAACC,cAAyB,EAAqB;IACnE,OAAO7G,wBAAwB,CAC3B6G,cAAc,CACT/B,QAAQ,CAAC,IAAI,CAAC,CACdxF,GAAG,CAACC,CAAC,IAAKA,CAAC,CAACuH,IAAI,KAAKC,sBAAS,CAACC,eAAe,GAAGzH,CAAC,CAAC0H,MAAM,GAAGnD,SAAU,CAAC,CACvE/C,MAAM,CAACmG,iCAAoB,CAAC,CAC5BC,OAAO,CAAC5H,CAAC,IAAIA,CAAC,CAACe,mBAAmB,CAAC,CAAC,CAC7C,CAAC;EACL;EAEO8G,aAAaA,CAAA,EAAqC;IACrD,MAAMf,MAAM,GAAG,IAAIZ,kCAAgB,CAAC,IAAI,CAAC3G,QAAQ,CAAC;IAClD,KAAK,MAAMqC,KAAK,IAAIwB,wBAAS,CAAC2D,QAAQ,CAAC,IAAI,CAACrF,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;MAC5DoF,MAAM,CAACX,MAAM,CAACvE,KAAK,CAAC;IACxB;IACA;IACA;IACA,OAAOkF,MAAM,CAACE,MAAM,CAAC,CAAC;EAC1B;EAEOc,mBAAmBA,CACtBC,SAA4B,EAC5BC,mCAA6C,EACb;IAChC,IAAI,IAAI,CAAC7F,UAAU,CAAC,CAAC,IAAI4F,SAAS,CAACvE,MAAM,KAAK,CAAC,EAAE;MAC7C,OAAO,IAAI;IACf;IACA,IAAIyE,eAAe,GAAG,CAAC;IACvB,MAAMnB,MAAM,GAAG,IAAIZ,kCAAgB,CAAC,IAAI,CAAC;IACzC,KAAK,MAAMtE,KAAK,IAAI,IAAI,CAACF,YAAY,CAAC,CAAC,EAAE;MACrC,IAAIzD,UAAU,CAACC,YAAY,CAAC0D,KAAK,CAAC,IAAIqG,eAAe,GAAGF,SAAS,CAACvE,MAAM,EAAE;QAAA,IAAA0E,qBAAA;QACtE,MAAMC,cAAc,IAAAD,qBAAA,GAChBH,SAAS,CAACE,eAAe,CAAC,cAAAC,qBAAA,cAAAA,qBAAA,GACzBF,mCAAmC,IAAI,IAAI,GAAG/J,UAAU,CAACG,IAAI,GAAG,IAAAgK,mBAAM,EAAC,CAAE;QAC9EtB,MAAM,CAACX,MAAM,CAACgC,cAAc,CAAC;QAC7BF,eAAe,EAAE;MACrB,CAAC,MAAM;QACHnB,MAAM,CAACX,MAAM,CAACvE,KAAK,CAAC;MACxB;IACJ;IACA;IACA;IACA,OAAOkF,MAAM,CAACE,MAAM,CAAC,CAAC;EAC1B;EAEQvD,gBAAgBA,CAAC+C,QAAmB,EAAU;IAClD,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC9B,OAAOA,QAAQ;IACnB;IACA,IAAIA,QAAQ,KAAKvI,UAAU,CAACG,IAAI,EAAE;MAC9B,OAAO,GAAG;IACd;IACA,IAAIoI,QAAQ,KAAKvI,UAAU,CAACI,OAAO,EAAE;MACjC,OAAO,GAAG;IACd;IACA,MAAM,IAAI8B,KAAK,CAAC,gCAAgC,IAAAkI,+BAAkB,EAAC7B,QAAQ,CAAC,EAAE,CAAC;EACnF;AACJ;AAAC9H,OAAA,CAAAG,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"PathSplitHelper.js","names":["_ModelPath","require","_PathMatcher","_ModelPathBuilder","getMatchedAndDifferentModelPaths","baseModelPath","splittingModelPath","_pathMatch$map$find","pathMatch","matchFor","commonPartTokens","map","x","kind","MatchKind","MatchedPath","prefix","MatchedMultiplicity","target","emptyModelPath","commonPart","ModelPathBuilder","append","toAbsolutePath","restPart","DifferentSuffix","undefined","find","matchedPath","differentPath"],"sources":["../../../../Common/ModelPath/PathSplitHelper.ts"],"sourcesContent":["import { AbsoluteModelPath, emptyModelPath } from \"./ModelPath\";\nimport { MatchKind } from \"./PathMatcher\";\nimport { ModelPathBuilder } from \"./ModelPathBuilder\";\n\nexport function getMatchedAndDifferentModelPaths(\n baseModelPath: AbsoluteModelPath,\n splittingModelPath: AbsoluteModelPath\n) {\n const pathMatch = baseModelPath.matchFor(splittingModelPath);\n const commonPartTokens = pathMatch.map(x =>\n x.kind === MatchKind.MatchedPath\n ? x.prefix\n : x.kind === MatchKind.MatchedMultiplicity\n ? x.target\n : emptyModelPath()\n );\n const commonPart = new ModelPathBuilder(true).append(commonPartTokens).toAbsolutePath();\n const restPart =\n pathMatch.map(x => (x.kind === MatchKind.DifferentSuffix ? x.target : undefined)).find(x => x != undefined) ??\n emptyModelPath();\n return {\n matchedPath: commonPart,\n differentPath: restPart,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEO,SAASG,gCAAgCA,CAC5CC,aAAgC,EAChCC,kBAAqC,EACvC;EAAA,IAAAC,mBAAA;EACE,MAAMC,SAAS,GAAGH,aAAa,CAACI,QAAQ,CAACH,kBAAkB,CAAC;EAC5D,MAAMI,gBAAgB,GAAGF,SAAS,CAACG,GAAG,CAACC,CAAC,IACpCA,CAAC,CAACC,IAAI,KAAKC,sBAAS,CAACC,WAAW,GAC1BH,CAAC,CAACI,MAAM,GACRJ,CAAC,CAACC,IAAI,KAAKC,sBAAS,CAACG,mBAAmB,GACxCL,CAAC,CAACM,MAAM,GACR,IAAAC,yBAAc,EAAC,CACzB,CAAC;EACD,MAAMC,UAAU,GAAG,IAAIC,kCAAgB,CAAC,IAAI,CAAC,CAACC,MAAM,CAACZ,gBAAgB,CAAC,CAACa,cAAc,CAAC,CAAC;EACvF,MAAMC,QAAQ,IAAAjB,mBAAA,GACVC,SAAS,CAACG,GAAG,CAACC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAKC,sBAAS,CAACW,eAAe,GAAGb,CAAC,CAACM,MAAM,GAAGQ,SAAU,CAAC,CAACC,IAAI,CAACf,CAAC,IAAIA,CAAC,IAAIc,SAAS,CAAC,cAAAnB,mBAAA,cAAAA,mBAAA,GAC3G,IAAAY,yBAAc,EAAC,CAAC;EACpB,OAAO;IACHS,WAAW,EAAER,UAAU;IACvBS,aAAa,EAAEL;EACnB,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"PathSplitHelper.js","names":["_ModelPath","require","_PathMatcher","_ModelPathBuilder","getMatchedAndDifferentModelPaths","baseModelPath","splittingModelPath","_pathMatch$map$find","pathMatch","matchFor","commonPartTokens","map","x","kind","MatchKind","MatchedPath","prefix","MatchedMultiplicity","target","emptyModelPath","commonPart","ModelPathBuilder","append","toAbsolutePath","restPart","DifferentSuffix","undefined","find","matchedPath","differentPath"],"sources":["../../../../Common/ModelPath/PathSplitHelper.ts"],"sourcesContent":["import { AbsoluteModelPath, emptyModelPath } from \"./ModelPath\";\nimport { MatchKind } from \"./PathMatcher\";\nimport { ModelPathBuilder } from \"./ModelPathBuilder\";\n\nexport function getMatchedAndDifferentModelPaths(\n baseModelPath: AbsoluteModelPath,\n splittingModelPath: AbsoluteModelPath\n) {\n const pathMatch = baseModelPath.matchFor(splittingModelPath);\n const commonPartTokens = pathMatch.map(x =>\n x.kind === MatchKind.MatchedPath\n ? x.prefix\n : x.kind === MatchKind.MatchedMultiplicity\n ? x.target\n : emptyModelPath()\n );\n const commonPart = new ModelPathBuilder(true).append(commonPartTokens).toAbsolutePath();\n const restPart =\n pathMatch.map(x => (x.kind === MatchKind.DifferentSuffix ? x.target : undefined)).find(x => x != undefined) ??\n emptyModelPath();\n return {\n matchedPath: commonPart,\n differentPath: restPart,\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEO,SAASG,gCAAgCA,CAC5CC,aAAgC,EAChCC,kBAAqC,EACvC;EAAA,IAAAC,mBAAA;EACE,MAAMC,SAAS,GAAGH,aAAa,CAACI,QAAQ,CAACH,kBAAkB,CAAC;EAC5D,MAAMI,gBAAgB,GAAGF,SAAS,CAACG,GAAG,CAACC,CAAC,IACpCA,CAAC,CAACC,IAAI,KAAKC,sBAAS,CAACC,WAAW,GAC1BH,CAAC,CAACI,MAAM,GACRJ,CAAC,CAACC,IAAI,KAAKC,sBAAS,CAACG,mBAAmB,GACtCL,CAAC,CAACM,MAAM,GACR,IAAAC,yBAAc,EAAC,CAC3B,CAAC;EACD,MAAMC,UAAU,GAAG,IAAIC,kCAAgB,CAAC,IAAI,CAAC,CAACC,MAAM,CAACZ,gBAAgB,CAAC,CAACa,cAAc,CAAC,CAAC;EACvF,MAAMC,QAAQ,IAAAjB,mBAAA,GACVC,SAAS,CAACG,GAAG,CAACC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAKC,sBAAS,CAACW,eAAe,GAAGb,CAAC,CAACM,MAAM,GAAGQ,SAAU,CAAC,CAACC,IAAI,CAACf,CAAC,IAAIA,CAAC,IAAIc,SAAS,CAAC,cAAAnB,mBAAA,cAAAA,mBAAA,GAC3G,IAAAY,yBAAc,EAAC,CAAC;EACpB,OAAO;IACHS,WAAW,EAAER,UAAU;IACvBS,aAAa,EAAEL;EACnB,CAAC;AACL","ignoreList":[]}