@itwin/presentation-backend 3.0.0-dev.77 → 3.0.0-dev.81

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 (112) hide show
  1. package/lib/{assets → cjs/assets}/primary-presentation-rules/ElementProperties.PresentationRuleSet.json +0 -0
  2. package/lib/{assets → cjs/assets}/supplemental-presentation-rules/BisCore.PresentationRuleSet.json +0 -0
  3. package/lib/{assets → cjs/assets}/supplemental-presentation-rules/Functional.PresentationRuleSet.json +0 -0
  4. package/lib/{presentation-backend → cjs/presentation-backend}/BackendLoggerCategory.d.ts +0 -0
  5. package/lib/cjs/presentation-backend/BackendLoggerCategory.d.ts.map +1 -0
  6. package/lib/{presentation-backend → cjs/presentation-backend}/BackendLoggerCategory.js +0 -0
  7. package/lib/cjs/presentation-backend/BackendLoggerCategory.js.map +1 -0
  8. package/lib/{presentation-backend → cjs/presentation-backend}/Constants.d.ts +0 -0
  9. package/lib/cjs/presentation-backend/Constants.d.ts.map +1 -0
  10. package/lib/{presentation-backend → cjs/presentation-backend}/Constants.js +0 -0
  11. package/lib/cjs/presentation-backend/Constants.js.map +1 -0
  12. package/lib/{presentation-backend → cjs/presentation-backend}/ElementPropertiesHelper.d.ts +0 -0
  13. package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts.map +1 -0
  14. package/lib/{presentation-backend → cjs/presentation-backend}/ElementPropertiesHelper.js +0 -0
  15. package/lib/cjs/presentation-backend/ElementPropertiesHelper.js.map +1 -0
  16. package/lib/{presentation-backend → cjs/presentation-backend}/NativePlatform.d.ts +0 -0
  17. package/lib/cjs/presentation-backend/NativePlatform.d.ts.map +1 -0
  18. package/lib/{presentation-backend → cjs/presentation-backend}/NativePlatform.js +1 -1
  19. package/lib/cjs/presentation-backend/NativePlatform.js.map +1 -0
  20. package/lib/{presentation-backend → cjs/presentation-backend}/Presentation.d.ts +0 -0
  21. package/lib/cjs/presentation-backend/Presentation.d.ts.map +1 -0
  22. package/lib/{presentation-backend → cjs/presentation-backend}/Presentation.js +0 -0
  23. package/lib/cjs/presentation-backend/Presentation.js.map +1 -0
  24. package/lib/{presentation-backend → cjs/presentation-backend}/PresentationIpcHandler.d.ts +0 -0
  25. package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts.map +1 -0
  26. package/lib/{presentation-backend → cjs/presentation-backend}/PresentationIpcHandler.js +0 -0
  27. package/lib/cjs/presentation-backend/PresentationIpcHandler.js.map +1 -0
  28. package/lib/{presentation-backend → cjs/presentation-backend}/PresentationManager.d.ts +5 -1
  29. package/lib/cjs/presentation-backend/PresentationManager.d.ts.map +1 -0
  30. package/lib/{presentation-backend → cjs/presentation-backend}/PresentationManager.js +103 -42
  31. package/lib/cjs/presentation-backend/PresentationManager.js.map +1 -0
  32. package/lib/{presentation-backend → cjs/presentation-backend}/PresentationRpcImpl.d.ts +0 -0
  33. package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts.map +1 -0
  34. package/lib/{presentation-backend → cjs/presentation-backend}/PresentationRpcImpl.js +43 -27
  35. package/lib/cjs/presentation-backend/PresentationRpcImpl.js.map +1 -0
  36. package/lib/{presentation-backend → cjs/presentation-backend}/RulesetEmbedder.d.ts +1 -1
  37. package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts.map +1 -0
  38. package/lib/{presentation-backend → cjs/presentation-backend}/RulesetEmbedder.js +9 -27
  39. package/lib/cjs/presentation-backend/RulesetEmbedder.js.map +1 -0
  40. package/lib/{presentation-backend → cjs/presentation-backend}/RulesetManager.d.ts +0 -0
  41. package/lib/cjs/presentation-backend/RulesetManager.d.ts.map +1 -0
  42. package/lib/{presentation-backend → cjs/presentation-backend}/RulesetManager.js +0 -0
  43. package/lib/cjs/presentation-backend/RulesetManager.js.map +1 -0
  44. package/lib/{presentation-backend → cjs/presentation-backend}/RulesetVariablesManager.d.ts +0 -0
  45. package/lib/cjs/presentation-backend/RulesetVariablesManager.d.ts.map +1 -0
  46. package/lib/{presentation-backend → cjs/presentation-backend}/RulesetVariablesManager.js +0 -0
  47. package/lib/cjs/presentation-backend/RulesetVariablesManager.js.map +1 -0
  48. package/lib/{presentation-backend → cjs/presentation-backend}/SelectionScopesHelper.d.ts +0 -0
  49. package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts.map +1 -0
  50. package/lib/{presentation-backend → cjs/presentation-backend}/SelectionScopesHelper.js +0 -0
  51. package/lib/cjs/presentation-backend/SelectionScopesHelper.js.map +1 -0
  52. package/lib/{presentation-backend → cjs/presentation-backend}/TemporaryStorage.d.ts +0 -0
  53. package/lib/cjs/presentation-backend/TemporaryStorage.d.ts.map +1 -0
  54. package/lib/{presentation-backend → cjs/presentation-backend}/TemporaryStorage.js +0 -0
  55. package/lib/cjs/presentation-backend/TemporaryStorage.js.map +1 -0
  56. package/lib/{presentation-backend → cjs/presentation-backend}/UpdatesTracker.d.ts +0 -0
  57. package/lib/cjs/presentation-backend/UpdatesTracker.d.ts.map +1 -0
  58. package/lib/{presentation-backend → cjs/presentation-backend}/UpdatesTracker.js +0 -0
  59. package/lib/cjs/presentation-backend/UpdatesTracker.js.map +1 -0
  60. package/lib/{presentation-backend → cjs/presentation-backend}/Utils.d.ts +0 -0
  61. package/lib/cjs/presentation-backend/Utils.d.ts.map +1 -0
  62. package/lib/{presentation-backend → cjs/presentation-backend}/Utils.js +1 -1
  63. package/lib/cjs/presentation-backend/Utils.js.map +1 -0
  64. package/lib/{presentation-backend → cjs/presentation-backend}/domain/PresentationRulesDomain.d.ts +0 -0
  65. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.d.ts.map +1 -0
  66. package/lib/{presentation-backend → cjs/presentation-backend}/domain/PresentationRulesDomain.js +0 -0
  67. package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js.map +1 -0
  68. package/lib/{presentation-backend → cjs/presentation-backend}/domain/RulesetElements.d.ts +0 -0
  69. package/lib/cjs/presentation-backend/domain/RulesetElements.d.ts.map +1 -0
  70. package/lib/{presentation-backend → cjs/presentation-backend}/domain/RulesetElements.js +0 -0
  71. package/lib/cjs/presentation-backend/domain/RulesetElements.js.map +1 -0
  72. package/lib/{presentation-backend.d.ts → cjs/presentation-backend.d.ts} +0 -0
  73. package/lib/cjs/presentation-backend.d.ts.map +1 -0
  74. package/lib/{presentation-backend.js → cjs/presentation-backend.js} +0 -0
  75. package/lib/cjs/presentation-backend.js.map +1 -0
  76. package/package.json +20 -19
  77. package/lib/presentation-backend/BackendLoggerCategory.d.ts.map +0 -1
  78. package/lib/presentation-backend/BackendLoggerCategory.js.map +0 -1
  79. package/lib/presentation-backend/Constants.d.ts.map +0 -1
  80. package/lib/presentation-backend/Constants.js.map +0 -1
  81. package/lib/presentation-backend/ElementPropertiesHelper.d.ts.map +0 -1
  82. package/lib/presentation-backend/ElementPropertiesHelper.js.map +0 -1
  83. package/lib/presentation-backend/NativePlatform.d.ts.map +0 -1
  84. package/lib/presentation-backend/NativePlatform.js.map +0 -1
  85. package/lib/presentation-backend/Presentation.d.ts.map +0 -1
  86. package/lib/presentation-backend/Presentation.js.map +0 -1
  87. package/lib/presentation-backend/PresentationIpcHandler.d.ts.map +0 -1
  88. package/lib/presentation-backend/PresentationIpcHandler.js.map +0 -1
  89. package/lib/presentation-backend/PresentationManager.d.ts.map +0 -1
  90. package/lib/presentation-backend/PresentationManager.js.map +0 -1
  91. package/lib/presentation-backend/PresentationRpcImpl.d.ts.map +0 -1
  92. package/lib/presentation-backend/PresentationRpcImpl.js.map +0 -1
  93. package/lib/presentation-backend/RulesetEmbedder.d.ts.map +0 -1
  94. package/lib/presentation-backend/RulesetEmbedder.js.map +0 -1
  95. package/lib/presentation-backend/RulesetManager.d.ts.map +0 -1
  96. package/lib/presentation-backend/RulesetManager.js.map +0 -1
  97. package/lib/presentation-backend/RulesetVariablesManager.d.ts.map +0 -1
  98. package/lib/presentation-backend/RulesetVariablesManager.js.map +0 -1
  99. package/lib/presentation-backend/SelectionScopesHelper.d.ts.map +0 -1
  100. package/lib/presentation-backend/SelectionScopesHelper.js.map +0 -1
  101. package/lib/presentation-backend/TemporaryStorage.d.ts.map +0 -1
  102. package/lib/presentation-backend/TemporaryStorage.js.map +0 -1
  103. package/lib/presentation-backend/UpdatesTracker.d.ts.map +0 -1
  104. package/lib/presentation-backend/UpdatesTracker.js.map +0 -1
  105. package/lib/presentation-backend/Utils.d.ts.map +0 -1
  106. package/lib/presentation-backend/Utils.js.map +0 -1
  107. package/lib/presentation-backend/domain/PresentationRulesDomain.d.ts.map +0 -1
  108. package/lib/presentation-backend/domain/PresentationRulesDomain.js.map +0 -1
  109. package/lib/presentation-backend/domain/RulesetElements.d.ts.map +0 -1
  110. package/lib/presentation-backend/domain/RulesetElements.js.map +0 -1
  111. package/lib/presentation-backend.d.ts.map +0 -1
  112. package/lib/presentation-backend.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendLoggerCategory.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/BackendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;GAKG;AACH,oBAAY,iCAAiC;IAC3C,OAAO,yBAAyB;IAEhC,+FAA+F;IAC/F,mBAAmB,6CAA6C;IAEhE,mEAAmE;IACnE,GAAG,6BAA6B;IAEhC,mEAAmE;IACnE,GAAG,6BAA6B;CACjC;AAED;;;;;GAKG;AACH,oBAAY,uCAAuC;IACjD,SAAS,cAAc;IACvB,uBAAuB,4BAA4B;IACnD,6BAA6B,kCAAkC;IAC/D,gCAAgC,qCAAqC;IAErE,cAAc,mBAAmB;IACjC,0BAA0B,+BAA+B;IACzD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;IACzD,kCAAkC,uCAAuC;IACzE,uCAAuC,4CAA4C;IACnF,qCAAqC,0CAA0C;IAC/E,2CAA2C,gDAAgD;IAC3F,kCAAkC,uCAAuC;IACzE,iCAAiC,sCAAsC;IACvE,2CAA2C,gDAAgD;CAC5F"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-backend/BackendLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;;GAKG;AACH,IAAY,iCAWX;AAXD,WAAY,iCAAiC;IAC3C,qEAAgC,CAAA;IAEhC,+FAA+F;IAC/F,qGAAgE,CAAA;IAEhE,mEAAmE;IACnE,qEAAgC,CAAA;IAEhC,mEAAmE;IACnE,qEAAgC,CAAA;AAClC,CAAC,EAXW,iCAAiC,GAAjC,yCAAiC,KAAjC,yCAAiC,QAW5C;AAED;;;;;GAKG;AACH,IAAY,uCAiBX;AAjBD,WAAY,uCAAuC;IACjD,kEAAuB,CAAA;IACvB,8FAAmD,CAAA;IACnD,0GAA+D,CAAA;IAC/D,gHAAqE,CAAA;IAErE,4EAAiC,CAAA;IACjC,oGAAyD,CAAA;IACzD,sGAA2D,CAAA;IAC3D,oGAAyD,CAAA;IACzD,oHAAyE,CAAA;IACzE,8HAAmF,CAAA;IACnF,0HAA+E,CAAA;IAC/E,sIAA2F,CAAA;IAC3F,oHAAyE,CAAA;IACzE,kHAAuE,CAAA;IACvE,sIAA2F,CAAA;AAC7F,CAAC,EAjBW,uCAAuC,GAAvC,+CAAuC,KAAvC,+CAAuC,QAiBlD","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Logging\r\n */\r\n\r\n/**\r\n * Logger categories used by this package\r\n * @note All logger categories in this package start with the `presentation-backend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum PresentationBackendLoggerCategory {\r\n Package = \"presentation-backend\",\r\n\r\n /** The logger category used by the [[PresentationManager]] class and other related classes. */\r\n PresentationManager = \"presentation-backend.PresentationManager\",\r\n\r\n /** The logger category used by Presentation RPC implementation. */\r\n Rpc = \"presentation-backend.Rpc\",\r\n\r\n /** The logger category used by Presentation IPC implementation. */\r\n Ipc = \"presentation-backend.Ipc\",\r\n}\r\n\r\n/**\r\n * Logger categories used by this package\r\n * @note Logger categories used by the [[PresentationManager]] native addon.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum PresentationBackendNativeLoggerCategory {\r\n ECObjects = \"ECObjects\",\r\n ECObjects_ECExpressions = \"ECObjects.ECExpressions\",\r\n ECObjects_ECExpressions_Parse = \"ECObjects.ECExpressions.Parse\",\r\n ECObjects_ECExpressions_Evaluate = \"ECObjects.ECExpressions.Evaluate\",\r\n\r\n ECPresentation = \"ECPresentation\",\r\n ECPresentation_Connections = \"ECPresentation.Connections\",\r\n ECPresentation_Localization = \"ECPresentation.Localization\",\r\n ECPresentation_RulesEngine = \"ECPresentation.RulesEngine\",\r\n ECPresentation_RulesEngine_Content = \"ECPresentation.RulesEngine.Content\",\r\n ECPresentation_RulesEngine_Localization = \"ECPresentation.RulesEngine.Localization\",\r\n ECPresentation_RulesEngine_Navigation = \"ECPresentation.RulesEngine.Navigation\",\r\n ECPresentation_RulesEngine_Navigation_Cache = \"ECPresentation.RulesEngine.Navigation.Cache\",\r\n ECPresentation_RulesEngine_Threads = \"ECPresentation.RulesEngine.Threads\",\r\n ECPresentation_RulesEngine_Update = \"ECPresentation.RulesEngine.Update\",\r\n ECPresentation_RulesEngine_RulesetVariables = \"ECPresentation.RulesEngine.RulesetVariables\",\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/Constants.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH;;;GAGG;AAEH,eAAO,MAAM,gCAAgC,QAA0H,CAAC;AAExK;;;GAGG;AAEH,eAAO,MAAM,+BAA+B,QAAuJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/presentation-backend/Constants.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,oEAAsE;AAEtE;;;GAGG;AACH,uBAAuB;AACV,QAAA,gCAAgC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAExK;;;GAGG;AACH,uBAAuB;AACV,QAAA,+BAA+B,GAAG,CAAC,CAAC,CAAC,KAAK,8CAAwB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8CAAwB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport * as path from \"path\";\r\nimport { PRESENTATION_COMMON_ROOT } from \"@itwin/presentation-common\";\r\n\r\n/**\r\n * Path to presentation-backend assets root directory.\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport const PRESENTATION_BACKEND_ASSETS_ROOT = (-1 !== __dirname.indexOf(\"presentation-backend\")) ? path.join(__dirname, \"../assets\") : path.join(__dirname, \"assets\");\r\n\r\n/**\r\n * Path to presentation-common assets root directory.\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport const PRESENTATION_COMMON_ASSETS_ROOT = (-1 !== PRESENTATION_COMMON_ROOT.indexOf(\"presentation-common\")) ? path.join(PRESENTATION_COMMON_ROOT, \"../assets\") : path.join(__dirname, \"assets\");\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementPropertiesHelper.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/ElementPropertiesHelper.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EACgB,OAAO,EAAE,iBAAiB,EAGhD,MAAM,4BAA4B,CAAC;AAEpC,gBAAgB;AAChB,eAAO,MAAM,sBAAsB,YAAa,OAAO,GAAG,SAAS,KAAG,iBAAiB,GAAG,SAczF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementPropertiesHelper.js","sourceRoot":"","sources":["../../../src/presentation-backend/ElementPropertiesHelper.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { assert, Id64 } from \"@itwin/core-bentley\";\r\nimport {\r\n CategoryDescription, Content, ElementProperties, ElementPropertiesItem, ElementPropertiesPrimitiveArrayPropertyItem, ElementPropertiesPropertyItem,\r\n ElementPropertiesStructArrayPropertyItem, IContentVisitor, ProcessFieldHierarchiesProps, ProcessMergedValueProps, ProcessPrimitiveValueProps,\r\n PropertyValueFormat, StartArrayProps, StartCategoryProps, StartContentProps, StartFieldProps, StartItemProps, StartStructProps, traverseContentItem,\r\n} from \"@itwin/presentation-common\";\r\n\r\n/** @internal */\r\nexport const buildElementProperties = (content: Content | undefined): ElementProperties | undefined => {\r\n if (!content || !content.contentSet.length)\r\n return undefined;\r\n\r\n const descriptor = content.descriptor;\r\n const item = content.contentSet[0];\r\n const builder = new ElementPropertiesBuilder();\r\n traverseContentItem(builder, descriptor, item);\r\n return {\r\n class: item.classInfo?.label ?? \"\",\r\n id: item.primaryKeys[0]?.id ?? Id64.invalid,\r\n label: item.label.displayValue,\r\n items: builder.rootItems,\r\n };\r\n};\r\n\r\ninterface IPropertiesAppender {\r\n append(label: string, item: ElementPropertiesItem): void;\r\n finish(): void;\r\n}\r\n\r\nclass CategoryItemAppender implements IPropertiesAppender {\r\n private _items: { [label: string]: ElementPropertiesItem } = {};\r\n constructor(private _parentAppender: IPropertiesAppender, private _category: CategoryDescription) { }\r\n public append(label: string, item: ElementPropertiesItem): void {\r\n this._items[label] = item;\r\n }\r\n public finish(): void {\r\n this._parentAppender.append(this._category.label, {\r\n type: \"category\",\r\n items: this._items,\r\n });\r\n }\r\n}\r\n\r\nclass ArrayItemAppender implements IPropertiesAppender {\r\n private _items: ElementPropertiesPropertyItem[] = [];\r\n constructor(private _parentAppender: IPropertiesAppender, private _props: StartArrayProps) { }\r\n public append(_label: string, item: ElementPropertiesItem): void {\r\n assert(item.type !== \"category\");\r\n this._items.push(item);\r\n }\r\n public finish(): void {\r\n assert(this._props.valueType.valueFormat === PropertyValueFormat.Array);\r\n if (this._props.valueType.memberType.valueFormat === PropertyValueFormat.Primitive)\r\n this._parentAppender.append(this._props.hierarchy.field.label, this.createPrimitivesArray());\r\n else\r\n this._parentAppender.append(this._props.hierarchy.field.label, this.createStructsArray());\r\n }\r\n private createPrimitivesArray(): ElementPropertiesPrimitiveArrayPropertyItem {\r\n return {\r\n type: \"array\",\r\n valueType: \"primitive\",\r\n values: this._items.map((item) => {\r\n assert(item.type === \"primitive\");\r\n return item.value;\r\n }),\r\n };\r\n }\r\n private createStructsArray(): ElementPropertiesStructArrayPropertyItem {\r\n return {\r\n type: \"array\",\r\n valueType: \"struct\",\r\n values: this._items.map((item) => {\r\n assert(item.type === \"struct\");\r\n return item.members;\r\n }),\r\n };\r\n }\r\n}\r\n\r\nclass StructItemAppender implements IPropertiesAppender {\r\n private _members: { [label: string]: ElementPropertiesPropertyItem } = {};\r\n constructor(private _parentAppender: IPropertiesAppender, private _props: StartStructProps) { }\r\n public append(label: string, item: ElementPropertiesItem): void {\r\n assert(item.type !== \"category\");\r\n this._members[label] = item;\r\n }\r\n public finish(): void {\r\n assert(this._props.valueType.valueFormat === PropertyValueFormat.Struct);\r\n this._parentAppender.append(this._props.hierarchy.field.label, {\r\n type: \"struct\",\r\n members: this._members,\r\n });\r\n }\r\n}\r\n\r\nclass ElementPropertiesBuilder implements IContentVisitor {\r\n private _appendersStack: IPropertiesAppender[] = [];\r\n private _categoryItemAppenders: { [categoryName: string]: IPropertiesAppender } = {};\r\n private _rootItems: { [label: string]: ElementPropertiesItem } = {};\r\n\r\n public get rootItems(): { [label: string]: ElementPropertiesItem } {\r\n return this._rootItems;\r\n }\r\n\r\n private get _currentAppender(): IPropertiesAppender {\r\n const appender = this._appendersStack[this._appendersStack.length - 1];\r\n assert(appender !== undefined);\r\n return appender;\r\n }\r\n\r\n public startContent(_props: StartContentProps): boolean { return true; }\r\n public finishContent(): void { }\r\n\r\n public processFieldHierarchies(_props: ProcessFieldHierarchiesProps): void { }\r\n\r\n public startItem(_props: StartItemProps): boolean {\r\n this._appendersStack.push({\r\n append: (label, item) => {\r\n this._rootItems[label] = item;\r\n },\r\n finish: /* istanbul ignore next */ () => { },\r\n });\r\n return true;\r\n }\r\n public finishItem(): void {\r\n // eslint-disable-next-line guard-for-in\r\n for (const categoryName in this._categoryItemAppenders) {\r\n const appender = this._categoryItemAppenders[categoryName];\r\n appender.finish();\r\n }\r\n this._categoryItemAppenders = {};\r\n }\r\n\r\n public startCategory(props: StartCategoryProps): boolean {\r\n let appender = this._categoryItemAppenders[props.category.name];\r\n if (!appender) {\r\n appender = new CategoryItemAppender(this._currentAppender, props.category);\r\n this._categoryItemAppenders[props.category.name] = appender;\r\n }\r\n this._appendersStack.push(appender);\r\n return true;\r\n }\r\n public finishCategory(): void {\r\n this._appendersStack.pop();\r\n }\r\n\r\n public startField(_props: StartFieldProps): boolean { return true; }\r\n public finishField(): void { }\r\n\r\n public startStruct(props: StartStructProps): boolean {\r\n this._appendersStack.push(new StructItemAppender(this._currentAppender, props));\r\n return true;\r\n }\r\n public finishStruct(): void { this._appendersStack.pop()!.finish(); }\r\n\r\n public startArray(props: StartArrayProps): boolean {\r\n this._appendersStack.push(new ArrayItemAppender(this._currentAppender, props));\r\n return true;\r\n }\r\n public finishArray(): void { this._appendersStack.pop()!.finish(); }\r\n\r\n public processMergedValue(props: ProcessMergedValueProps): void {\r\n this._currentAppender.append(props.mergedField.label, {\r\n type: \"primitive\",\r\n value: \"\",\r\n });\r\n }\r\n public processPrimitiveValue(props: ProcessPrimitiveValueProps): void {\r\n this._currentAppender.append(props.field.label, {\r\n type: \"primitive\",\r\n value: props.displayValue?.toString() ?? \"\",\r\n });\r\n }\r\n}\r\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativePlatform.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ const createDefaultNativePlatform = (props) => {
50
50
  const mode = (props.mode === PresentationManager_1.PresentationManagerMode.ReadOnly) ? "ro" /* ReadOnly */ : "rw" /* ReadWrite */;
51
51
  const cacheConfig = (_a = props.cacheConfig) !== null && _a !== void 0 ? _a : { mode: PresentationManager_1.HierarchyCacheMode.Disk, directory: "" };
52
52
  const defaultFormats = props.defaultFormats ? this.getSerializedDefaultFormatsMap(props.defaultFormats) : {};
53
- this._nativeAddon = new core_backend_1.IModelHost.platform.ECPresentationManager(Object.assign(Object.assign({}, props), { mode, cacheConfig, defaultFormats }));
53
+ this._nativeAddon = new core_backend_1.IModelHost.platform.ECPresentationManager({ ...props, mode, cacheConfig, defaultFormats });
54
54
  }
