@itwin/appui-abstract 4.0.0-dev.52 → 4.0.0-dev.55

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts +30 -30
  2. package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
  3. package/lib/cjs/appui-abstract/BaseUiItemsProvider.js +79 -79
  4. package/lib/cjs/appui-abstract/UiAdmin.d.ts +221 -221
  5. package/lib/cjs/appui-abstract/UiAdmin.js +224 -224
  6. package/lib/cjs/appui-abstract/UiAdmin.js.map +1 -1
  7. package/lib/cjs/appui-abstract/UiItemsManager.d.ts +113 -113
  8. package/lib/cjs/appui-abstract/UiItemsManager.d.ts.map +1 -1
  9. package/lib/cjs/appui-abstract/UiItemsManager.js +193 -193
  10. package/lib/cjs/appui-abstract/UiItemsManager.js.map +1 -1
  11. package/lib/cjs/appui-abstract/UiItemsProvider.d.ts +29 -29
  12. package/lib/cjs/appui-abstract/UiItemsProvider.js +9 -9
  13. package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts +91 -91
  14. package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
  15. package/lib/cjs/appui-abstract/backstage/BackstageItem.js +70 -70
  16. package/lib/cjs/appui-abstract/backstage/BackstageItem.js.map +1 -1
  17. package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.d.ts +38 -38
  18. package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js +133 -133
  19. package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
  20. package/lib/cjs/appui-abstract/common/KeyboardKey.d.ts +51 -51
  21. package/lib/cjs/appui-abstract/common/KeyboardKey.js +63 -63
  22. package/lib/cjs/appui-abstract/content/ContentLayoutProps.d.ts +62 -62
  23. package/lib/cjs/appui-abstract/content/ContentLayoutProps.js +9 -9
  24. package/lib/cjs/appui-abstract/content/StandardContentLayouts.d.ts +19 -19
  25. package/lib/cjs/appui-abstract/content/StandardContentLayouts.js +108 -108
  26. package/lib/cjs/appui-abstract/content/StandardContentLayouts.js.map +1 -1
  27. package/lib/cjs/appui-abstract/dialogs/DialogItem.d.ts +76 -76
  28. package/lib/cjs/appui-abstract/dialogs/DialogItem.js +67 -67
  29. package/lib/cjs/appui-abstract/dialogs/UiDataProvider.d.ts +55 -55
  30. package/lib/cjs/appui-abstract/dialogs/UiDataProvider.js +66 -66
  31. package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.d.ts +97 -97
  32. package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js +175 -175
  33. package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
  34. package/lib/cjs/appui-abstract/items/AbstractItemProps.d.ts +53 -53
  35. package/lib/cjs/appui-abstract/items/AbstractItemProps.d.ts.map +1 -1
  36. package/lib/cjs/appui-abstract/items/AbstractItemProps.js +9 -9
  37. package/lib/cjs/appui-abstract/items/AbstractMenuItemProps.d.ts +20 -20
  38. package/lib/cjs/appui-abstract/items/AbstractMenuItemProps.js +9 -9
  39. package/lib/cjs/appui-abstract/items/AbstractToolbarProps.d.ts +13 -13
  40. package/lib/cjs/appui-abstract/items/AbstractToolbarProps.js +9 -9
  41. package/lib/cjs/appui-abstract/items/BadgeType.d.ts +14 -14
  42. package/lib/cjs/appui-abstract/items/BadgeType.js +22 -22
  43. package/lib/cjs/appui-abstract/items/ConditionalBooleanValue.d.ts +27 -27
  44. package/lib/cjs/appui-abstract/items/ConditionalBooleanValue.js +60 -60
  45. package/lib/cjs/appui-abstract/items/ConditionalStringValue.d.ts +29 -29
  46. package/lib/cjs/appui-abstract/items/ConditionalStringValue.js +62 -62
  47. package/lib/cjs/appui-abstract/items/ProvidedItem.d.ts +11 -11
  48. package/lib/cjs/appui-abstract/items/ProvidedItem.js +9 -9
  49. package/lib/cjs/appui-abstract/items/RelativePosition.d.ts +18 -18
  50. package/lib/cjs/appui-abstract/items/RelativePosition.js +26 -26
  51. package/lib/cjs/appui-abstract/items/StageUsage.d.ts +16 -16
  52. package/lib/cjs/appui-abstract/items/StageUsage.js +24 -24
  53. package/lib/cjs/appui-abstract/notification/MessagePresenter.d.ts +42 -42
  54. package/lib/cjs/appui-abstract/notification/MessagePresenter.js +24 -24
  55. package/lib/cjs/appui-abstract/notification/MessageSeverity.d.ts +15 -15
  56. package/lib/cjs/appui-abstract/notification/MessageSeverity.js +23 -23
  57. package/lib/cjs/appui-abstract/properties/Description.d.ts +127 -127
  58. package/lib/cjs/appui-abstract/properties/Description.js +196 -196
  59. package/lib/cjs/appui-abstract/properties/EditorParams.d.ts +260 -260
  60. package/lib/cjs/appui-abstract/properties/EditorParams.d.ts.map +1 -1
  61. package/lib/cjs/appui-abstract/properties/EditorParams.js +106 -106
  62. package/lib/cjs/appui-abstract/properties/PrimitiveTypes.d.ts +60 -60
  63. package/lib/cjs/appui-abstract/properties/PrimitiveTypes.js +9 -9
  64. package/lib/cjs/appui-abstract/properties/Record.d.ts +57 -57
  65. package/lib/cjs/appui-abstract/properties/Record.js +78 -78
  66. package/lib/cjs/appui-abstract/properties/StandardEditorNames.d.ts +22 -22
  67. package/lib/cjs/appui-abstract/properties/StandardEditorNames.js +30 -30
  68. package/lib/cjs/appui-abstract/properties/StandardTypeNames.d.ts +30 -30
  69. package/lib/cjs/appui-abstract/properties/StandardTypeNames.js +39 -39
  70. package/lib/cjs/appui-abstract/properties/Value.d.ts +49 -49
  71. package/lib/cjs/appui-abstract/properties/Value.d.ts.map +1 -1
  72. package/lib/cjs/appui-abstract/properties/Value.js +20 -20
  73. package/lib/cjs/appui-abstract/quantity/BaseQuantityDescription.d.ts +22 -22
  74. package/lib/cjs/appui-abstract/quantity/BaseQuantityDescription.js +48 -48
  75. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts +128 -128
  76. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
  77. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js +87 -87
  78. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
  79. package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.d.ts +39 -39
  80. package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js +135 -135
  81. package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
  82. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts +121 -121
  83. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
  84. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js +64 -64
  85. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
  86. package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.d.ts +45 -45
  87. package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js +235 -235
  88. package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
  89. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts +29 -29
  90. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js +51 -51
  91. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  92. package/lib/cjs/appui-abstract/utils/PointProps.d.ts +10 -10
  93. package/lib/cjs/appui-abstract/utils/PointProps.js +9 -9
  94. package/lib/cjs/appui-abstract/utils/UiError.d.ts +12 -12
  95. package/lib/cjs/appui-abstract/utils/UiError.js +22 -22
  96. package/lib/cjs/appui-abstract/utils/UiEvent.d.ts +9 -9
  97. package/lib/cjs/appui-abstract/utils/UiEvent.js +17 -17
  98. package/lib/cjs/appui-abstract/utils/UiEventDispatcher.d.ts +46 -46
  99. package/lib/cjs/appui-abstract/utils/UiEventDispatcher.js +131 -131
  100. package/lib/cjs/appui-abstract/utils/callbacks.d.ts +20 -20
  101. package/lib/cjs/appui-abstract/utils/callbacks.d.ts.map +1 -1
  102. package/lib/cjs/appui-abstract/utils/callbacks.js +9 -9
  103. package/lib/cjs/appui-abstract/utils/filter/charCode.d.ts +416 -416
  104. package/lib/cjs/appui-abstract/utils/filter/charCode.js +6 -6
  105. package/lib/cjs/appui-abstract/utils/filter/filters.d.ts +98 -98
  106. package/lib/cjs/appui-abstract/utils/filter/filters.d.ts.map +1 -1
  107. package/lib/cjs/appui-abstract/utils/filter/filters.js +709 -709
  108. package/lib/cjs/appui-abstract/utils/filter/filters.js.map +1 -1
  109. package/lib/cjs/appui-abstract/utils/filter/map.d.ts +59 -59
  110. package/lib/cjs/appui-abstract/utils/filter/map.js +402 -402
  111. package/lib/cjs/appui-abstract/utils/filter/map.js.map +1 -1
  112. package/lib/cjs/appui-abstract/utils/filter/strings.d.ts +20 -20
  113. package/lib/cjs/appui-abstract/utils/filter/strings.js +78 -78
  114. package/lib/cjs/appui-abstract/utils/filter/strings.js.map +1 -1
  115. package/lib/cjs/appui-abstract/utils/isLetter.d.ts +9 -9
  116. package/lib/cjs/appui-abstract/utils/isLetter.js +19 -19
  117. package/lib/cjs/appui-abstract/utils/misc.d.ts +11 -11
  118. package/lib/cjs/appui-abstract/utils/misc.js +36 -36
  119. package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.d.ts +86 -86
  120. package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.js +9 -9
  121. package/lib/cjs/appui-abstract/widget/StagePanel.d.ts +36 -36
  122. package/lib/cjs/appui-abstract/widget/StagePanel.js +46 -46
  123. package/lib/cjs/appui-abstract/widget/WidgetState.d.ts +19 -19
  124. package/lib/cjs/appui-abstract/widget/WidgetState.js +27 -27
  125. package/lib/cjs/appui-abstract.d.ts +103 -103
  126. package/lib/cjs/appui-abstract.js +123 -119
  127. package/lib/cjs/appui-abstract.js.map +1 -1
  128. package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts +30 -30
  129. package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
  130. package/lib/esm/appui-abstract/BaseUiItemsProvider.js +75 -75
  131. package/lib/esm/appui-abstract/UiAdmin.d.ts +221 -221
  132. package/lib/esm/appui-abstract/UiAdmin.js +220 -219
  133. package/lib/esm/appui-abstract/UiAdmin.js.map +1 -1
  134. package/lib/esm/appui-abstract/UiItemsManager.d.ts +113 -113
  135. package/lib/esm/appui-abstract/UiItemsManager.d.ts.map +1 -1
  136. package/lib/esm/appui-abstract/UiItemsManager.js +190 -189
  137. package/lib/esm/appui-abstract/UiItemsManager.js.map +1 -1
  138. package/lib/esm/appui-abstract/UiItemsProvider.d.ts +29 -29
  139. package/lib/esm/appui-abstract/UiItemsProvider.js +8 -8
  140. package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts +91 -91
  141. package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
  142. package/lib/esm/appui-abstract/backstage/BackstageItem.js +65 -64
  143. package/lib/esm/appui-abstract/backstage/BackstageItem.js.map +1 -1
  144. package/lib/esm/appui-abstract/backstage/BackstageItemsManager.d.ts +38 -38
  145. package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js +129 -129
  146. package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
  147. package/lib/esm/appui-abstract/common/KeyboardKey.d.ts +51 -51
  148. package/lib/esm/appui-abstract/common/KeyboardKey.js +59 -59
  149. package/lib/esm/appui-abstract/content/ContentLayoutProps.d.ts +62 -62
  150. package/lib/esm/appui-abstract/content/ContentLayoutProps.js +8 -8
  151. package/lib/esm/appui-abstract/content/StandardContentLayouts.d.ts +19 -19
  152. package/lib/esm/appui-abstract/content/StandardContentLayouts.js +105 -104
  153. package/lib/esm/appui-abstract/content/StandardContentLayouts.js.map +1 -1
  154. package/lib/esm/appui-abstract/dialogs/DialogItem.d.ts +76 -76
  155. package/lib/esm/appui-abstract/dialogs/DialogItem.js +63 -63
  156. package/lib/esm/appui-abstract/dialogs/UiDataProvider.d.ts +55 -55
  157. package/lib/esm/appui-abstract/dialogs/UiDataProvider.js +61 -61
  158. package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.d.ts +97 -97
  159. package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js +171 -170
  160. package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
  161. package/lib/esm/appui-abstract/items/AbstractItemProps.d.ts +53 -53
  162. package/lib/esm/appui-abstract/items/AbstractItemProps.d.ts.map +1 -1
  163. package/lib/esm/appui-abstract/items/AbstractItemProps.js +8 -8
  164. package/lib/esm/appui-abstract/items/AbstractMenuItemProps.d.ts +20 -20
  165. package/lib/esm/appui-abstract/items/AbstractMenuItemProps.js +8 -8
  166. package/lib/esm/appui-abstract/items/AbstractToolbarProps.d.ts +13 -13
  167. package/lib/esm/appui-abstract/items/AbstractToolbarProps.js +8 -8
  168. package/lib/esm/appui-abstract/items/BadgeType.d.ts +14 -14
  169. package/lib/esm/appui-abstract/items/BadgeType.js +19 -19
  170. package/lib/esm/appui-abstract/items/ConditionalBooleanValue.d.ts +27 -27
  171. package/lib/esm/appui-abstract/items/ConditionalBooleanValue.js +56 -56
  172. package/lib/esm/appui-abstract/items/ConditionalStringValue.d.ts +29 -29
  173. package/lib/esm/appui-abstract/items/ConditionalStringValue.js +58 -58
  174. package/lib/esm/appui-abstract/items/ProvidedItem.d.ts +11 -11
  175. package/lib/esm/appui-abstract/items/ProvidedItem.js +8 -8
  176. package/lib/esm/appui-abstract/items/RelativePosition.d.ts +18 -18
  177. package/lib/esm/appui-abstract/items/RelativePosition.js +23 -23
  178. package/lib/esm/appui-abstract/items/StageUsage.d.ts +16 -16
  179. package/lib/esm/appui-abstract/items/StageUsage.js +21 -21
  180. package/lib/esm/appui-abstract/notification/MessagePresenter.d.ts +42 -42
  181. package/lib/esm/appui-abstract/notification/MessagePresenter.js +21 -21
  182. package/lib/esm/appui-abstract/notification/MessageSeverity.d.ts +15 -15
  183. package/lib/esm/appui-abstract/notification/MessageSeverity.js +20 -20
  184. package/lib/esm/appui-abstract/properties/Description.d.ts +127 -127
  185. package/lib/esm/appui-abstract/properties/Description.js +192 -192
  186. package/lib/esm/appui-abstract/properties/EditorParams.d.ts +260 -260
  187. package/lib/esm/appui-abstract/properties/EditorParams.d.ts.map +1 -1
  188. package/lib/esm/appui-abstract/properties/EditorParams.js +97 -97
  189. package/lib/esm/appui-abstract/properties/PrimitiveTypes.d.ts +60 -60
  190. package/lib/esm/appui-abstract/properties/PrimitiveTypes.js +8 -8
  191. package/lib/esm/appui-abstract/properties/Record.d.ts +57 -57
  192. package/lib/esm/appui-abstract/properties/Record.js +74 -74
  193. package/lib/esm/appui-abstract/properties/StandardEditorNames.d.ts +22 -22
  194. package/lib/esm/appui-abstract/properties/StandardEditorNames.js +27 -27
  195. package/lib/esm/appui-abstract/properties/StandardTypeNames.d.ts +30 -30
  196. package/lib/esm/appui-abstract/properties/StandardTypeNames.js +36 -36
  197. package/lib/esm/appui-abstract/properties/Value.d.ts +49 -49
  198. package/lib/esm/appui-abstract/properties/Value.d.ts.map +1 -1
  199. package/lib/esm/appui-abstract/properties/Value.js +17 -17
  200. package/lib/esm/appui-abstract/quantity/BaseQuantityDescription.d.ts +22 -22
  201. package/lib/esm/appui-abstract/quantity/BaseQuantityDescription.js +44 -44
  202. package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts +128 -128
  203. package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
  204. package/lib/esm/appui-abstract/statusbar/StatusBarItem.js +81 -80
  205. package/lib/esm/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
  206. package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.d.ts +39 -39
  207. package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js +131 -131
  208. package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
  209. package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts +121 -121
  210. package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
  211. package/lib/esm/appui-abstract/toolbars/ToolbarItem.js +61 -60
  212. package/lib/esm/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
  213. package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.d.ts +45 -45
  214. package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js +231 -231
  215. package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
  216. package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts +29 -29
  217. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js +48 -47
  218. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  219. package/lib/esm/appui-abstract/utils/PointProps.d.ts +10 -10
  220. package/lib/esm/appui-abstract/utils/PointProps.js +8 -8
  221. package/lib/esm/appui-abstract/utils/UiError.d.ts +12 -12
  222. package/lib/esm/appui-abstract/utils/UiError.js +18 -18
  223. package/lib/esm/appui-abstract/utils/UiEvent.d.ts +9 -9
  224. package/lib/esm/appui-abstract/utils/UiEvent.js +13 -13
  225. package/lib/esm/appui-abstract/utils/UiEventDispatcher.d.ts +46 -46
  226. package/lib/esm/appui-abstract/utils/UiEventDispatcher.js +126 -126
  227. package/lib/esm/appui-abstract/utils/callbacks.d.ts +20 -20
  228. package/lib/esm/appui-abstract/utils/callbacks.d.ts.map +1 -1
  229. package/lib/esm/appui-abstract/utils/callbacks.js +8 -8
  230. package/lib/esm/appui-abstract/utils/filter/charCode.d.ts +416 -416
  231. package/lib/esm/appui-abstract/utils/filter/charCode.js +5 -5
  232. package/lib/esm/appui-abstract/utils/filter/filters.d.ts +98 -98
  233. package/lib/esm/appui-abstract/utils/filter/filters.d.ts.map +1 -1
  234. package/lib/esm/appui-abstract/utils/filter/filters.js +694 -694
  235. package/lib/esm/appui-abstract/utils/filter/filters.js.map +1 -1
  236. package/lib/esm/appui-abstract/utils/filter/map.d.ts +59 -59
  237. package/lib/esm/appui-abstract/utils/filter/map.js +397 -397
  238. package/lib/esm/appui-abstract/utils/filter/map.js.map +1 -1
  239. package/lib/esm/appui-abstract/utils/filter/strings.d.ts +20 -20
  240. package/lib/esm/appui-abstract/utils/filter/strings.js +70 -70
  241. package/lib/esm/appui-abstract/utils/filter/strings.js.map +1 -1
  242. package/lib/esm/appui-abstract/utils/isLetter.d.ts +9 -9
  243. package/lib/esm/appui-abstract/utils/isLetter.js +15 -15
  244. package/lib/esm/appui-abstract/utils/misc.d.ts +11 -11
  245. package/lib/esm/appui-abstract/utils/misc.js +31 -31
  246. package/lib/esm/appui-abstract/widget/AbstractWidgetProps.d.ts +86 -86
  247. package/lib/esm/appui-abstract/widget/AbstractWidgetProps.js +8 -8
  248. package/lib/esm/appui-abstract/widget/StagePanel.d.ts +36 -36
  249. package/lib/esm/appui-abstract/widget/StagePanel.js +43 -43
  250. package/lib/esm/appui-abstract/widget/WidgetState.d.ts +19 -19
  251. package/lib/esm/appui-abstract/widget/WidgetState.js +24 -24
  252. package/lib/esm/appui-abstract.d.ts +103 -103
  253. package/lib/esm/appui-abstract.js +107 -107
  254. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/map.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\r\n// code extracted from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/map.ts\r\n\r\n/* eslint-disable @typescript-eslint/explicit-member-accessibility */\r\n/* eslint-disable @itwin/prefer-get */\r\n/* eslint-disable no-restricted-syntax */\r\n/* eslint-disable @typescript-eslint/no-this-alias */\r\n\r\ninterface Item<K, V> {\r\n previous: Item<K, V> | undefined;\r\n next: Item<K, V> | undefined;\r\n key: K;\r\n value: V;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport const enum Touch {\r\n None = 0,\r\n AsOld = 1,\r\n AsNew = 2\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport class LinkedMap<K, V> implements Map<K, V> {\r\n\r\n readonly [Symbol.toStringTag] = \"LinkedMap\";\r\n\r\n private _map: Map<K, Item<K, V>>;\r\n private _head: Item<K, V> | undefined;\r\n private _tail: Item<K, V> | undefined;\r\n private _size: number;\r\n\r\n private _state: number;\r\n\r\n constructor() {\r\n this._map = new Map<K, Item<K, V>>();\r\n this._head = undefined;\r\n this._tail = undefined;\r\n this._size = 0;\r\n this._state = 0;\r\n }\r\n\r\n clear(): void {\r\n this._map.clear();\r\n this._head = undefined;\r\n this._tail = undefined;\r\n this._size = 0;\r\n this._state++;\r\n }\r\n\r\n isEmpty(): boolean {\r\n return !this._head && !this._tail;\r\n }\r\n\r\n get size(): number {\r\n return this._size;\r\n }\r\n\r\n get first(): V | undefined {\r\n return this._head?.value;\r\n }\r\n\r\n get last(): V | undefined {\r\n return this._tail?.value;\r\n }\r\n\r\n has(key: K): boolean {\r\n return this._map.has(key);\r\n }\r\n\r\n get(key: K, touch: Touch = Touch.None): V | undefined {\r\n const item = this._map.get(key);\r\n if (!item) {\r\n return undefined;\r\n }\r\n if (touch !== Touch.None) {\r\n this.touch(item, touch);\r\n }\r\n return item.value;\r\n }\r\n\r\n set(key: K, value: V, touch: Touch = Touch.None): this {\r\n let item = this._map.get(key);\r\n if (item) {\r\n item.value = value;\r\n if (touch !== Touch.None) {\r\n this.touch(item, touch);\r\n }\r\n } else {\r\n item = { key, value, next: undefined, previous: undefined };\r\n switch (touch) {\r\n case Touch.None:\r\n this.addItemLast(item);\r\n break;\r\n case Touch.AsOld:\r\n this.addItemFirst(item);\r\n break;\r\n case Touch.AsNew:\r\n this.addItemLast(item);\r\n break;\r\n default:\r\n this.addItemLast(item);\r\n break;\r\n }\r\n this._map.set(key, item);\r\n this._size++;\r\n }\r\n return this;\r\n }\r\n\r\n delete(key: K): boolean {\r\n return !!this.remove(key);\r\n }\r\n\r\n remove(key: K): V | undefined {\r\n const item = this._map.get(key);\r\n if (!item) {\r\n return undefined;\r\n }\r\n this._map.delete(key);\r\n this.removeItem(item);\r\n this._size--;\r\n return item.value;\r\n }\r\n\r\n shift(): V | undefined {\r\n if (!this._head && !this._tail) {\r\n return undefined;\r\n }\r\n if (!this._head || !this._tail) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n const item = this._head;\r\n this._map.delete(item.key);\r\n this.removeItem(item);\r\n this._size--;\r\n return item.value;\r\n }\r\n\r\n forEach(callbackfn: (value: V, key: K, map: LinkedMap<K, V>) => void, thisArg?: any): void {\r\n const state = this._state;\r\n let current = this._head;\r\n while (current) {\r\n if (thisArg) {\r\n callbackfn.bind(thisArg)(current.value, current.key, this);\r\n } else {\r\n callbackfn(current.value, current.key, this);\r\n }\r\n if (this._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n current = current.next;\r\n }\r\n }\r\n\r\n keys(): IterableIterator<K> {\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator: IterableIterator<K> = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next(): IteratorResult<K> {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result = { value: current.key, done: false };\r\n current = current.next;\r\n return result;\r\n } else {\r\n return { value: undefined, done: true };\r\n }\r\n },\r\n };\r\n return iterator;\r\n }\r\n\r\n values(): IterableIterator<V> {\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator: IterableIterator<V> = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next(): IteratorResult<V> {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result = { value: current.value, done: false };\r\n current = current.next;\r\n return result;\r\n } else {\r\n return { value: undefined, done: true };\r\n }\r\n },\r\n };\r\n return iterator;\r\n }\r\n\r\n entries(): IterableIterator<[K, V]> {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator: IterableIterator<[K, V]> = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next(): IteratorResult<[K, V]> {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result: IteratorResult<[K, V]> = { value: [current.key, current.value], done: false };\r\n current = current.next;\r\n return result;\r\n } else {\r\n return { value: undefined, done: true };\r\n }\r\n },\r\n };\r\n return iterator;\r\n }\r\n\r\n [Symbol.iterator](): IterableIterator<[K, V]> {\r\n return this.entries();\r\n }\r\n\r\n protected trimOld(newSize: number) {\r\n if (newSize >= this.size) {\r\n return;\r\n }\r\n if (newSize === 0) {\r\n this.clear();\r\n return;\r\n }\r\n let current = this._head;\r\n let currentSize = this.size;\r\n while (current && currentSize > newSize) {\r\n this._map.delete(current.key);\r\n current = current.next;\r\n currentSize--;\r\n }\r\n this._head = current;\r\n this._size = currentSize;\r\n if (current) {\r\n current.previous = undefined;\r\n }\r\n this._state++;\r\n }\r\n\r\n private addItemFirst(item: Item<K, V>): void {\r\n // First time Insert\r\n if (!this._head && !this._tail) {\r\n this._tail = item;\r\n } else if (!this._head) {\r\n throw new Error(\"Invalid list\");\r\n } else {\r\n item.next = this._head;\r\n this._head.previous = item;\r\n }\r\n this._head = item;\r\n this._state++;\r\n }\r\n\r\n private addItemLast(item: Item<K, V>): void {\r\n // First time Insert\r\n if (!this._head && !this._tail) {\r\n this._head = item;\r\n } else if (!this._tail) {\r\n throw new Error(\"Invalid list\");\r\n } else {\r\n item.previous = this._tail;\r\n this._tail.next = item;\r\n }\r\n this._tail = item;\r\n this._state++;\r\n }\r\n\r\n private removeItem(item: Item<K, V>): void {\r\n if (item === this._head && item === this._tail) {\r\n this._head = undefined;\r\n this._tail = undefined;\r\n } else if (item === this._head) {\r\n // This can only happend if size === 1 which is handle\r\n // by the case above.\r\n if (!item.next) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n item.next.previous = undefined;\r\n this._head = item.next;\r\n } else if (item === this._tail) {\r\n // This can only happend if size === 1 which is handle\r\n // by the case above.\r\n if (!item.previous) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n item.previous.next = undefined;\r\n this._tail = item.previous;\r\n } else {\r\n const next = item.next;\r\n const previous = item.previous;\r\n if (!next || !previous) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n next.previous = previous;\r\n previous.next = next;\r\n }\r\n item.next = undefined;\r\n item.previous = undefined;\r\n this._state++;\r\n }\r\n\r\n private touch(item: Item<K, V>, touch: Touch): void {\r\n if (!this._head || !this._tail) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n if ((touch !== Touch.AsOld && touch !== Touch.AsNew)) {\r\n return;\r\n }\r\n\r\n if (touch === Touch.AsOld) {\r\n if (item === this._head) {\r\n return;\r\n }\r\n\r\n const next = item.next;\r\n const previous = item.previous;\r\n\r\n // Unlink the item\r\n if (item === this._tail) {\r\n // previous must be defined since item was not head but is tail\r\n // So there are more than on item in the map\r\n previous!.next = undefined;\r\n this._tail = previous;\r\n } else {\r\n // Both next and previous are not undefined since item was neither head nor tail.\r\n next!.previous = previous;\r\n previous!.next = next;\r\n }\r\n\r\n // Insert the node at head\r\n item.previous = undefined;\r\n item.next = this._head;\r\n this._head.previous = item;\r\n this._head = item;\r\n this._state++;\r\n } else if (touch === Touch.AsNew) {\r\n if (item === this._tail) {\r\n return;\r\n }\r\n\r\n const next = item.next;\r\n const previous = item.previous;\r\n\r\n // Unlink the item.\r\n if (item === this._head) {\r\n // next must be defined since item was not tail but is head\r\n // So there are more than on item in the map\r\n next!.previous = undefined;\r\n this._head = next;\r\n } else {\r\n // Both next and previous are not undefined since item was neither head nor tail.\r\n next!.previous = previous;\r\n previous!.next = next;\r\n }\r\n item.next = undefined;\r\n item.previous = this._tail;\r\n this._tail.next = item;\r\n this._tail = item;\r\n this._state++;\r\n }\r\n }\r\n\r\n toJSON(): [K, V][] {\r\n const data: [K, V][] = [];\r\n\r\n this.forEach((value, key) => {\r\n data.push([key, value]);\r\n });\r\n\r\n return data;\r\n }\r\n\r\n fromJSON(data: [K, V][]): void {\r\n this.clear();\r\n\r\n for (const [key, value] of data) {\r\n this.set(key, value);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport class LRUCache<K, V> extends LinkedMap<K, V> {\r\n\r\n private _limit: number;\r\n private _ratio: number;\r\n\r\n constructor(limit: number, ratio: number = 1) {\r\n super();\r\n this._limit = limit;\r\n this._ratio = Math.min(Math.max(0, ratio), 1);\r\n }\r\n\r\n get limit(): number {\r\n return this._limit;\r\n }\r\n\r\n set limit(limit: number) {\r\n this._limit = limit;\r\n this.checkTrim();\r\n }\r\n\r\n get ratio(): number {\r\n return this._ratio;\r\n }\r\n\r\n set ratio(ratio: number) {\r\n this._ratio = Math.min(Math.max(0, ratio), 1);\r\n this.checkTrim();\r\n }\r\n\r\n override get(key: K, touch: Touch = Touch.AsNew): V | undefined {\r\n return super.get(key, touch);\r\n }\r\n\r\n peek(key: K): V | undefined {\r\n return super.get(key, Touch.None);\r\n }\r\n\r\n override set(key: K, value: V): this {\r\n super.set(key, value, Touch.AsNew);\r\n this.checkTrim();\r\n return this;\r\n }\r\n\r\n private checkTrim() {\r\n if (this.size > this._limit) {\r\n this.trimOld(Math.round(this._limit * this._ratio));\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/map.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\r\n// code extracted from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/map.ts\r\n\r\n/* eslint-disable @typescript-eslint/explicit-member-accessibility */\r\n/* eslint-disable @itwin/prefer-get */\r\n/* eslint-disable no-restricted-syntax */\r\n/* eslint-disable @typescript-eslint/no-this-alias */\r\n\r\ninterface Item<K, V> {\r\n previous: Item<K, V> | undefined;\r\n next: Item<K, V> | undefined;\r\n key: K;\r\n value: V;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport const enum Touch {\r\n None = 0,\r\n AsOld = 1,\r\n AsNew = 2\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport class LinkedMap<K, V> implements Map<K, V> {\r\n\r\n readonly [Symbol.toStringTag] = \"LinkedMap\";\r\n\r\n private _map: Map<K, Item<K, V>>;\r\n private _head: Item<K, V> | undefined;\r\n private _tail: Item<K, V> | undefined;\r\n private _size: number;\r\n\r\n private _state: number;\r\n\r\n constructor() {\r\n this._map = new Map<K, Item<K, V>>();\r\n this._head = undefined;\r\n this._tail = undefined;\r\n this._size = 0;\r\n this._state = 0;\r\n }\r\n\r\n clear(): void {\r\n this._map.clear();\r\n this._head = undefined;\r\n this._tail = undefined;\r\n this._size = 0;\r\n this._state++;\r\n }\r\n\r\n isEmpty(): boolean {\r\n return !this._head && !this._tail;\r\n }\r\n\r\n get size(): number {\r\n return this._size;\r\n }\r\n\r\n get first(): V | undefined {\r\n return this._head?.value;\r\n }\r\n\r\n get last(): V | undefined {\r\n return this._tail?.value;\r\n }\r\n\r\n has(key: K): boolean {\r\n return this._map.has(key);\r\n }\r\n\r\n get(key: K, touch: Touch = Touch.None): V | undefined {\r\n const item = this._map.get(key);\r\n if (!item) {\r\n return undefined;\r\n }\r\n if (touch !== Touch.None) {\r\n this.touch(item, touch);\r\n }\r\n return item.value;\r\n }\r\n\r\n set(key: K, value: V, touch: Touch = Touch.None): this {\r\n let item = this._map.get(key);\r\n if (item) {\r\n item.value = value;\r\n if (touch !== Touch.None) {\r\n this.touch(item, touch);\r\n }\r\n } else {\r\n item = { key, value, next: undefined, previous: undefined };\r\n switch (touch) {\r\n case Touch.None:\r\n this.addItemLast(item);\r\n break;\r\n case Touch.AsOld:\r\n this.addItemFirst(item);\r\n break;\r\n case Touch.AsNew:\r\n this.addItemLast(item);\r\n break;\r\n default:\r\n this.addItemLast(item);\r\n break;\r\n }\r\n this._map.set(key, item);\r\n this._size++;\r\n }\r\n return this;\r\n }\r\n\r\n delete(key: K): boolean {\r\n return !!this.remove(key);\r\n }\r\n\r\n remove(key: K): V | undefined {\r\n const item = this._map.get(key);\r\n if (!item) {\r\n return undefined;\r\n }\r\n this._map.delete(key);\r\n this.removeItem(item);\r\n this._size--;\r\n return item.value;\r\n }\r\n\r\n shift(): V | undefined {\r\n if (!this._head && !this._tail) {\r\n return undefined;\r\n }\r\n if (!this._head || !this._tail) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n const item = this._head;\r\n this._map.delete(item.key);\r\n this.removeItem(item);\r\n this._size--;\r\n return item.value;\r\n }\r\n\r\n forEach(callbackfn: (value: V, key: K, map: LinkedMap<K, V>) => void, thisArg?: any): void {\r\n const state = this._state;\r\n let current = this._head;\r\n while (current) {\r\n if (thisArg) {\r\n callbackfn.bind(thisArg)(current.value, current.key, this);\r\n } else {\r\n callbackfn(current.value, current.key, this);\r\n }\r\n if (this._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n current = current.next;\r\n }\r\n }\r\n\r\n keys(): IterableIterator<K> {\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator: IterableIterator<K> = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next(): IteratorResult<K> {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result = { value: current.key, done: false };\r\n current = current.next;\r\n return result;\r\n } else {\r\n return { value: undefined, done: true };\r\n }\r\n },\r\n };\r\n return iterator;\r\n }\r\n\r\n values(): IterableIterator<V> {\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator: IterableIterator<V> = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next(): IteratorResult<V> {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result = { value: current.value, done: false };\r\n current = current.next;\r\n return result;\r\n } else {\r\n return { value: undefined, done: true };\r\n }\r\n },\r\n };\r\n return iterator;\r\n }\r\n\r\n entries(): IterableIterator<[K, V]> {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const map = this;\r\n const state = this._state;\r\n let current = this._head;\r\n const iterator: IterableIterator<[K, V]> = {\r\n [Symbol.iterator]() {\r\n return iterator;\r\n },\r\n next(): IteratorResult<[K, V]> {\r\n if (map._state !== state) {\r\n throw new Error(`LinkedMap got modified during iteration.`);\r\n }\r\n if (current) {\r\n const result: IteratorResult<[K, V]> = { value: [current.key, current.value], done: false };\r\n current = current.next;\r\n return result;\r\n } else {\r\n return { value: undefined, done: true };\r\n }\r\n },\r\n };\r\n return iterator;\r\n }\r\n\r\n [Symbol.iterator](): IterableIterator<[K, V]> {\r\n return this.entries();\r\n }\r\n\r\n protected trimOld(newSize: number) {\r\n if (newSize >= this.size) {\r\n return;\r\n }\r\n if (newSize === 0) {\r\n this.clear();\r\n return;\r\n }\r\n let current = this._head;\r\n let currentSize = this.size;\r\n while (current && currentSize > newSize) {\r\n this._map.delete(current.key);\r\n current = current.next;\r\n currentSize--;\r\n }\r\n this._head = current;\r\n this._size = currentSize;\r\n if (current) {\r\n current.previous = undefined;\r\n }\r\n this._state++;\r\n }\r\n\r\n private addItemFirst(item: Item<K, V>): void {\r\n // First time Insert\r\n if (!this._head && !this._tail) {\r\n this._tail = item;\r\n } else if (!this._head) {\r\n throw new Error(\"Invalid list\");\r\n } else {\r\n item.next = this._head;\r\n this._head.previous = item;\r\n }\r\n this._head = item;\r\n this._state++;\r\n }\r\n\r\n private addItemLast(item: Item<K, V>): void {\r\n // First time Insert\r\n if (!this._head && !this._tail) {\r\n this._head = item;\r\n } else if (!this._tail) {\r\n throw new Error(\"Invalid list\");\r\n } else {\r\n item.previous = this._tail;\r\n this._tail.next = item;\r\n }\r\n this._tail = item;\r\n this._state++;\r\n }\r\n\r\n private removeItem(item: Item<K, V>): void {\r\n if (item === this._head && item === this._tail) {\r\n this._head = undefined;\r\n this._tail = undefined;\r\n } else if (item === this._head) {\r\n // This can only happend if size === 1 which is handle\r\n // by the case above.\r\n if (!item.next) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n item.next.previous = undefined;\r\n this._head = item.next;\r\n } else if (item === this._tail) {\r\n // This can only happend if size === 1 which is handle\r\n // by the case above.\r\n if (!item.previous) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n item.previous.next = undefined;\r\n this._tail = item.previous;\r\n } else {\r\n const next = item.next;\r\n const previous = item.previous;\r\n if (!next || !previous) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n next.previous = previous;\r\n previous.next = next;\r\n }\r\n item.next = undefined;\r\n item.previous = undefined;\r\n this._state++;\r\n }\r\n\r\n private touch(item: Item<K, V>, touch: Touch): void {\r\n if (!this._head || !this._tail) {\r\n throw new Error(\"Invalid list\");\r\n }\r\n if ((touch !== Touch.AsOld && touch !== Touch.AsNew)) {\r\n return;\r\n }\r\n\r\n if (touch === Touch.AsOld) {\r\n if (item === this._head) {\r\n return;\r\n }\r\n\r\n const next = item.next;\r\n const previous = item.previous;\r\n\r\n // Unlink the item\r\n if (item === this._tail) {\r\n // previous must be defined since item was not head but is tail\r\n // So there are more than on item in the map\r\n previous!.next = undefined;\r\n this._tail = previous;\r\n } else {\r\n // Both next and previous are not undefined since item was neither head nor tail.\r\n next!.previous = previous;\r\n previous!.next = next;\r\n }\r\n\r\n // Insert the node at head\r\n item.previous = undefined;\r\n item.next = this._head;\r\n this._head.previous = item;\r\n this._head = item;\r\n this._state++;\r\n } else if (touch === Touch.AsNew) {\r\n if (item === this._tail) {\r\n return;\r\n }\r\n\r\n const next = item.next;\r\n const previous = item.previous;\r\n\r\n // Unlink the item.\r\n if (item === this._head) {\r\n // next must be defined since item was not tail but is head\r\n // So there are more than on item in the map\r\n next!.previous = undefined;\r\n this._head = next;\r\n } else {\r\n // Both next and previous are not undefined since item was neither head nor tail.\r\n next!.previous = previous;\r\n previous!.next = next;\r\n }\r\n item.next = undefined;\r\n item.previous = this._tail;\r\n this._tail.next = item;\r\n this._tail = item;\r\n this._state++;\r\n }\r\n }\r\n\r\n toJSON(): [K, V][] {\r\n const data: [K, V][] = [];\r\n\r\n this.forEach((value, key) => {\r\n data.push([key, value]);\r\n });\r\n\r\n return data;\r\n }\r\n\r\n fromJSON(data: [K, V][]): void {\r\n this.clear();\r\n\r\n for (const [key, value] of data) {\r\n this.set(key, value);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\n// istanbul ignore next\r\nexport class LRUCache<K, V> extends LinkedMap<K, V> {\r\n\r\n private _limit: number;\r\n private _ratio: number;\r\n\r\n constructor(limit: number, ratio: number = 1) {\r\n super();\r\n this._limit = limit;\r\n this._ratio = Math.min(Math.max(0, ratio), 1);\r\n }\r\n\r\n get limit(): number {\r\n return this._limit;\r\n }\r\n\r\n set limit(limit: number) {\r\n this._limit = limit;\r\n this.checkTrim();\r\n }\r\n\r\n get ratio(): number {\r\n return this._ratio;\r\n }\r\n\r\n set ratio(ratio: number) {\r\n this._ratio = Math.min(Math.max(0, ratio), 1);\r\n this.checkTrim();\r\n }\r\n\r\n override get(key: K, touch: Touch = Touch.AsNew): V | undefined {\r\n return super.get(key, touch);\r\n }\r\n\r\n peek(key: K): V | undefined {\r\n return super.get(key, Touch.None);\r\n }\r\n\r\n override set(key: K, value: V): this {\r\n super.set(key, value, Touch.AsNew);\r\n this.checkTrim();\r\n return this;\r\n }\r\n\r\n private checkTrim() {\r\n if (this.size > this._limit) {\r\n this.trimOld(Math.round(this._limit * this._ratio));\r\n }\r\n }\r\n}\r\n"]}