55
55
  getStatus(responseStatus) {
56
56
  switch (responseStatus) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativePlatform.js","sourceRoot":"","sources":["../../../src/presentation-backend/NativePlatform.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { IModelDb, IModelHost, IModelJsNative } from \"@itwin/core-backend\";\nimport { IDisposable } from \"@itwin/core-bentley\";\nimport { FormatProps } from \"@itwin/core-quantity\";\nimport {\n DiagnosticsScopeLogs, NodeKeyJSON, PresentationError, PresentationStatus, UpdateInfoJSON, VariableValue, VariableValueJSON, VariableValueTypes,\n} from \"@itwin/presentation-common\";\nimport { HierarchyCacheMode, PresentationManagerMode } from \"./PresentationManager\";\n\n/** @internal */\nexport enum NativePlatformRequestTypes {\n GetRootNodes = \"GetRootNodes\",\n GetRootNodesCount = \"GetRootNodesCount\",\n GetChildren = \"GetChildren\",\n GetChildrenCount = \"GetChildrenCount\",\n GetNodePaths = \"GetNodePaths\",\n GetFilteredNodePaths = \"GetFilteredNodePaths\",\n GetContentSources = \"GetContentSources\",\n GetContentDescriptor = \"GetContentDescriptor\",\n GetContentSetSize = \"GetContentSetSize\",\n GetContent = \"GetContent\",\n GetDistinctValues = \"GetDistinctValues\",\n GetPagedDistinctValues = \"GetPagedDistinctValues\",\n GetDisplayLabel = \"GetDisplayLabel\",\n CompareHierarchies = \"CompareHierarchies\",\n}\n\n/**\n * Enumeration of unit systems supported by native presentation manager.\n * @internal\n */\nexport enum NativePresentationUnitSystem {\n Metric = \"metric\",\n BritishImperial = \"british-imperial\",\n UsCustomary = \"us-customary\",\n UsSurvey = \"us-survey\",\n}\n\n/** @internal */\nexport interface NativePresentationDefaultUnitFormats {\n [phenomenon: string]: {\n unitSystems: NativePresentationUnitSystem[];\n format: FormatProps;\n };\n}\n\n/** @internal */\nexport interface NativePresentationKeySetJSON {\n instanceKeys: Array<[string, string[]]>;\n nodeKeys: NodeKeyJSON[];\n}\n\n/** @internal */\nexport interface NativePlatformResponse<TResult> {\n result: TResult;\n diagnostics?: DiagnosticsScopeLogs;\n}\n\n/** @internal */\nexport interface NativePlatformDefinition extends IDisposable {\n getImodelAddon(imodel: IModelDb): any;\n\n setupRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\n setupSupplementalRulesetDirectories(directories: string[]): NativePlatformResponse<void>;\n\n forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>>;\n\n getRulesets(rulesetId: string): NativePlatformResponse<string>;\n addRuleset(serializedRulesetJson: string): NativePlatformResponse<string>;\n removeRuleset(rulesetId: string, hash: string): NativePlatformResponse<boolean>;\n clearRulesets(): NativePlatformResponse<void>;\n\n handleRequest(db: any, options: string): Promise<NativePlatformResponse<string>>;\n\n getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes): NativePlatformResponse<VariableValue>;\n setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValue): NativePlatformResponse<void>;\n unsetRulesetVariableValue(rulesetId: string, variableId: string): NativePlatformResponse<void>;\n\n getUpdateInfo(): NativePlatformResponse<UpdateInfoJSON | undefined>;\n updateHierarchyState(db: any, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string): NativePlatformResponse<void>;\n}\n\n/** @internal */\nexport interface DefaultNativePlatformProps {\n id: string;\n localeDirectories: string[];\n taskAllocationsMap: { [priority: number]: number };\n mode: PresentationManagerMode;\n isChangeTrackingEnabled: boolean;\n cacheConfig?: IModelJsNative.ECPresentationHierarchyCacheConfig;\n contentCacheSize?: number;\n defaultFormats?: NativePresentationDefaultUnitFormats;\n useMmap?: boolean | number;\n}\n\n/** @internal */\nexport const createDefaultNativePlatform = (props: DefaultNativePlatformProps): new () => NativePlatformDefinition => {\n // note the implementation is constructed here to make PresentationManager\n // usable without loading the actual addon (if addon is set to something other)\n return class implements NativePlatformDefinition {\n private _nativeAddon: IModelJsNative.ECPresentationManager;\n public constructor() {\n const mode = (props.mode === PresentationManagerMode.ReadOnly) ? IModelJsNative.ECPresentationManagerMode.ReadOnly : IModelJsNative.ECPresentationManagerMode.ReadWrite;\n const cacheConfig = props.cacheConfig ?? { mode: HierarchyCacheMode.Disk, directory: \"\" };\n const defaultFormats = props.defaultFormats ? this.getSerializedDefaultFormatsMap(props.defaultFormats) : {};\n this._nativeAddon = new IModelHost.platform.ECPresentationManager({ ...props, mode, cacheConfig, defaultFormats });\n }\n private getStatus(responseStatus: IModelJsNative.ECPresentationStatus): PresentationStatus {\n switch (responseStatus) {\n case IModelJsNative.ECPresentationStatus.InvalidArgument: return PresentationStatus.InvalidArgument;\n case IModelJsNative.ECPresentationStatus.Canceled: return PresentationStatus.Canceled;\n default: return PresentationStatus.Error;\n }\n }\n private getSerializedDefaultFormatsMap(defaultMap: NativePresentationDefaultUnitFormats) {\n const res: {\n [phenomenon: string]: {\n unitSystems: string[];\n serializedFormat: string;\n };\n } = {};\n Object.keys(defaultMap).forEach((key) => {\n const value = defaultMap[key];\n res[key] = { unitSystems: value.unitSystems, serializedFormat: JSON.stringify(value.format) };\n });\n\n return res;\n }\n private createSuccessResponse<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\n const retValue: NativePlatformResponse<T> = { result: response.result! };\n if (response.diagnostics)\n retValue.diagnostics = response.diagnostics;\n return retValue;\n }\n private handleResult<T>(response: IModelJsNative.ECPresentationManagerResponse<T>): NativePlatformResponse<T> {\n if (response.error)\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\n return this.createSuccessResponse(response);\n }\n private handleVoidResult(response: IModelJsNative.ECPresentationManagerResponse<void>): NativePlatformResponse<void> {\n if (response.error)\n throw new PresentationError(this.getStatus(response.error.status), response.error.message);\n return this.createSuccessResponse(response);\n }\n public dispose() {\n this._nativeAddon.dispose();\n }\n public async forceLoadSchemas(db: any): Promise<NativePlatformResponse<void>> {\n const response = await this._nativeAddon.forceLoadSchemas(db);\n if (response.error)\n throw new PresentationError(PresentationStatus.Error, response.error.message);\n return this.createSuccessResponse(response);\n }\n public setupRulesetDirectories(directories: string[]) {\n return this.handleVoidResult(this._nativeAddon.setupRulesetDirectories(directories));\n }\n public setupSupplementalRulesetDirectories(directories: string[]) {\n return this.handleVoidResult(this._nativeAddon.setupSupplementalRulesetDirectories(directories));\n }\n public getImodelAddon(imodel: IModelDb): any {\n if (!imodel.nativeDb)\n throw new PresentationError(PresentationStatus.InvalidArgument, \"imodel\");\n return imodel.nativeDb;\n }\n public getRulesets(rulesetId: string) {\n return this.handleResult(this._nativeAddon.getRulesets(rulesetId));\n }\n public addRuleset(serializedRulesetJson: string) {\n return this.handleResult(this._nativeAddon.addRuleset(serializedRulesetJson));\n }\n public removeRuleset(rulesetId: string, hash: string) {\n return this.handleResult(this._nativeAddon.removeRuleset(rulesetId, hash));\n }\n public clearRulesets() {\n return this.handleVoidResult(this._nativeAddon.clearRulesets());\n }\n public async handleRequest(db: any, options: string) {\n const requestGuid = this.handleResult(this._nativeAddon.queueRequest(db, options)).result;\n return new Promise((resolve: (result: NativePlatformResponse<any>) => void, reject) => {\n const interval = setInterval(() => {\n const pollResult = this._nativeAddon.pollResponse(requestGuid);\n if (pollResult.error) {\n if (pollResult.error.status !== IModelJsNative.ECPresentationStatus.Pending) {\n reject(new PresentationError(this.getStatus(pollResult.error.status), pollResult.error.message));\n clearInterval(interval);\n }\n return; // ignore 'pending' responses\n }\n resolve(this.createSuccessResponse(pollResult));\n clearInterval(interval);\n }, 20);\n });\n }\n public getRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes) {\n return this.handleResult(this._nativeAddon.getRulesetVariableValue(rulesetId, variableId, type));\n }\n public setRulesetVariableValue(rulesetId: string, variableId: string, type: VariableValueTypes, value: VariableValueJSON) {\n return this.handleVoidResult(this._nativeAddon.setRulesetVariableValue(rulesetId, variableId, type, value));\n }\n public unsetRulesetVariableValue(rulesetId: string, variableId: string) {\n return this.handleVoidResult(this._nativeAddon.unsetRulesetVariableValue(rulesetId, variableId));\n }\n public getUpdateInfo() {\n return this.handleResult(this._nativeAddon.getUpdateInfo());\n }\n public updateHierarchyState(db: any, rulesetId: string, changeType: \"nodesExpanded\" | \"nodesCollapsed\", serializedKeys: string) {\n return this.handleResult(this._nativeAddon.updateHierarchyState(db, rulesetId, changeType, serializedKeys));\n }\n };\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Presentation.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/Presentation.ts"],"names":[],"mappings":"AAIA;;GAEG;AAQH,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAMtF;;;;;GAKG;AACH,MAAM,WAAW,6BAA8B,SAAQ,wBAAwB;IAC7E;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,KAAK,mBAAmB,CAAC;IAElG;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,oBAAY,iBAAiB,GAAG,6BAA6B,GAAG,8BAA8B,CAAC;AAM/F;;;;;;;;;GASG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAgC;IACzD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAgD;IAC9E,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqB;IACnD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA0B;IAC3D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA0B;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkC;IAGzD,OAAO;IAEP,+DAA+D;IAC/D,WAAkB,SAAS,kCAA8B;IAEzD;;;;;;;;OAQG;WACW,UAAU,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI;IA6BzD;;;OAGG;WACW,SAAS,IAAI,IAAI;IAsB/B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IASlC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;;;OAIG;WACW,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAShE;;OAEG;WACW,iBAAiB,IAAI,MAAM;CAK1C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../../src/presentation-backend/Presentation.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA0D;AAC1D,sDAA0D;AAC1D,oDAAgD;AAChD,oEAA6G;AAC7G,mEAA4E;AAC5E,qEAAkE;AAClE,+DAAsF;AACtF,+DAA4D;AAC5D,yDAAsD;AAEtD,MAAM,qBAAqB,GAAW,KAAK,CAAC;AAyD5C;;;;;;;;;GASG;AACH,MAAa,YAAY;IASvB,0BAA0B;IAC1B,gBAAwB,CAAC;IAEzB,+DAA+D;IACxD,MAAM,KAAK,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEzD;;;;;;;;OAQG;IACI,MAAM,CAAC,UAAU,CAAC,KAAyB;;QAChD,wBAAU,CAAC,YAAY,CAAC,8CAAwB,EAAE,yCAAmB,CAAC,CAAC;QACvE,IAAI,sBAAO,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,kBAAkB,GAAG,+CAAsB,CAAC,QAAQ,EAAE,CAAC;SAC7D;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,yBAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC;YAClE,CAAC,CAAC,KAAK,CAAC,cAAc;YACtB,CAAC,CAAC,qBAAqB,CAAC;QAE1B,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,yCAAmB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;SAClE;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAgB,CAAkB;gBAC3D,OAAO,EAAE,IAAI,CAAC,mBAAmB;gBACjC,cAAc,EAAE,IAAI,CAAC,oBAAoB;gBACzC,uCAAuC;gBACvC,eAAe,EAAE,EAAE,GAAG,IAAI;gBAC1B,+DAA+D;gBAC/D,aAAa,EAAE,MAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,mCAAI,EAAE,GAAG,EAAE,GAAG,IAAI;gBACrE,mBAAmB;gBACnB,SAAS,EAAE,0BAA0B,CAAC,CAAC,EAAU,EAAE,EAAE,WAAC,OAAA,qBAAM,CAAC,OAAO,CAAC,yDAAiC,CAAC,mBAAmB,EAAE,mDAAmD,EAAE,sBAAsB,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,EAAA;gBAC9O,gBAAgB,EAAE,0BAA0B,CAAC,CAAC,EAAU,EAAE,EAAE,WAAC,OAAA,qBAAM,CAAC,OAAO,CAAC,yDAAiC,CAAC,mBAAmB,EAAE,kDAAkD,EAAE,sBAAsB,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,EAAA;gBACpP,aAAa,EAAE,0BAA0B,CAAC,GAAG,EAAE,CAAC,qBAAM,CAAC,OAAO,CAAC,yDAAiC,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;aACrK,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,SAAS;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC3B;QACD,wBAAU,CAAC,cAAc,CAAC,8CAAwB,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,IAAI,CAAC,eAAe;YACtB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACrC,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,QAAgB;QACjD,IAAI,OAA4B,CAAC;QACjC,IAAI,YAAY,CAAC,UAAU,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,oBAAoB;YAC3H,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;;YAE1F,OAAO,GAAG,IAAI,yCAAmB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,SAA0B;QAC5D,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,UAAU,CAAC,QAAiB;QACxC,IAAI,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ;YAC3E,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,IAAI,IAAI,CAAC,eAAe;YACtB,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;QAE/D,MAAM,IAAI,uCAAiB,CAAC,wCAAkB,CAAC,cAAc,EAAE,2EAA2E,CAAC,CAAC;IAC9I,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;YACpC,MAAM,IAAI,uCAAiB,CAAC,wCAAkB,CAAC,cAAc,EAAE,2EAA2E,CAAC,CAAC;QAC9I,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF;AAlHD,oCAkHC;AAED,SAAS,oBAAoB,CAAC,KAAwB;IACpD,OAAO,CAAC,CAAE,KAAwC,CAAC,gBAAgB,CAAC;AACtE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { IModelHost, IpcHost } from \"@itwin/core-backend\";\nimport { DisposeFunc, Logger } from \"@itwin/core-bentley\";\nimport { RpcManager } from \"@itwin/core-common\";\nimport { PresentationError, PresentationRpcInterface, PresentationStatus } from \"@itwin/presentation-common\";\nimport { PresentationBackendLoggerCategory } from \"./BackendLoggerCategory\";\nimport { PresentationIpcHandler } from \"./PresentationIpcHandler\";\nimport { PresentationManager, PresentationManagerProps } from \"./PresentationManager\";\nimport { PresentationRpcImpl } from \"./PresentationRpcImpl\";\nimport { TemporaryStorage } from \"./TemporaryStorage\";\n\nconst defaultRequestTimeout: number = 90000;\n\n/**\n * Props for initializing the [[Presentation]] library for using multiple [[PresentationManager]]\n * instances, one for each frontend.\n *\n * @public\n */\nexport interface MultiManagerPresentationProps extends PresentationManagerProps {\n /**\n * Factory method for creating separate managers for each client\n * @internal\n */\n clientManagerFactory?: (clientId: string, props: PresentationManagerProps) => PresentationManager;\n\n /**\n * Time in milliseconds after which the request will timeout.\n */\n requestTimeout?: number;\n\n /**\n * How much time should an unused client manager be stored in memory\n * before it's disposed.\n */\n unusedClientLifetime?: number;\n}\n\n/**\n * Props for initializing the [[Presentation]] library with ability to use a single\n * [[PresentationManager]] instance for handling all requests.\n *\n * @public\n */\nexport interface SingleManagerPresentationProps extends PresentationManagerProps {\n /**\n * How much time should an unused client manager be stored in memory\n * before it's disposed.\n */\n requestTimeout?: number;\n\n /**\n * Specifies to use single manager for all clients.\n * @alpha\n */\n useSingleManager?: boolean;\n}\n\n/**\n * Properties that can be used to configure [[Presentation]] API\n * @public\n */\nexport type PresentationProps = MultiManagerPresentationProps | SingleManagerPresentationProps;\n\ninterface ClientStoreItem {\n manager: PresentationManager;\n}\n\n/**\n * Static class used to statically set up Presentation library for the backend.\n * Basically what it does is:\n * - Register a RPC implementation\n * - Create a singleton [[PresentationManager]] instance\n * - Subscribe for [IModelHost.onBeforeShutdown]($core-backend) event and terminate\n * the presentation manager when that happens.\n *\n * @public\n */\nexport class Presentation {\n\n private static _initProps: PresentationProps | undefined;\n private static _clientsStorage: TemporaryStorage<ClientStoreItem> | undefined;\n private static _requestTimeout: number | undefined;\n private static _disposeIpcHandler: DisposeFunc | undefined;\n private static _shutdownListener: DisposeFunc | undefined;\n private static _manager: PresentationManager | undefined;\n\n /* istanbul ignore next */\n private constructor() { }\n\n /** Properties used to initialize the presentation framework */\n public static get initProps() { return this._initProps; }\n\n /**\n * Initializes Presentation library for the backend.\n *\n * See [this]($docs/presentation/Setup/index.md#backend) for an example.\n *\n * **Important:** The method should be called after a call to [IModelHost.startup]($core-backend)\n *\n * @param props Optional properties for [[PresentationManager]]\n */\n public static initialize(props?: PresentationProps): void {\n RpcManager.registerImpl(PresentationRpcInterface, PresentationRpcImpl);\n if (IpcHost.isValid) {\n this._disposeIpcHandler = PresentationIpcHandler.register();\n }\n this._initProps = props || {};\n this._shutdownListener = IModelHost.onBeforeShutdown.addListener(() => Presentation.terminate());\n this._requestTimeout = (props && props.requestTimeout !== undefined)\n ? props.requestTimeout\n : defaultRequestTimeout;\n\n if (isSingleManagerProps(this._initProps)) {\n this._manager = new PresentationManager(Presentation._initProps);\n } else {\n this._clientsStorage = new TemporaryStorage<ClientStoreItem>({\n factory: this.createClientManager,\n cleanupHandler: this.disposeClientManager,\n // cleanup unused managers every minute\n cleanupInterval: 60 * 1000,\n // by default, manager is disposed after 1 hour of being unused\n valueLifetime: this._initProps.unusedClientLifetime ?? 60 * 60 * 1000,\n // add some logging\n onCreated: /* istanbul ignore next */ (id: string) => Logger.logInfo(PresentationBackendLoggerCategory.PresentationManager, `Created a PresentationManager instance with ID: ${id}. Total instances: ${this._clientsStorage?.values.length}.`),\n onDisposedSingle: /* istanbul ignore next */ (id: string) => Logger.logInfo(PresentationBackendLoggerCategory.PresentationManager, `Disposed PresentationManager instance with ID: ${id}. Total instances: ${this._clientsStorage?.values.length}.`),\n onDisposedAll: /* istanbul ignore next */ () => Logger.logInfo(PresentationBackendLoggerCategory.PresentationManager, `Disposed all PresentationManager instances.`),\n });\n }\n }\n\n /**\n * Terminates Presentation. Consumers don't need to call this as it's automatically\n * called on [IModelHost.onBeforeShutdown]($core-backend) event.\n */\n public static terminate(): void {\n if (this._clientsStorage) {\n this._clientsStorage.dispose();\n this._clientsStorage = undefined;\n }\n if (this._shutdownListener) {\n this._shutdownListener();\n this._shutdownListener = undefined;\n }\n if (this._manager) {\n this._manager.dispose();\n this._manager = undefined;\n }\n RpcManager.unregisterImpl(PresentationRpcInterface);\n if (this._disposeIpcHandler) {\n this._disposeIpcHandler();\n }\n this._initProps = undefined;\n if (this._requestTimeout)\n this._requestTimeout = undefined;\n }\n\n private static createClientManager(clientId: string): ClientStoreItem {\n let manager: PresentationManager;\n if (Presentation._initProps && !isSingleManagerProps(Presentation._initProps) && Presentation._initProps.clientManagerFactory)\n manager = Presentation._initProps.clientManagerFactory(clientId, Presentation._initProps);\n else\n manager = new PresentationManager(Presentation._initProps);\n return { manager };\n }\n\n private static disposeClientManager(storeItem: ClientStoreItem) {\n storeItem.manager.dispose();\n }\n\n /**\n * Get an instance of [[PresentationManager]] for specific client\n * @param clientId ID of the client requesting presentation data. If no\n * ID is provided, the default [[PresentationManager]] is returned.\n */\n public static getManager(clientId?: string): PresentationManager {\n if (this._initProps && isSingleManagerProps(this._initProps) && this._manager)\n return this._manager;\n if (this._clientsStorage)\n return this._clientsStorage.getValue(clientId || \"\").manager;\n\n throw new PresentationError(PresentationStatus.NotInitialized, \"Presentation must be first initialized by calling Presentation.initialize\");\n }\n\n /**\n * Get the time in milliseconds that backend should respond in .\n */\n public static getRequestTimeout(): number {\n if (this._requestTimeout === undefined)\n throw new PresentationError(PresentationStatus.NotInitialized, \"Presentation must be first initialized by calling Presentation.initialize\");\n return this._requestTimeout;\n }\n}\n\nfunction isSingleManagerProps(props: PresentationProps): props is SingleManagerPresentationProps {\n return !!(props as SingleManagerPresentationProps).useSingleManager;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresentationIpcHandler.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAY,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,WAAW,EAAiC,wBAAwB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,0BAA0B,EAC/I,0BAA0B,EAC3B,MAAM,4BAA4B,CAAC;AAIpC,gBAAgB;AAChB,qBAAa,sBAAuB,SAAQ,UAAW,YAAW,wBAAwB;IACjF,WAAW,SAAiC;IAEtC,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresentationIpcHandler.js","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationIpcHandler.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAC7C,sDAA2D;AAC3D,oEAGoC;AACpC,mEAA4E;AAC5E,iDAA8C;AAE9C,gBAAgB;AAChB,MAAa,sBAAuB,SAAQ,yBAAU;IAAtD;;QACS,gBAAW,GAAG,mDAA6B,CAAC;IAsBrD,CAAC;IApBQ,KAAK,CAAC,kBAAkB,CAAC,MAAqD;QACnF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACjD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzG,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,MAAkC;QAClE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QACnD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,MAA+C;QAC/E,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACxE,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE;YACb,qBAAM,CAAC,QAAQ,CAAC,yDAAiC,CAAC,GAAG,EAAE,2DAA2D,CAAC,CAAC;YAEpH,OAAO;SACR;QACD,2BAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjJ,CAAC;CACF;AAvBD,wDAuBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RPC\r\n */\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { IModelDb, IpcHandler } from \"@itwin/core-backend\";\r\nimport {\r\n NodeKeyJSON, PRESENTATION_IPC_CHANNEL_NAME, PresentationIpcInterface, RulesetVariableJSON, SetRulesetVariableParams, UnsetRulesetVariableParams,\r\n UpdateHierarchyStateParams,\r\n} from \"@itwin/presentation-common\";\r\nimport { PresentationBackendLoggerCategory } from \"./BackendLoggerCategory\";\r\nimport { Presentation } from \"./Presentation\";\r\n\r\n/** @internal */\r\nexport class PresentationIpcHandler extends IpcHandler implements PresentationIpcInterface {\r\n public channelName = PRESENTATION_IPC_CHANNEL_NAME;\r\n\r\n public async setRulesetVariable(params: SetRulesetVariableParams<RulesetVariableJSON>): Promise<void> {\r\n const { clientId, rulesetId, variable } = params;\r\n Presentation.getManager(clientId).vars(rulesetId).setValue(variable.id, variable.type, variable.value);\r\n }\r\n\r\n public async unsetRulesetVariable(params: UnsetRulesetVariableParams): Promise<void> {\r\n const { clientId, rulesetId, variableId } = params;\r\n Presentation.getManager(clientId).vars(rulesetId).unset(variableId);\r\n }\r\n\r\n public async updateHierarchyState(params: UpdateHierarchyStateParams<NodeKeyJSON>): Promise<void> {\r\n const { clientId, imodelKey, rulesetId, changeType, nodeKeys } = params;\r\n const imodelDb = IModelDb.tryFindByKey(imodelKey);\r\n if (!imodelDb) {\r\n Logger.logError(PresentationBackendLoggerCategory.Ipc, \"Could not find IModelDb to perform hierarchy state update\");\r\n\r\n return;\r\n }\r\n Presentation.getManager(clientId).getNativePlatform().updateHierarchyState(imodelDb.nativeDb, rulesetId, changeType, JSON.stringify(nodeKeys));\r\n }\r\n}\r\n"]}
@@ -69,7 +69,11 @@ export interface MemoryHierarchyCacheConfig extends HierarchyCacheConfigBase {
69
69
  */
70
70
  export interface DiskHierarchyCacheConfig extends HierarchyCacheConfigBase {
71
71
  mode: HierarchyCacheMode.Disk;
72
- /** A directory for Presentation hierarchy cache. Defaults to location of the iModel. */
72
+ /**
73
+ * A directory for Presentation hierarchy cache. If set, the directory must exist.
74
+ *
75
+ * The default directory depends on the iModel and the way it's opened.
76
+ */
73
77
  directory?: string;
74
78
  }
75
79
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresentationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAe,QAAQ,EAA2B,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,OAAO,EAAE,+BAA+B,EAAgB,qBAAqB,EAAE,4BAA4B,EAA8B,UAAU,EACnJ,mBAAmB,EAAiC,0BAA0B,EAAE,2BAA2B,EAAE,iBAAiB,EAC9H,4BAA4B,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,4CAA4C,EAC9H,mCAAmC,EAAuB,oBAAoB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,WAAW,EAC7I,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAyC,WAAW,EAAE,OAAO,EAC1I,eAAe,EAAE,cAAc,EAAE,4BAA4B,EAC9D,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACwB,wBAAwB,EACrD,4BAA4B,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAA+B,MAAM,2BAA2B,CAAC;AAKjG;;;GAGG;AACH,oBAAY,uBAAuB;IACjC;;;OAGG;IACH,QAAQ,IAAA;IAER;;;OAGG;IACH,SAAS,IAAA;CACV;AAED;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B;;OAEG;IACH,MAAM,WAAW;IACjB;;;OAGG;IACH,IAAI,SAAS;IACb;;;OAGG;IACH,MAAM,WAAW;CAClB;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,0BAA0B,GAAG,wBAAwB,GAAG,iBAAiB,CAAC;AAE7G;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA2B,SAAQ,wBAAwB;IAC1E,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB;IACjE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAEhC,gEAAgE;IAChE,IAAI,CAAC,EAAE,wBAAwB,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,sBAAsB,CAAC,EAAE,MAAM,GAAG;QAChC,4CAA4C;QAC5C,OAAO,EAAE,MAAM,CAAC;QAChB,2CAA2C;QAC3C,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAElC;;;OAGG;IACH,cAAc,CAAC,EAAE;QACf,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC;KACxC,CAAC;IAEF;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAE/B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,2BAA2B;IAC3B,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;QAEnC,uCAAuC;QACvC,OAAO,CAAC,EAAE,kBAAkB,CAAC;KAC9B,CAAC;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE3B;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,gBAAgB;IAChB,KAAK,CAAC,EAAE,wBAAwB,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,eAAe,CAAC,CAA2B;IACnD,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,4BAA4B,CAAC,CAAa;IAClD,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC,oEAAoE;IAC7D,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,6EAA6E;IACtE,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAEnD;;;OAGG;gBACS,KAAK,CAAC,EAAE,wBAAwB;IA2C5C;;OAEG;IACI,OAAO;IAiBd,gDAAgD;IAChD,IAAW,KAAK,6BAA0B;IAE1C;;OAEG;IACI,QAAQ,IAAI,cAAc;IAEjC;;;OAGG;IACI,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB;IAKvD,OAAO,CAAC,cAAc,CAIpB;IAEF,gBAAgB;IACT,iBAAiB,QAAO,wBAAwB,CAIrD;IAEF,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,kBAAkB;IAc1B,gBAAgB;IACT,YAAY,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;IAIjD,OAAO,CAAC,uBAAuB;IAQ/B,2FAA2F;IAC3F,OAAO,CAAC,eAAe;IAMvB;;;OAGG;IACU,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAWtH;;;OAGG;IACU,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpH;;;;OAIG;IACU,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,4CAA4C,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAW1I;;;;OAIG;IACU,oBAAoB,CAAC,cAAc,EAAE,WAAW,CAAC,mCAAmC,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAUzI,YAAY;IACC,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAY/H;;;OAGG;IACU,oBAAoB,CAAC,cAAc,EAAE,WAAW,CAAC,+BAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAclJ;;;OAGG;IACU,iBAAiB,CAAC,cAAc,EAAE,WAAW,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,GAAG,mBAAmB,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAYvJ;;;OAGG;IACU,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,GAAG,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAYpK;;;;;;OAMG;IACU,sBAAsB,CAAC,cAAc,EAAE,WAAW,CAAC,4BAA4B,CAAC,QAAQ,EAAE,UAAU,GAAG,mBAAmB,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAmB7L;;;OAGG;IACU,oBAAoB,CAAC,cAAc,EAAE,WAAW,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAcjJ;;;OAGG;IACU,yBAAyB,CAAC,cAAc,EAAE,WAAW,CAAC,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAShJ;;;OAGG;IACU,0BAA0B,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAwB3J;;;OAGG;IACU,kBAAkB,CAAC,eAAe,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAInH;;;OAGG;IACU,gBAAgB,CAAC,cAAc,EAAE,4BAA4B,CAAC,QAAQ,CAAC,GAAG;QAAE,GAAG,EAAE,UAAU,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAKjI,OAAO;IAwBrB;;;OAGG;IACU,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAyB3H;AA2BD,gBAAgB;AAChB,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,GAAG,4BAA4B,CAsBpK"}
@@ -25,17 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  __setModuleDefault(result, mod);
26
26
  return result;
27
27
  };