@@ -1,21 +1,21 @@
1
- /**
2
- * @internal
3
- */
4
- export declare function convertSimple2RegExpPattern(pattern: string): string;
5
- /**
6
- * @internal
7
- */
8
- export declare function isLowerAsciiLetter(code: number): boolean;
9
- /**
10
- * @internal
11
- */
12
- export declare function isUpperAsciiLetter(code: number): boolean;
13
- /**
14
- * @internal
15
- */
16
- export declare function equalsIgnoreCase(a: string, b: string): boolean;
17
- /**
18
- * @internal
19
- */
20
- export declare function startsWithIgnoreCase(str: string, candidate: string): boolean;
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare function convertSimple2RegExpPattern(pattern: string): string;
5
+ /**
6
+ * @internal
7
+ */
8
+ export declare function isLowerAsciiLetter(code: number): boolean;
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare function isUpperAsciiLetter(code: number): boolean;
13
+ /**
14
+ * @internal
15
+ */
16
+ export declare function equalsIgnoreCase(a: string, b: string): boolean;
17
+ /**
18
+ * @internal
19
+ */
20
+ export declare function startsWithIgnoreCase(str: string, candidate: string): boolean;
21
21
  //# sourceMappingURL=strings.d.ts.map
@@ -1,71 +1,71 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /**
6
- * @internal
7
- */
8
- export function convertSimple2RegExpPattern(pattern) {
9
- return pattern.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, "\\$&").replace(/[\*]/g, ".*");
10
- }
11
- /**
12
- * @internal
13
- */
14
- export function isLowerAsciiLetter(code) {
15
- return code >= 97 /* a */ && code <= 122 /* z */;
16
- }
17
- /**
18
- * @internal
19
- */
20
- export function isUpperAsciiLetter(code) {
21
- return code >= 65 /* A */ && code <= 90 /* Z */;
22
- }
23
- /**
24
- * @internal
25
- */
26
- function isAsciiLetter(code) {
27
- return isLowerAsciiLetter(code) || isUpperAsciiLetter(code);
28
- }
29
- /**
30
- * @internal
31
- */
32
- export function equalsIgnoreCase(a, b) {
33
- return a.length === b.length && doEqualsIgnoreCase(a, b);
34
- }
35
- /**
36
- * @internal
37
- */
38
- function doEqualsIgnoreCase(a, b, stopAt = a.length) {
39
- for (let i = 0; i < stopAt; i++) {
40
- const codeA = a.charCodeAt(i);
41
- const codeB = b.charCodeAt(i);
42
- if (codeA === codeB) {
43
- continue;
44
- }
45
- // a-z A-Z
46
- if (isAsciiLetter(codeA) && isAsciiLetter(codeB)) {
47
- const diff = Math.abs(codeA - codeB);
48
- if (diff !== 0 && diff !== 32) {
49
- return false;
50
- }
51
- }
52
- else {
53
- // Any other char code
54
- if (String.fromCharCode(codeA).toLowerCase() !== String.fromCharCode(codeB).toLowerCase()) {
55
- return false;
56
- }
57
- }
58
- }
59
- return true;
60
- }
61
- /**
62
- * @internal
63
- */
64
- export function startsWithIgnoreCase(str, candidate) {
65
- const candidateLength = candidate.length;
66
- if (candidate.length > str.length) {
67
- return false;
68
- }
69
- return doEqualsIgnoreCase(str, candidate, candidateLength);
70
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * @internal
7
+ */
8
+ export function convertSimple2RegExpPattern(pattern) {
9
+ return pattern.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, "\\$&").replace(/[\*]/g, ".*");
10
+ }
11
+ /**
12
+ * @internal
13
+ */
14
+ export function isLowerAsciiLetter(code) {
15
+ return code >= 97 /* CharCode.a */ && code <= 122 /* CharCode.z */;
16
+ }
17
+ /**
18
+ * @internal
19
+ */
20
+ export function isUpperAsciiLetter(code) {
21
+ return code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */;
22
+ }
23
+ /**
24
+ * @internal
25
+ */
26
+ function isAsciiLetter(code) {
27
+ return isLowerAsciiLetter(code) || isUpperAsciiLetter(code);
28
+ }
29
+ /**
30
+ * @internal
31
+ */
32
+ export function equalsIgnoreCase(a, b) {
33
+ return a.length === b.length && doEqualsIgnoreCase(a, b);
34
+ }
35
+ /**
36
+ * @internal
37
+ */
38
+ function doEqualsIgnoreCase(a, b, stopAt = a.length) {
39
+ for (let i = 0; i < stopAt; i++) {
40
+ const codeA = a.charCodeAt(i);
41
+ const codeB = b.charCodeAt(i);
42
+ if (codeA === codeB) {
43
+ continue;
44
+ }
45
+ // a-z A-Z
46
+ if (isAsciiLetter(codeA) && isAsciiLetter(codeB)) {
47
+ const diff = Math.abs(codeA - codeB);
48
+ if (diff !== 0 && diff !== 32) {
49
+ return false;
50
+ }
51
+ }
52
+ else {
53
+ // Any other char code
54
+ if (String.fromCharCode(codeA).toLowerCase() !== String.fromCharCode(codeB).toLowerCase()) {
55
+ return false;
56
+ }
57
+ }
58
+ }
59
+ return true;
60
+ }
61
+ /**
62
+ * @internal
63
+ */
64
+ export function startsWithIgnoreCase(str, candidate) {
65
+ const candidateLength = candidate.length;
66
+ if (candidate.length > str.length) {
67
+ return false;
68
+ }
69
+ return doEqualsIgnoreCase(str, candidate, candidateLength);
70
+ }
71
71
  //# sourceMappingURL=strings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/strings.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAI/F;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,OAAO,CAAC,OAAO,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACjG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,cAAc,IAAI,IAAI,eAAc,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,cAAc,IAAI,IAAI,cAAc,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,CAAS,EAAE,CAAS,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE9B,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,SAAS;SACV;QAED,UAAU;QACV,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE;gBAC7B,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,sBAAsB;YACtB,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;gBACzF,OAAO,KAAK,CAAC;aACd;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,SAAiB;IACjE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;IACzC,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE;QACjC,OAAO,KAAK,CAAC;KACd;IAED,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAC7D,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\r\nimport { CharCode } from \"./charCode\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function convertSimple2RegExpPattern(pattern: string): string {\r\n return pattern.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\").replace(/[\\*]/g, \".*\");\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function isLowerAsciiLetter(code: number): boolean {\r\n return code >= CharCode.a && code <= CharCode.z;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function isUpperAsciiLetter(code: number): boolean {\r\n return code >= CharCode.A && code <= CharCode.Z;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nfunction isAsciiLetter(code: number): boolean {\r\n return isLowerAsciiLetter(code) || isUpperAsciiLetter(code);\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function equalsIgnoreCase(a: string, b: string): boolean {\r\n return a.length === b.length && doEqualsIgnoreCase(a, b);\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nfunction doEqualsIgnoreCase(a: string, b: string, stopAt = a.length): boolean {\r\n for (let i = 0; i < stopAt; i++) {\r\n const codeA = a.charCodeAt(i);\r\n const codeB = b.charCodeAt(i);\r\n\r\n if (codeA === codeB) {\r\n continue;\r\n }\r\n\r\n // a-z A-Z\r\n if (isAsciiLetter(codeA) && isAsciiLetter(codeB)) {\r\n const diff = Math.abs(codeA - codeB);\r\n if (diff !== 0 && diff !== 32) {\r\n return false;\r\n }\r\n } else {\r\n // Any other char code\r\n if (String.fromCharCode(codeA).toLowerCase() !== String.fromCharCode(codeB).toLowerCase()) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function startsWithIgnoreCase(str: string, candidate: string): boolean {\r\n const candidateLength = candidate.length;\r\n if (candidate.length > str.length) {\r\n return false;\r\n }\r\n\r\n return doEqualsIgnoreCase(str, candidate, candidateLength);\r\n}\r\n"]}
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/strings.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAI/F;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO,OAAO,CAAC,OAAO,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACjG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,uBAAc,IAAI,IAAI,wBAAc,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,uBAAc,IAAI,IAAI,uBAAc,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,CAAS,EAAE,CAAS,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE9B,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,SAAS;SACV;QAED,UAAU;QACV,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,EAAE;gBAC7B,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,sBAAsB;YACtB,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;gBACzF,OAAO,KAAK,CAAC;aACd;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,SAAiB;IACjE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;IACzC,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE;QACjC,OAAO,KAAK,CAAC;KACd;IAED,OAAO,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AAC7D,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\r\nimport { CharCode } from \"./charCode\";\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function convertSimple2RegExpPattern(pattern: string): string {\r\n return pattern.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\").replace(/[\\*]/g, \".*\");\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function isLowerAsciiLetter(code: number): boolean {\r\n return code >= CharCode.a && code <= CharCode.z;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function isUpperAsciiLetter(code: number): boolean {\r\n return code >= CharCode.A && code <= CharCode.Z;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nfunction isAsciiLetter(code: number): boolean {\r\n return isLowerAsciiLetter(code) || isUpperAsciiLetter(code);\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function equalsIgnoreCase(a: string, b: string): boolean {\r\n return a.length === b.length && doEqualsIgnoreCase(a, b);\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nfunction doEqualsIgnoreCase(a: string, b: string, stopAt = a.length): boolean {\r\n for (let i = 0; i < stopAt; i++) {\r\n const codeA = a.charCodeAt(i);\r\n const codeB = b.charCodeAt(i);\r\n\r\n if (codeA === codeB) {\r\n continue;\r\n }\r\n\r\n // a-z A-Z\r\n if (isAsciiLetter(codeA) && isAsciiLetter(codeB)) {\r\n const diff = Math.abs(codeA - codeB);\r\n if (diff !== 0 && diff !== 32) {\r\n return false;\r\n }\r\n } else {\r\n // Any other char code\r\n if (String.fromCharCode(codeA).toLowerCase() !== String.fromCharCode(codeB).toLowerCase()) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function startsWithIgnoreCase(str: string, candidate: string): boolean {\r\n const candidateLength = candidate.length;\r\n if (candidate.length > str.length) {\r\n return false;\r\n }\r\n\r\n return doEqualsIgnoreCase(str, candidate, candidateLength);\r\n}\r\n"]}
@@ -1,10 +1,10 @@
1
- /** @packageDocumentation
2
- * @module Utilities
3
- */
4
- /** Uses ECMAScript case transformation (toLowerCase() and toUpperCase()) to check whether or not a given character is a letter.
5
- * Beyond the English alphabet, this solution will also work for most Greek, Armenian, Cyrillic, and Latin characters.
6
- * But, it will not work for Chinese or Japanese characters since those languages do not have uppercase and lowercase letters.
7
- * @alpha
8
- */
9
- export declare function isLetter(char: string): boolean;
1
+ /** @packageDocumentation
2
+ * @module Utilities
3
+ */
4
+ /** Uses ECMAScript case transformation (toLowerCase() and toUpperCase()) to check whether or not a given character is a letter.
5
+ * Beyond the English alphabet, this solution will also work for most Greek, Armenian, Cyrillic, and Latin characters.
6
+ * But, it will not work for Chinese or Japanese characters since those languages do not have uppercase and lowercase letters.
7
+ * @alpha
8
+ */
9
+ export declare function isLetter(char: string): boolean;
10
10
  //# sourceMappingURL=isLetter.d.ts.map