28
- var __rest = (this && this.__rest) || function (s, e) {
29
- var t = {};
30
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
31
- t[p] = s[p];
32
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
33
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
34
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
35
- t[p[i]] = s[p[i]];
36
- }
37
- return t;
38
- };
39
28
  Object.defineProperty(exports, "__esModule", { value: true });
40
29
  exports.getKeysForContentRequest = exports.PresentationManager = exports.HierarchyCacheMode = exports.PresentationManagerMode = void 0;
41
30
  const hash = __importStar(require("object-hash"));
@@ -215,14 +204,14 @@ class PresentationManager {
215
204
  }
216
205
  ensureRulesetRegistered(rulesetOrId) {
217
206
  if (typeof rulesetOrId === "object") {
218
- const rulesetWithNativeId = Object.assign(Object.assign({}, rulesetOrId), { id: this.getRulesetId(rulesetOrId) });
207
+ const rulesetWithNativeId = { ...rulesetOrId, id: this.getRulesetId(rulesetOrId) };
219
208
  return this.rulesets().add(rulesetWithNativeId).id;
220
209
  }
221
210
  return rulesetOrId;
222
211
  }
223
212
  /** Registers given ruleset and replaces the ruleset with its ID in the resulting object */
224
213
  registerRuleset(options) {
225
- const { rulesetOrId } = options, strippedOptions = __rest(options, ["rulesetOrId"]);
214
+ const { rulesetOrId, ...strippedOptions } = options;
226
215
  const registeredRulesetId = this.ensureRulesetRegistered(rulesetOrId);
227
216
  return { rulesetId: registeredRulesetId, strippedOptions };
228
217
  }
@@ -231,8 +220,13 @@ class PresentationManager {
231
220
  * @public
232
221
  */
233
222
  async getNodes(requestOptions) {
234
- const _a = this.registerRuleset(requestOptions), { rulesetId } = _a, _b = _a.strippedOptions, { parentKey } = _b, strippedOptions = __rest(_b, ["parentKey"]);
235
- const params = Object.assign(Object.assign({ requestId: parentKey ? NativePlatform_1.NativePlatformRequestTypes.GetChildren : NativePlatform_1.NativePlatformRequestTypes.GetRootNodes, rulesetId }, strippedOptions), { nodeKey: parentKey });
223
+ const { rulesetId, strippedOptions: { parentKey, ...strippedOptions } } = this.registerRuleset(requestOptions);
224
+ const params = {
225
+ requestId: parentKey ? NativePlatform_1.NativePlatformRequestTypes.GetChildren : NativePlatform_1.NativePlatformRequestTypes.GetRootNodes,
226
+ rulesetId,
227
+ ...strippedOptions,
228
+ nodeKey: parentKey,
229
+ };
236
230
  return this.request(params, presentation_common_1.Node.listReviver);
237
231
  }
238
232
  /**
@@ -240,8 +234,13 @@ class PresentationManager {
240
234
  * @public
241
235
  */
242
236
  async getNodesCount(requestOptions) {
243
- const _a = this.registerRuleset(requestOptions), { rulesetId } = _a, _b = _a.strippedOptions, { parentKey } = _b, strippedOptions = __rest(_b, ["parentKey"]);
244
- const params = Object.assign(Object.assign({ requestId: parentKey ? NativePlatform_1.NativePlatformRequestTypes.GetChildrenCount : NativePlatform_1.NativePlatformRequestTypes.GetRootNodesCount, rulesetId }, strippedOptions), { nodeKey: parentKey });
237
+ const { rulesetId, strippedOptions: { parentKey, ...strippedOptions } } = this.registerRuleset(requestOptions);
238
+ const params = {
239
+ requestId: parentKey ? NativePlatform_1.NativePlatformRequestTypes.GetChildrenCount : NativePlatform_1.NativePlatformRequestTypes.GetRootNodesCount,
240
+ rulesetId,
241
+ ...strippedOptions,
242
+ nodeKey: parentKey,
243
+ };
245
244
  return this.request(params);
246
245
  }
247
246
  /**
@@ -250,8 +249,13 @@ class PresentationManager {
250
249
  * @public
251
250
  */
252
251
  async getNodePaths(requestOptions) {
253
- const _a = this.registerRuleset(requestOptions), { rulesetId } = _a, _b = _a.strippedOptions, { instancePaths } = _b, strippedOptions = __rest(_b, ["instancePaths"]);
254
- const params = Object.assign(Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetNodePaths, rulesetId }, strippedOptions), { paths: instancePaths.map((p) => p.map((s) => presentation_common_1.InstanceKey.toJSON(s))) });
252
+ const { rulesetId, strippedOptions: { instancePaths, ...strippedOptions } } = this.registerRuleset(requestOptions);
253
+ const params = {
254
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetNodePaths,
255
+ rulesetId,
256
+ ...strippedOptions,
257
+ paths: instancePaths.map((p) => p.map((s) => presentation_common_1.InstanceKey.toJSON(s))),
258
+ };
255
259
  return this.request(params, presentation_common_1.NodePathElement.listReviver);