@@ -1,16 +1,16 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Utilities
7
- */
8
- /** Uses ECMAScript case transformation (toLowerCase() and toUpperCase()) to check whether or not a given character is a letter.
9
- * Beyond the English alphabet, this solution will also work for most Greek, Armenian, Cyrillic, and Latin characters.
10
- * But, it will not work for Chinese or Japanese characters since those languages do not have uppercase and lowercase letters.
11
- * @alpha
12
- */
13
- export function isLetter(char) {
14
- return char.length === 1 && char.toLowerCase() !== char.toUpperCase();
15
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Utilities
7
+ */
8
+ /** Uses ECMAScript case transformation (toLowerCase() and toUpperCase()) to check whether or not a given character is a letter.
9
+ * Beyond the English alphabet, this solution will also work for most Greek, Armenian, Cyrillic, and Latin characters.
10
+ * But, it will not work for Chinese or Japanese characters since those languages do not have uppercase and lowercase letters.
11
+ * @alpha
12
+ */
13
+ export function isLetter(char) {
14
+ return char.length === 1 && char.toLowerCase() !== char.toUpperCase();
15
+ }
16
16
  //# sourceMappingURL=isLetter.js.map
@@ -1,12 +1,12 @@
1
- /** @packageDocumentation
2
- * @module Utilities
3
- */
4
- /** Gets the class name for an object.
5
- * @internal
6
- */
7
- export declare const getClassName: (obj: any) => string;
8
- /** Gets category to use for adding Log entries
9
- * @internal
10
- */
11
- export declare const loggerCategory: (obj: any) => string;
1
+ /** @packageDocumentation
2
+ * @module Utilities
3
+ */
4
+ /** Gets the class name for an object.
5
+ * @internal
6
+ */
7
+ export declare const getClassName: (obj: any) => string;
8
+ /** Gets category to use for adding Log entries
9
+ * @internal
10
+ */
11
+ export declare const loggerCategory: (obj: any) => string;
12
12
  //# sourceMappingURL=misc.d.ts.map
@@ -1,32 +1,32 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Utilities
7
- */
8
- /** Gets the class name for an object.
9
- * @internal
10
- */
11
- export const getClassName = (obj) => {
12
- let className = "";
13
- if (obj) {
14
- if (obj.name)
15
- className = obj.name;
16
- else {
17
- // istanbul ignore else
18
- if (obj.constructor && obj.constructor.name)
19
- className = obj.constructor.name;
20
- }
21
- }
22
- return className;
23
- };
24
- /** Gets category to use for adding Log entries
25
- * @internal
26
- */
27
- export const loggerCategory = (obj) => {
28
- const className = getClassName(obj);
29
- const category = `appui-abstract${(className ? `.${className}` : "")}`;
30
- return category;
31
- };
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Utilities
7
+ */
8
+ /** Gets the class name for an object.
9
+ * @internal
10
+ */
11
+ export const getClassName = (obj) => {
12
+ let className = "";
13
+ if (obj) {
14
+ if (obj.name)
15
+ className = obj.name;
16
+ else {
17
+ // istanbul ignore else
18
+ if (obj.constructor && obj.constructor.name)
19
+ className = obj.constructor.name;
20
+ }
21
+ }
22
+ return className;
23
+ };
24
+ /** Gets category to use for adding Log entries
25
+ * @internal
26
+ */
27
+ export const loggerCategory = (obj) => {
28
+ const className = getClassName(obj);
29
+ const category = `appui-abstract${(className ? `.${className}` : "")}`;
30
+ return category;
31
+ };
32
32
  //# sourceMappingURL=misc.js.map
@@ -1,87 +1,87 @@
1
- /** @packageDocumentation
2
- * @module Widget
3
- */
4
- import { ConditionalStringValue } from "../items/ConditionalStringValue";
5
- import { BadgeType } from "../items/BadgeType";
6
- import { ProvidedItem } from "../items/ProvidedItem";
7
- import { WidgetState } from "./WidgetState";
8
- /** Properties for a Widget.
9
- * @deprecated in 3.6. Use [WidgetProps]($appui-react) instead.
10
- * @public
11
- */
12
- export interface AbstractWidgetProps extends ProvidedItem {
13
- /** Gets the widget content. */
14
- readonly getWidgetContent: () => any;
15
- /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
16
- readonly icon?: string | ConditionalStringValue;
17
- /** Id used to uniquely identify the widget.
18
- * @note It is recommended to provide unique widget id to correctly save/restore App layout.
19
- */
20
- readonly id?: string;
21
- /** Default Widget state. Controls how the Widget is initially displayed. Defaults to WidgetState.Unloaded. */
22
- readonly defaultState?: WidgetState;
23
- /** if set, component will be considered selected but will NOT display an "active stripe" - defaults to false. Typically used by buttons that toggle between two states. */
24
- readonly label?: string | ConditionalStringValue;
25
- /** used to explicitly set the tooltip shown by a component. */
26
- readonly tooltip?: string | ConditionalStringValue;
27
- /** Indicates whether the Widget is free-form or rectangular. Defaults to false for rectangular. The default is false.
28
- * @deprecated in 3.0. Free-form widgets are obsolete.
29
- * */
30
- readonly isFreeform?: boolean;
31
- /** Application data attached to the Widget. */
32
- readonly applicationData?: any;
33
- /** optional data to used by item implementor. */
34
- readonly internalData?: Map<string, any>;
35
- /** Indicates whether this Widget is for the Tool Settings. */
36
- readonly isToolSettings?: boolean;
37
- /** Indicates whether this Widget is for the Status Bar. */
38
- readonly isStatusBar?: boolean;
39
- /** Indicates whether this Widget should fill the available space in the Zone. */
40
- readonly fillZone?: boolean;
41
- /** Indicates if widget can be popped out to a child window. Defaults to false. */
42
- readonly canPopout?: boolean;
43
- /** If the widget state is changed to `floating` and the floatingContainerId is defined, the widget will be added to a
44
- * floating panel by that name. If no name is specified, a GUID is used. */
45
- readonly floatingContainerId?: string;
46
- /** Indicates if widget can be in floating state, default to true. */
47
- readonly isFloatingStateSupported?: boolean;
48
- /** Indicates if floating widget is resizable, defaults to false which caused the widget to be auto-sized.. */
49
- readonly isFloatingStateWindowResizable?: boolean;
50
- /** Defines that default Top Left position when widget is floated via API calls */
51
- readonly defaultFloatingPosition?: {
52
- x: number;
53
- y: number;
54
- };
55
- /** Widget priority */
56
- readonly priority?: number;
57
- /** Defines the SyncUi event Ids that will trigger the stateFunc to run to determine the state of the widget. */
58
- readonly syncEventIds?: string[];
59
- /** Function executed to determine the state of the widget.
60
- * Used by UI 1.0 widgets ONLY.
61
- * @deprecated in 3.3. UI 1.0 support will be removed in AppUi 4.0.
62
- */
63
- readonly stateFunc?: (state: Readonly<WidgetState>) => WidgetState;
64
- /** Badge to be overlaid on the widget tab. */
65
- readonly badgeType?: BadgeType;
66
- /** Handler for widget state changed event */
67
- readonly onWidgetStateChanged?: () => void;
68
- /** Save transient DOM state (i.e. scroll offset). */
69
- readonly saveTransientState?: () => void;
70
- /** Restore transient DOM state.
71
- * @note Return true if the state is restored or the Widget will remount.
72
- */
73
- readonly restoreTransientState?: () => boolean;
74
- /** Optional default size to use when floating a widget. If not specified then the default is to size to content if possible.
75
- * Certain widget can't be intrinsically sized and must specify a content. These are typically ones that use a canvas element
76
- * internally. */
77
- defaultFloatingSize?: {
78
- width: number;
79
- height: number;
80
- };
81
- /** Optional prop that tells the widget system to fade this widget out with the rest of the UI when it is in floating state */
82
- hideWithUiWhenFloating?: boolean;
83
- /** Optional prop specifying which Panel sides can be docking targets for this widget. If this prop is not specified, all sides are allowed.
84
- * An empty array is treated the same as an undefined prop, allowing all targets. */
85
- readonly allowedPanelTargets?: ReadonlyArray<"left" | "right" | "bottom" | "top">;
86
- }
1
+ /** @packageDocumentation
2
+ * @module Widget
3
+ */
4
+ import { ConditionalStringValue } from "../items/ConditionalStringValue";
5
+ import { BadgeType } from "../items/BadgeType";
6
+ import { ProvidedItem } from "../items/ProvidedItem";
7
+ import { WidgetState } from "./WidgetState";
8
+ /** Properties for a Widget.
9
+ * @deprecated in 3.6. Use [WidgetProps]($appui-react) instead.
10
+ * @public
11
+ */
12
+ export interface AbstractWidgetProps extends ProvidedItem {
13
+ /** Gets the widget content. */
14
+ readonly getWidgetContent: () => any;
15
+ /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
16
+ readonly icon?: string | ConditionalStringValue;
17
+ /** Id used to uniquely identify the widget.
18
+ * @note It is recommended to provide unique widget id to correctly save/restore App layout.
19
+ */
20
+ readonly id?: string;
21
+ /** Default Widget state. Controls how the Widget is initially displayed. Defaults to WidgetState.Unloaded. */
22
+ readonly defaultState?: WidgetState;
23
+ /** if set, component will be considered selected but will NOT display an "active stripe" - defaults to false. Typically used by buttons that toggle between two states. */
24
+ readonly label?: string | ConditionalStringValue;
25
+ /** used to explicitly set the tooltip shown by a component. */
26
+ readonly tooltip?: string | ConditionalStringValue;
27
+ /** Indicates whether the Widget is free-form or rectangular. Defaults to false for rectangular. The default is false.
28
+ * @deprecated in 3.0. Free-form widgets are obsolete.
29
+ * */
30
+ readonly isFreeform?: boolean;
31
+ /** Application data attached to the Widget. */
32
+ readonly applicationData?: any;
33
+ /** optional data to used by item implementor. */
34
+ readonly internalData?: Map<string, any>;
35
+ /** Indicates whether this Widget is for the Tool Settings. */
36
+ readonly isToolSettings?: boolean;
37
+ /** Indicates whether this Widget is for the Status Bar. */
38
+ readonly isStatusBar?: boolean;
39
+ /** Indicates whether this Widget should fill the available space in the Zone. */
40
+ readonly fillZone?: boolean;
41
+ /** Indicates if widget can be popped out to a child window. Defaults to false. */
42
+ readonly canPopout?: boolean;
43
+ /** If the widget state is changed to `floating` and the floatingContainerId is defined, the widget will be added to a
44
+ * floating panel by that name. If no name is specified, a GUID is used. */
45
+ readonly floatingContainerId?: string;
46
+ /** Indicates if widget can be in floating state, default to true. */
47
+ readonly isFloatingStateSupported?: boolean;
48
+ /** Indicates if floating widget is resizable, defaults to false which caused the widget to be auto-sized.. */
49
+ readonly isFloatingStateWindowResizable?: boolean;
50
+ /** Defines that default Top Left position when widget is floated via API calls */
51
+ readonly defaultFloatingPosition?: {
52
+ x: number;
53
+ y: number;
54
+ };
55
+ /** Widget priority */
56
+ readonly priority?: number;
57
+ /** Defines the SyncUi event Ids that will trigger the stateFunc to run to determine the state of the widget. */
58
+ readonly syncEventIds?: string[];
59
+ /** Function executed to determine the state of the widget.
60
+ * Used by UI 1.0 widgets ONLY.
61
+ * @deprecated in 3.3. UI 1.0 support will be removed in AppUi 4.0.
62
+ */
63
+ readonly stateFunc?: (state: Readonly<WidgetState>) => WidgetState;
64
+ /** Badge to be overlaid on the widget tab. */
65
+ readonly badgeType?: BadgeType;
66
+ /** Handler for widget state changed event */
67
+ readonly onWidgetStateChanged?: () => void;
68
+ /** Save transient DOM state (i.e. scroll offset). */
69
+ readonly saveTransientState?: () => void;
70
+ /** Restore transient DOM state.
71
+ * @note Return true if the state is restored or the Widget will remount.
72
+ */
73
+ readonly restoreTransientState?: () => boolean;
74
+ /** Optional default size to use when floating a widget. If not specified then the default is to size to content if possible.
75
+ * Certain widget can't be intrinsically sized and must specify a content. These are typically ones that use a canvas element
76
+ * internally. */
77
+ defaultFloatingSize?: {
78
+ width: number;
79
+ height: number;
80
+ };
81
+ /** Optional prop that tells the widget system to fade this widget out with the rest of the UI when it is in floating state */
82
+ hideWithUiWhenFloating?: boolean;
83
+ /** Optional prop specifying which Panel sides can be docking targets for this widget. If this prop is not specified, all sides are allowed.
84
+ * An empty array is treated the same as an undefined prop, allowing all targets. */
85
+ readonly allowedPanelTargets?: ReadonlyArray<"left" | "right" | "bottom" | "top">;
86
+ }
87
87
  //# sourceMappingURL=AbstractWidgetProps.d.ts.map