256
260
  }
257
261
  /**
@@ -261,12 +265,20 @@ class PresentationManager {
261
265
  */
262
266
  async getFilteredNodePaths(requestOptions) {
263
267
  const { rulesetId, strippedOptions } = this.registerRuleset(requestOptions);
264
- const params = Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetFilteredNodePaths, rulesetId }, strippedOptions);
268
+ const params = {
269
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetFilteredNodePaths,
270
+ rulesetId,
271
+ ...strippedOptions,
272
+ };
265
273
  return this.request(params, presentation_common_1.NodePathElement.listReviver);
266
274
  }
267
275
  /** @beta */
268
276
  async getContentSources(requestOptions) {
269
- const params = Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentSources, rulesetId: "ElementProperties" }, requestOptions);
277
+ const params = {
278
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentSources,
279
+ rulesetId: "ElementProperties",
280
+ ...requestOptions,
281
+ };
270
282
  const reviver = (key, value) => {
271
283
  return key === "" ? presentation_common_1.SelectClassInfo.listFromCompressedJSON(value.sources, value.classesMap) : value;
272
284
  };
@@ -278,7 +290,12 @@ class PresentationManager {
278
290
  */
279
291
  async getContentDescriptor(requestOptions) {
280
292
  const { rulesetId, strippedOptions } = this.registerRuleset(requestOptions);
281
- const params = Object.assign(Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentDescriptor, rulesetId }, strippedOptions), { keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)) });
293
+ const params = {
294
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentDescriptor,
295
+ rulesetId,
296
+ ...strippedOptions,
297
+ keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
298
+ };
282
299
  const reviver = (key, value) => {
283
300
  return key === "" ? presentation_common_1.Descriptor.fromJSON(value) : value;
284
301
  };
@@ -289,8 +306,14 @@ class PresentationManager {
289
306
  * @public
290
307
  */
291
308
  async getContentSetSize(requestOptions) {
292
- const _a = this.registerRuleset(requestOptions), { rulesetId } = _a, _b = _a.strippedOptions, { descriptor } = _b, strippedOptions = __rest(_b, ["descriptor"]);
293
- const params = Object.assign(Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentSetSize, rulesetId }, strippedOptions), { keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)), descriptorOverrides: createContentDescriptorOverrides(descriptor) });
309
+ const { rulesetId, strippedOptions: { descriptor, ...strippedOptions } } = this.registerRuleset(requestOptions);
310
+ const params = {
311
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContentSetSize,
312
+ rulesetId,
313
+ ...strippedOptions,
314
+ keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
315
+ descriptorOverrides: createContentDescriptorOverrides(descriptor),
316
+ };
294
317
  return this.request(params);
295
318
  }
296
319
  /**
@@ -298,8 +321,14 @@ class PresentationManager {
298
321
  * @public
299
322
  */
300
323
  async getContent(requestOptions) {
301
- const _a = this.registerRuleset(requestOptions), { rulesetId } = _a, _b = _a.strippedOptions, { descriptor } = _b, strippedOptions = __rest(_b, ["descriptor"]);
302
- const params = Object.assign(Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContent, rulesetId }, strippedOptions), { keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)), descriptorOverrides: createContentDescriptorOverrides(descriptor) });
324
+ const { rulesetId, strippedOptions: { descriptor, ...strippedOptions } } = this.registerRuleset(requestOptions);
325
+ const params = {
326
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetContent,
327
+ rulesetId,
328
+ ...strippedOptions,
329
+ keys: getKeysForContentRequest(requestOptions.keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
330
+ descriptorOverrides: createContentDescriptorOverrides(descriptor),
331
+ };
303
332
  return this.request(params, presentation_common_1.Content.reviver);
304
333
  }
305
334
  /**
@@ -311,8 +340,14 @@ class PresentationManager {
311
340
  */
312
341
  async getPagedDistinctValues(requestOptions) {
313
342
  const { rulesetId, strippedOptions } = this.registerRuleset(requestOptions);
314
- const { descriptor, keys } = strippedOptions, strippedOptionsNoDescriptorAndKeys = __rest(strippedOptions, ["descriptor", "keys"]);
315
- const params = Object.assign(Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetPagedDistinctValues, rulesetId }, strippedOptionsNoDescriptorAndKeys), { keys: getKeysForContentRequest(keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)), descriptorOverrides: createContentDescriptorOverrides(descriptor) });
343
+ const { descriptor, keys, ...strippedOptionsNoDescriptorAndKeys } = strippedOptions;
344
+ const params = {
345
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetPagedDistinctValues,
346
+ rulesetId,
347
+ ...strippedOptionsNoDescriptorAndKeys,
348
+ keys: getKeysForContentRequest(keys, (map) => bisElementInstanceKeysProcessor(requestOptions.imodel, map)),
349
+ descriptorOverrides: createContentDescriptorOverrides(descriptor),
350
+ };
316
351
  const reviver = (key, value) => {
317
352
  return key === "" ? {
318
353
  total: value.total,
@@ -326,11 +361,16 @@ class PresentationManager {
326
361
  * @beta
327
362
  */
328
363
  async getElementProperties(requestOptions) {
329
- const { elementId } = requestOptions, optionsNoElementId = __rest(requestOptions, ["elementId"]);
330
- const content = await this.getContent(Object.assign(Object.assign({}, optionsNoElementId), { descriptor: {
364
+ const { elementId, ...optionsNoElementId } = requestOptions;
365
+ const content = await this.getContent({
366
+ ...optionsNoElementId,
367
+ descriptor: {
331
368
  displayType: presentation_common_1.DefaultContentDisplayTypes.PropertyPane,
332
369
  contentFlags: presentation_common_1.ContentFlags.ShowLabels,
333
- }, rulesetOrId: "ElementProperties", keys: new presentation_common_1.KeySet([{ className: "BisCore:Element", id: elementId }]) }));
370
+ },
371
+ rulesetOrId: "ElementProperties",
372
+ keys: new presentation_common_1.KeySet([{ className: "BisCore:Element", id: elementId }]),
373
+ });
334
374
  return (0, ElementPropertiesHelper_1.buildElementProperties)(content);
335
375
  }
336
376
  /**
@@ -338,7 +378,11 @@ class PresentationManager {
338
378
  * @public
339
379
  */
340
380
  async getDisplayLabelDefinition(requestOptions) {
341
- const params = Object.assign(Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.GetDisplayLabel }, requestOptions), { key: presentation_common_1.InstanceKey.toJSON(requestOptions.key) });
381
+ const params = {
382
+ requestId: NativePlatform_1.NativePlatformRequestTypes.GetDisplayLabel,
383
+ ...requestOptions,
384
+ key: presentation_common_1.InstanceKey.toJSON(requestOptions.key),
385
+ };
342
386
  return this.request(params, presentation_common_1.LabelDefinition.reviver);
343
387
  }
344
388
  /**
@@ -351,10 +395,15 @@ class PresentationManager {
351
395
  return (0, Utils_1.getElementKey)(requestOptions.imodel, k.id);
352
396
  return k;
353
397
  }).filter((k) => !!k);
354
- const contentRequestOptions = Object.assign(Object.assign({}, requestOptions), { rulesetOrId: "RulesDrivenECPresentationManager_RulesetId_DisplayLabel", descriptor: {
398
+ const contentRequestOptions = {
399
+ ...requestOptions,
400
+ rulesetOrId: "RulesDrivenECPresentationManager_RulesetId_DisplayLabel",
401
+ descriptor: {
355
402
  displayType: presentation_common_1.DefaultContentDisplayTypes.List,
356
403
  contentFlags: presentation_common_1.ContentFlags.ShowLabels | presentation_common_1.ContentFlags.NoFields,
357
- }, keys: new presentation_common_1.KeySet(concreteKeys) });
404
+ },
405
+ keys: new presentation_common_1.KeySet(concreteKeys),
406
+ };
358
407
  const content = await this.getContent(contentRequestOptions);
359
408
  return concreteKeys.map((key) => {
360
409
  const item = content ? content.contentSet.find((it) => it.primaryKeys.length > 0 && presentation_common_1.InstanceKey.compare(it.primaryKeys[0], key) === 0) : undefined;
@@ -375,19 +424,23 @@ class PresentationManager {
375
424
  * @public
376
425
  */
377
426
  async computeSelection(requestOptions) {
378
- const { ids, scopeId } = requestOptions, opts = __rest(requestOptions, ["ids", "scopeId"]); // eslint-disable-line @typescript-eslint/no-unused-vars
427
+ const { ids, scopeId, ...opts } = requestOptions; // eslint-disable-line @typescript-eslint/no-unused-vars
379
428
  return SelectionScopesHelper_1.SelectionScopesHelper.computeSelection(opts, ids, scopeId);
380
429
  }
381
430
  async request(params, reviver) {
382
- const { requestId, imodel, locale, unitSystem, diagnostics } = params, strippedParams = __rest(params, ["requestId", "imodel", "locale", "unitSystem", "diagnostics"]);
431
+ const { requestId, imodel, locale, unitSystem, diagnostics, ...strippedParams } = params;
383
432
  const imodelAddon = this.getNativePlatform().getImodelAddon(imodel);
384
433
  const nativeRequestParams = {
385
434
  requestId,
386
- params: Object.assign({ locale: normalizeLocale(locale !== null && locale !== void 0 ? locale : this.activeLocale), unitSystem: toOptionalNativeUnitSystem(unitSystem !== null && unitSystem !== void 0 ? unitSystem : this.activeUnitSystem) }, strippedParams),
435
+ params: {
436
+ locale: normalizeLocale(locale !== null && locale !== void 0 ? locale : this.activeLocale),
437
+ unitSystem: toOptionalNativeUnitSystem(unitSystem !== null && unitSystem !== void 0 ? unitSystem : this.activeUnitSystem),
438
+ ...strippedParams,
439
+ },
387
440
  };
388
441
  let diagnosticsListener;
389
442
  if (diagnostics) {
390
- const { handler: tempDiagnosticsListener } = diagnostics, diagnosticsOptions = __rest(diagnostics, ["handler"]);
443
+ const { handler: tempDiagnosticsListener, ...diagnosticsOptions } = diagnostics;
391
444
  diagnosticsListener = tempDiagnosticsListener;
392
445
  nativeRequestParams.params.diagnostics = diagnosticsOptions;
393
446
  }
@@ -403,14 +456,22 @@ class PresentationManager {
403
456
  var _a, _b;
404
457
  if (!requestOptions.prev.rulesetOrId && !requestOptions.prev.rulesetVariables)
405
458
  return { changes: [] };
406
- const _c = this.registerRuleset(requestOptions).strippedOptions, { prev, rulesetVariables } = _c, options = __rest(_c, ["prev", "rulesetVariables"]);
459
+ const { strippedOptions: { prev, rulesetVariables, ...options } } = this.registerRuleset(requestOptions);
407
460
  const currRulesetId = this.getRulesetIdObject(requestOptions.rulesetOrId);
408
461
  const prevRulesetId = prev.rulesetOrId ? this.getRulesetIdObject(prev.rulesetOrId) : currRulesetId;
409
462
  if (prevRulesetId.parts.id !== currRulesetId.parts.id)
410
463
  throw new presentation_common_1.PresentationError(presentation_common_1.PresentationStatus.InvalidArgument, "Can't compare rulesets with different IDs");
411
464
  const currRulesetVariables = rulesetVariables !== null && rulesetVariables !== void 0 ? rulesetVariables : [];
412
465
  const prevRulesetVariables = (_a = prev.rulesetVariables) !== null && _a !== void 0 ? _a : currRulesetVariables;
413
- const params = Object.assign(Object.assign({ requestId: NativePlatform_1.NativePlatformRequestTypes.CompareHierarchies }, options), { prevRulesetId: prevRulesetId.uniqueId, currRulesetId: currRulesetId.uniqueId, prevRulesetVariables: JSON.stringify(prevRulesetVariables), currRulesetVariables: JSON.stringify(currRulesetVariables), expandedNodeKeys: JSON.stringify((_b = options.expandedNodeKeys) !== null && _b !== void 0 ? _b : []) });
466
+ const params = {
467
+ requestId: NativePlatform_1.NativePlatformRequestTypes.CompareHierarchies,
468
+ ...options,
469
+ prevRulesetId: prevRulesetId.uniqueId,
470
+ currRulesetId: currRulesetId.uniqueId,
471
+ prevRulesetVariables: JSON.stringify(prevRulesetVariables),
472
+ currRulesetVariables: JSON.stringify(currRulesetVariables),
473
+ expandedNodeKeys: JSON.stringify((_b = options.expandedNodeKeys) !== null && _b !== void 0 ? _b : []),
474
+ };
414
475
  return this.request(params, (key, value) => ((key === "") ? presentation_common_1.HierarchyCompareInfo.fromJSON(value) : value));
415
476
  }
416
477
  }
@@ -518,9 +579,9 @@ const toNativeUnitFormatsMap = (map) => {
518
579
  };
519
580
  const createCacheConfig = (config) => {
520
581
  if ((config === null || config === void 0 ? void 0 : config.mode) === HierarchyCacheMode.Disk)
521
- return Object.assign(Object.assign({}, config), { directory: normalizeDirectory(config.directory) });
582
+ return { ...config, directory: normalizeDirectory(config.directory) };
522
583
  if ((config === null || config === void 0 ? void 0 : config.mode) === HierarchyCacheMode.Hybrid)
523
- return Object.assign(Object.assign({}, config), { disk: config.disk ? Object.assign(Object.assign({}, config.disk), { directory: normalizeDirectory(config.disk.directory) }) : undefined });
584
+ return { ...config, disk: config.disk ? { ...config.disk, directory: normalizeDirectory(config.disk.directory) } : undefined };
524
585
  if ((config === null || config === void 0 ? void 0 : config.mode) === HierarchyCacheMode.Memory)
525
586
  return config;
526
587
  return { mode: HierarchyCacheMode.Disk, directory: "" };