@itwin/core-backend 5.2.0-dev.30 → 5.2.0-dev.31

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 (391) hide show
  1. package/lib/cjs/BackendHubAccess.d.ts +2 -0
  2. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  3. package/lib/cjs/BackendHubAccess.js.map +1 -1
  4. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  5. package/lib/cjs/BisCoreSchema.js.map +1 -1
  6. package/lib/cjs/BlobContainerService.js.map +1 -1
  7. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  8. package/lib/cjs/BriefcaseManager.js +3 -2
  9. package/lib/cjs/BriefcaseManager.js.map +1 -1
  10. package/lib/cjs/CatalogDb.js.map +1 -1
  11. package/lib/cjs/Category.js.map +1 -1
  12. package/lib/cjs/ChangeSummaryManager.js +2 -2
  13. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  14. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  15. package/lib/cjs/ChangesetECAdaptor.js +248 -248
  16. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  17. package/lib/cjs/ChannelControl.js.map +1 -1
  18. package/lib/cjs/CheckpointManager.js.map +1 -1
  19. package/lib/cjs/ClassRegistry.js +5 -5
  20. package/lib/cjs/ClassRegistry.js.map +1 -1
  21. package/lib/cjs/CloudSqlite.js.map +1 -1
  22. package/lib/cjs/CodeService.js.map +1 -1
  23. package/lib/cjs/CodeSpecs.js.map +1 -1
  24. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  25. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  26. package/lib/cjs/DevTools.js.map +1 -1
  27. package/lib/cjs/DisplayStyle.js.map +1 -1
  28. package/lib/cjs/ECDb.js.map +1 -1
  29. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  30. package/lib/cjs/ECSqlStatement.js.map +1 -1
  31. package/lib/cjs/Element.js.map +1 -1
  32. package/lib/cjs/ElementAspect.js.map +1 -1
  33. package/lib/cjs/ElementGraphics.js.map +1 -1
  34. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  35. package/lib/cjs/Entity.js.map +1 -1
  36. package/lib/cjs/EntityReferences.js.map +1 -1
  37. package/lib/cjs/ExportGraphics.js.map +1 -1
  38. package/lib/cjs/ExternalSource.js.map +1 -1
  39. package/lib/cjs/FontFile.js.map +1 -1
  40. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  41. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  42. package/lib/cjs/GeometrySummary.js +47 -47
  43. package/lib/cjs/GeometrySummary.js.map +1 -1
  44. package/lib/cjs/IModelDb.js +8 -8
  45. package/lib/cjs/IModelDb.js.map +1 -1
  46. package/lib/cjs/IModelDbFonts.js.map +1 -1
  47. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  48. package/lib/cjs/IModelHost.js.map +1 -1
  49. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  50. package/lib/cjs/IModelJsFs.js.map +1 -1
  51. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  52. package/lib/cjs/IpcHost.js.map +1 -1
  53. package/lib/cjs/LineStyle.js.map +1 -1
  54. package/lib/cjs/LocalHub.js +1 -1
  55. package/lib/cjs/LocalHub.js.map +1 -1
  56. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  57. package/lib/cjs/LockControl.js.map +1 -1
  58. package/lib/cjs/Material.js.map +1 -1
  59. package/lib/cjs/Model.js.map +1 -1
  60. package/lib/cjs/NativeAppStorage.js.map +1 -1
  61. package/lib/cjs/NativeHost.js.map +1 -1
  62. package/lib/cjs/NavigationRelationship.js.map +1 -1
  63. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  64. package/lib/cjs/PropertyStore.js.map +1 -1
  65. package/lib/cjs/Relationship.js.map +1 -1
  66. package/lib/cjs/RpcBackend.js.map +1 -1
  67. package/lib/cjs/SQLiteDb.js.map +1 -1
  68. package/lib/cjs/Schema.js.map +1 -1
  69. package/lib/cjs/SchemaSync.js.map +1 -1
  70. package/lib/cjs/SchemaUtils.js.map +1 -1
  71. package/lib/cjs/SheetIndex.js.map +1 -1
  72. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  73. package/lib/cjs/SqliteStatement.js.map +1 -1
  74. package/lib/cjs/StashManager.js.map +1 -1
  75. package/lib/cjs/Texture.js.map +1 -1
  76. package/lib/cjs/TileStorage.js.map +1 -1
  77. package/lib/cjs/TxnManager.js.map +1 -1
  78. package/lib/cjs/ViewDefinition.js.map +1 -1
  79. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  80. package/lib/cjs/ViewStore.js.map +1 -1
  81. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  82. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  83. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  84. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  85. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  86. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  87. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  88. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  89. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  90. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  91. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  92. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  93. package/lib/cjs/core-backend.js.map +1 -1
  94. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  95. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  96. package/lib/cjs/domains/GenericElements.js.map +1 -1
  97. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  98. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  99. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  100. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  101. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  102. package/lib/cjs/internal/HubMock.js.map +1 -1
  103. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  104. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  105. package/lib/cjs/internal/NoLocks.js.map +1 -1
  106. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  107. package/lib/cjs/internal/Symbols.js.map +1 -1
  108. package/lib/cjs/internal/annotations/fields.d.ts +2 -12
  109. package/lib/cjs/internal/annotations/fields.d.ts.map +1 -1
  110. package/lib/cjs/internal/annotations/fields.js +46 -40
  111. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  112. package/lib/cjs/internal/cross-package.js.map +1 -1
  113. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  114. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  115. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  116. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  117. package/lib/cjs/rpc/multipart.js.map +1 -1
  118. package/lib/cjs/rpc/tracing.js.map +1 -1
  119. package/lib/cjs/rpc/web/logging.js.map +1 -1
  120. package/lib/cjs/rpc/web/request.js.map +1 -1
  121. package/lib/cjs/rpc/web/response.js.map +1 -1
  122. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  123. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  124. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  125. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  126. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  127. package/lib/cjs/workspace/Settings.js.map +1 -1
  128. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  129. package/lib/cjs/workspace/Workspace.js.map +1 -1
  130. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  131. package/lib/esm/BackendHubAccess.d.ts +2 -0
  132. package/lib/esm/BackendHubAccess.d.ts.map +1 -1
  133. package/lib/esm/BackendHubAccess.js.map +1 -1
  134. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  135. package/lib/esm/BisCoreSchema.js.map +1 -1
  136. package/lib/esm/BlobContainerService.js.map +1 -1
  137. package/lib/esm/BriefcaseManager.d.ts.map +1 -1
  138. package/lib/esm/BriefcaseManager.js +3 -2
  139. package/lib/esm/BriefcaseManager.js.map +1 -1
  140. package/lib/esm/CatalogDb.js.map +1 -1
  141. package/lib/esm/Category.js.map +1 -1
  142. package/lib/esm/ChangeSummaryManager.js +2 -2
  143. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  144. package/lib/esm/ChangedElementsDb.js.map +1 -1
  145. package/lib/esm/ChangesetECAdaptor.js +248 -248
  146. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  147. package/lib/esm/ChannelControl.js.map +1 -1
  148. package/lib/esm/CheckpointManager.js.map +1 -1
  149. package/lib/esm/ClassRegistry.js +5 -5
  150. package/lib/esm/ClassRegistry.js.map +1 -1
  151. package/lib/esm/CloudSqlite.js.map +1 -1
  152. package/lib/esm/CodeService.js.map +1 -1
  153. package/lib/esm/CodeSpecs.js.map +1 -1
  154. package/lib/esm/ConcurrentQuery.js.map +1 -1
  155. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  156. package/lib/esm/DevTools.js.map +1 -1
  157. package/lib/esm/DisplayStyle.js.map +1 -1
  158. package/lib/esm/ECDb.js.map +1 -1
  159. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  160. package/lib/esm/ECSqlStatement.js.map +1 -1
  161. package/lib/esm/Element.js.map +1 -1
  162. package/lib/esm/ElementAspect.js.map +1 -1
  163. package/lib/esm/ElementGraphics.js.map +1 -1
  164. package/lib/esm/ElementTreeWalker.js.map +1 -1
  165. package/lib/esm/Entity.js.map +1 -1
  166. package/lib/esm/EntityReferences.js.map +1 -1
  167. package/lib/esm/ExportGraphics.js.map +1 -1
  168. package/lib/esm/ExternalSource.js.map +1 -1
  169. package/lib/esm/FontFile.js.map +1 -1
  170. package/lib/esm/GeoCoordConfig.js.map +1 -1
  171. package/lib/esm/GeographicCRSServices.js.map +1 -1
  172. package/lib/esm/GeometrySummary.js +47 -47
  173. package/lib/esm/GeometrySummary.js.map +1 -1
  174. package/lib/esm/IModelDb.js +8 -8
  175. package/lib/esm/IModelDb.js.map +1 -1
  176. package/lib/esm/IModelDbFonts.js.map +1 -1
  177. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  178. package/lib/esm/IModelHost.js.map +1 -1
  179. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  180. package/lib/esm/IModelJsFs.js.map +1 -1
  181. package/lib/esm/ImageSourceConversion.js.map +1 -1
  182. package/lib/esm/IpcHost.js.map +1 -1
  183. package/lib/esm/LineStyle.js.map +1 -1
  184. package/lib/esm/LocalHub.js +1 -1
  185. package/lib/esm/LocalHub.js.map +1 -1
  186. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  187. package/lib/esm/LockControl.js.map +1 -1
  188. package/lib/esm/Material.js.map +1 -1
  189. package/lib/esm/Model.js.map +1 -1
  190. package/lib/esm/NativeAppStorage.js.map +1 -1
  191. package/lib/esm/NativeHost.js.map +1 -1
  192. package/lib/esm/NavigationRelationship.js.map +1 -1
  193. package/lib/esm/PromiseMemoizer.js.map +1 -1
  194. package/lib/esm/PropertyStore.js.map +1 -1
  195. package/lib/esm/Relationship.js.map +1 -1
  196. package/lib/esm/RpcBackend.js.map +1 -1
  197. package/lib/esm/SQLiteDb.js.map +1 -1
  198. package/lib/esm/Schema.js.map +1 -1
  199. package/lib/esm/SchemaSync.js.map +1 -1
  200. package/lib/esm/SchemaUtils.js.map +1 -1
  201. package/lib/esm/SheetIndex.js.map +1 -1
  202. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  203. package/lib/esm/SqliteStatement.js.map +1 -1
  204. package/lib/esm/StashManager.js.map +1 -1
  205. package/lib/esm/Texture.js.map +1 -1
  206. package/lib/esm/TileStorage.js.map +1 -1
  207. package/lib/esm/TxnManager.js.map +1 -1
  208. package/lib/esm/ViewDefinition.js.map +1 -1
  209. package/lib/esm/ViewStateHydrator.js.map +1 -1
  210. package/lib/esm/ViewStore.js.map +1 -1
  211. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  212. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  213. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  214. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  215. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  216. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  217. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  218. package/lib/esm/core-backend.js.map +1 -1
  219. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  220. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  221. package/lib/esm/domains/GenericElements.js.map +1 -1
  222. package/lib/esm/domains/GenericSchema.js.map +1 -1
  223. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  224. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  225. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  226. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  227. package/lib/esm/internal/HubMock.js.map +1 -1
  228. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  229. package/lib/esm/internal/NativePlatform.js.map +1 -1
  230. package/lib/esm/internal/NoLocks.js.map +1 -1
  231. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  232. package/lib/esm/internal/Symbols.js.map +1 -1
  233. package/lib/esm/internal/annotations/fields.d.ts +2 -12
  234. package/lib/esm/internal/annotations/fields.d.ts.map +1 -1
  235. package/lib/esm/internal/annotations/fields.js +48 -42
  236. package/lib/esm/internal/annotations/fields.js.map +1 -1
  237. package/lib/esm/internal/cross-package.js.map +1 -1
  238. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  239. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  240. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  241. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  242. package/lib/esm/rpc/multipart.js.map +1 -1
  243. package/lib/esm/rpc/tracing.js.map +1 -1
  244. package/lib/esm/rpc/web/logging.js.map +1 -1
  245. package/lib/esm/rpc/web/request.js.map +1 -1
  246. package/lib/esm/rpc/web/response.js.map +1 -1
  247. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  248. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  249. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  250. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  251. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  252. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  253. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  254. package/lib/esm/test/AttachDb.test.js +11 -11
  255. package/lib/esm/test/AttachDb.test.js.map +1 -1
  256. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  257. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  258. package/lib/esm/test/IModelHost.test.js.map +1 -1
  259. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  260. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  261. package/lib/esm/test/IpcHost.test.js.map +1 -1
  262. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  263. package/lib/esm/test/PrintElementTree.js.map +1 -1
  264. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  265. package/lib/esm/test/RevisionUtility.js.map +1 -1
  266. package/lib/esm/test/SchemaUtils.test.js +25 -25
  267. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  268. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  269. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  270. package/lib/esm/test/TestUtils.js.map +1 -1
  271. package/lib/esm/test/annotations/Fields.test.js +176 -62
  272. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  273. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  274. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  275. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  276. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  277. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  278. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.d.ts +44 -0
  279. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.d.ts.map +1 -1
  280. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js +18 -2
  281. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  282. package/lib/esm/test/categories/Category.test.js.map +1 -1
  283. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  284. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  285. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  286. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +15 -15
  287. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  288. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  289. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  290. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  291. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  292. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  293. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  294. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  295. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  296. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  297. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  298. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  299. package/lib/esm/test/ecdb/ECSqlStatement.test.js +326 -326
  300. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  301. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  302. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  303. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  304. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  305. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  306. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  307. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  308. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  309. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  310. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  311. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  312. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  313. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  314. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  315. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  316. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  317. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  318. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  319. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  320. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
  321. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  322. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  323. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  324. package/lib/esm/test/hubaccess/Rebase.test.js +33 -33
  325. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  326. package/lib/esm/test/imageData.js.map +1 -1
  327. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  328. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  329. package/lib/esm/test/imodel/IModel.test.js +44 -44
  330. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  331. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  332. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  333. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  334. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  335. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
  336. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
  337. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
  338. package/lib/esm/test/index.js.map +1 -1
  339. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  340. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  341. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  342. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  343. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  344. package/lib/esm/test/rpc/response.test.js.map +1 -1
  345. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  346. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  347. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  348. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  349. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  350. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  351. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  352. package/lib/esm/test/standalone/ChangesetReader.test.js +117 -117
  353. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  354. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  355. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  356. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  357. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  358. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  359. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  360. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  361. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  362. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  363. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  364. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  365. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  366. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  367. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  368. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  369. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  370. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  371. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  372. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  373. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  374. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  375. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  376. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  377. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  378. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  379. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  380. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  381. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  382. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  383. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  384. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  385. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  386. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  387. package/lib/esm/workspace/Settings.js.map +1 -1
  388. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  389. package/lib/esm/workspace/Workspace.js.map +1 -1
  390. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  391. package/package.json +12 -12
@@ -7,7 +7,7 @@ import { Code, FieldRun, SubCategoryAppearance, TextAnnotation, TextBlock, TextR
7
7
  import { StandaloneDb } from "../../IModelDb";
8
8
  import { IModelTestUtils } from "../IModelTestUtils";
9
9
  import { createUpdateContext, updateField, updateFields } from "../../internal/annotations/fields";
10
- import { DbResult, Id64 } from "@itwin/core-bentley";
10
+ import { DbResult, Id64, ProcessDetector } from "@itwin/core-bentley";
11
11
  import { SpatialCategory } from "../../Category";
12
12
  import { Point3d, YawPitchRollAngles } from "@itwin/core-geometry";
13
13
  import { Schema, Schemas } from "../../Schema";
@@ -15,6 +15,12 @@ import { ClassRegistry } from "../../ClassRegistry";
15
15
  import { PhysicalElement } from "../../Element";
16
16
  import { ElementOwnsUniqueAspect, ElementUniqueAspect, FontFile, TextAnnotation3d } from "../../core-backend";
17
17
  import { ElementDrivesTextAnnotation, TextAnnotationUsesTextStyleByDefault } from "../../annotations/ElementDrivesTextAnnotation";
18
+ function isIntlSupported() {
19
+ // Node in the mobile add-on does not include Intl, so this test fails. Right now, mobile
20
+ // users are not expected to do any editing, but long term we will attempt to find a better
21
+ // solution.
22
+ return !ProcessDetector.isMobileAppBackend;
23
+ }
18
24
  describe("updateField", () => {
19
25
  const mockElementId = "0x1";
20
26
  const mockPath = {
@@ -31,7 +37,7 @@ describe("updateField", () => {
31
37
  propertyPath.accessors?.[0] === 0 &&
32
38
  propertyPath.accessors?.[1] === "nestedProperty" &&
33
39
  propertyValue !== undefined) {
34
- return { value: propertyValue, metadata: {} };
40
+ return { value: propertyValue, type: "string" };
35
41
  }
36
42
  return undefined;
37
43
  },
@@ -97,36 +103,43 @@ describe("updateField", () => {
97
103
  expect(fieldRun.cachedContent).to.equal(FieldRun.invalidContentIndicator);
98
104
  });
99
105
  });
100
- const fieldsSchemaXml = `
101
- <?xml version="1.0" encoding="UTF-8"?>
102
- <ECSchema schemaName="Fields" alias="ts" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
103
- <ECSchemaReference name="BisCore" version="01.00.04" alias="bis"/>
104
-
105
- <ECStructClass typeName="InnerStruct" modifier="None">
106
- <ECProperty propertyName="bool" typeName="boolean"/>
107
- <ECArrayProperty propertyName="doubles" typeName="double" minOccurs="0" maxOccurs="unbounded"/>
108
- </ECStructClass>
109
-
110
- <ECStructClass typeName="OuterStruct" modifier="None">
111
- <ECStructProperty propertyName="innerStruct" typeName="InnerStruct"/>
112
- <ECStructArrayProperty propertyName="innerStructs" typeName="InnerStruct" minOccurs="0" maxOccurs="unbounded"/>
113
- </ECStructClass>
114
-
115
- <ECEntityClass typeName="TestElement" modifier="None">
116
- <BaseClass>bis:PhysicalElement</BaseClass>
117
- <ECProperty propertyName="intProp" typeName="int"/>
118
- <ECProperty propertyName="point" typeName="point3d"/>
119
- <ECProperty propertyName="maybeNull" typeName="int"/>
120
- <ECArrayProperty propertyName="strings" typeName="string" minOccurs="0" maxOccurs="unbounded"/>
121
- <ECStructProperty propertyName="outerStruct" typeName="OuterStruct"/>
122
- <ECStructArrayProperty propertyName="outerStructs" typeName="OuterStruct" minOccurs="0" maxOccurs="unbounded"/>
123
- </ECEntityClass>
124
-
125
- <ECEntityClass typeName="TestAspect" modifier="None">
126
- <BaseClass>bis:ElementUniqueAspect</BaseClass>
127
- <ECProperty propertyName="aspectProp" typeName="int"/>
128
- </ECEntityClass>
129
- </ECSchema>
106
+ const fieldsSchemaXml = `
107
+ <?xml version="1.0" encoding="UTF-8"?>
108
+ <ECSchema schemaName="Fields" alias="ts" version="01.00.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
109
+ <ECSchemaReference name="BisCore" version="01.00.04" alias="bis"/>
110
+
111
+ <ECEnumeration typeName="IntEnum" backingTypeName="int">
112
+ <ECEnumerator name="one" displayLabel="One" value="1" />
113
+ <ECEnumerator name="two" displayLabel="Two" value="2"/>
114
+ </ECEnumeration>
115
+
116
+ <ECStructClass typeName="InnerStruct" modifier="None">
117
+ <ECProperty propertyName="bool" typeName="boolean"/>
118
+ <ECArrayProperty propertyName="doubles" typeName="double" minOccurs="0" maxOccurs="unbounded"/>
119
+ </ECStructClass>
120
+
121
+ <ECStructClass typeName="OuterStruct" modifier="None">
122
+ <ECStructProperty propertyName="innerStruct" typeName="InnerStruct"/>
123
+ <ECStructArrayProperty propertyName="innerStructs" typeName="InnerStruct" minOccurs="0" maxOccurs="unbounded"/>
124
+ </ECStructClass>
125
+
126
+ <ECEntityClass typeName="TestElement" modifier="None">
127
+ <BaseClass>bis:PhysicalElement</BaseClass>
128
+ <ECProperty propertyName="intProp" typeName="int"/>
129
+ <ECProperty propertyName="point" typeName="point3d"/>
130
+ <ECProperty propertyName="maybeNull" typeName="int"/>
131
+ <ECProperty propertyName="datetime" typeName="dateTime"/>
132
+ <ECArrayProperty propertyName="strings" typeName="string" minOccurs="0" maxOccurs="unbounded"/>
133
+ <ECStructProperty propertyName="outerStruct" typeName="OuterStruct"/>
134
+ <ECStructArrayProperty propertyName="outerStructs" typeName="OuterStruct" minOccurs="0" maxOccurs="unbounded"/>
135
+ <ECProperty propertyName="intEnum" typeName="IntEnum"/>
136
+ </ECEntityClass>
137
+
138
+ <ECEntityClass typeName="TestAspect" modifier="None">
139
+ <BaseClass>bis:ElementUniqueAspect</BaseClass>
140
+ <ECProperty propertyName="aspectProp" typeName="int"/>
141
+ </ECEntityClass>
142
+ </ECSchema>
130
143
  `;
131
144
  class TestElement extends PhysicalElement {
132
145
  static get className() { return "TestElement"; }
@@ -174,6 +187,8 @@ describe("Field evaluation", () => {
174
187
  intProp: 100,
175
188
  point: { x: 1, y: 2, z: 3 },
176
189
  strings: ["a", "b", `"name": "c"`],
190
+ datetime: new Date("2025-08-28T13:45:30.123Z"),
191
+ intEnum: 1,
177
192
  outerStruct: {
178
193
  innerStruct: { bool: false, doubles: [1, 2, 3] },
179
194
  innerStructs: [{ bool: true, doubles: [] }, { bool: false, doubles: [5, 4, 3, 2, 1] }],
@@ -189,6 +204,7 @@ describe("Field evaluation", () => {
189
204
  jsonProperties: {
190
205
  stringProp: "abc",
191
206
  ints: [10, 11, 12, 13],
207
+ bool: true,
192
208
  zoo: {
193
209
  address: {
194
210
  zipcode: 12345,
@@ -210,22 +226,27 @@ describe("Field evaluation", () => {
210
226
  imodel.saveChanges();
211
227
  return id;
212
228
  }
229
+ function evaluateField(propertyPath, propertyHost, deletedDependency = false) {
230
+ if (typeof propertyHost === "string") {
231
+ propertyHost = { schemaName: "Fields", className: "TestElement", elementId: propertyHost };
232
+ }
233
+ const field = FieldRun.create({
234
+ propertyPath,
235
+ propertyHost,
236
+ });
237
+ const context = createUpdateContext(propertyHost.elementId, imodel, deletedDependency);
238
+ return context.getProperty(field);
239
+ }
213
240
  describe("getProperty", () => {
214
241
  function expectValue(expected, propertyPath, propertyHost, deletedDependency = false) {
215
- if (typeof propertyHost === "string") {
216
- propertyHost = { schemaName: "Fields", className: "TestElement", elementId: propertyHost };
217
- }
218
- const field = FieldRun.create({
219
- propertyPath,
220
- propertyHost,
221
- });
222
- const context = createUpdateContext(propertyHost.elementId, imodel, deletedDependency);
223
- const actual = context.getProperty(field);
224
- expect(actual?.value).to.deep.equal(expected);
242
+ expect(evaluateField(propertyPath, propertyHost, deletedDependency)?.value).to.deep.equal(expected);
225
243
  }
226
244
  it("returns a primitive property value", () => {
227
245
  expectValue(100, { propertyName: "intProp" }, sourceElementId);
228
246
  });
247
+ it("returns an integer enum property value", () => {
248
+ expectValue(1, { propertyName: "intEnum" }, sourceElementId);
249
+ });
229
250
  it("treats points as primitive values", () => {
230
251
  expectValue({ x: 1, y: 2, z: 3 }, { propertyName: "point" }, sourceElementId);
231
252
  expectValue(undefined, { propertyName: "point", accessors: ["x"] }, sourceElementId);
@@ -284,24 +305,58 @@ describe("Field evaluation", () => {
284
305
  expectValue(false, { propertyName: "outerStructs", accessors: [0, "innerStructs", -1, "bool"] }, sourceElementId);
285
306
  expectValue(5, { propertyName: "outerStructs", accessors: [0, "innerStructs", 0, "doubles", 0] }, sourceElementId);
286
307
  });
287
- it("returns arbitrarily-nested JSON properties", () => {
288
- expectValue("abc", { propertyName: "jsonProperties", jsonAccessors: ["stringProp"] }, sourceElementId);
289
- expectValue(10, { propertyName: "jsonProperties", jsonAccessors: ["ints", 0] }, sourceElementId);
290
- expectValue(13, { propertyName: "jsonProperties", jsonAccessors: ["ints", 3] }, sourceElementId);
291
- expectValue(13, { propertyName: "jsonProperties", jsonAccessors: ["ints", -1] }, sourceElementId);
292
- expectValue(11, { propertyName: "jsonProperties", jsonAccessors: ["ints", -3] }, sourceElementId);
293
- expectValue(12345, { propertyName: "jsonProperties", jsonAccessors: ["zoo", "address", "zipcode"] }, sourceElementId);
294
- expectValue("scree!", { propertyName: "jsonProperties", jsonAccessors: ["zoo", "birds", 1, "sound"] }, sourceElementId);
295
- });
296
- it("returns undefined if JSON accessors applied to non-JSON property", () => {
297
- expectValue(undefined, { propertyName: "int", jsonAccessors: ["whatever"] }, sourceElementId);
298
- expectValue(undefined, { propertyName: "strings", accessors: [2, "name"] }, sourceElementId);
299
- expectValue(undefined, { propertyName: "outerStruct", accessors: ["innerStruct"], jsonAccessors: ["bool"] }, sourceElementId);
300
- });
301
308
  it("returns the value of a property of an aspect", () => {
302
309
  expect(imodel.elements.getAspects(sourceElementId, "Fields:TestAspect").length).to.equal(1);
303
310
  expectValue(999, { propertyName: "aspectProp" }, { elementId: sourceElementId, schemaName: "Fields", className: "TestAspect" });
304
311
  });
312
+ it("should fail to evaluate if prop type does not match", () => {
313
+ const fieldRun = FieldRun.create({
314
+ propertyHost: { elementId: sourceElementId, schemaName: "Fields", className: "TestElement" },
315
+ propertyPath: { propertyName: "string", accessors: [0] },
316
+ cachedContent: "oldValue",
317
+ formatOptions: {
318
+ case: "upper",
319
+ prefix: "Value: ",
320
+ suffix: "!"
321
+ }
322
+ });
323
+ const context = createUpdateContext(sourceElementId, imodel, false);
324
+ const updated = updateField(fieldRun, context);
325
+ expect(updated).to.be.true;
326
+ expect(fieldRun.cachedContent).to.equal(FieldRun.invalidContentIndicator);
327
+ });
328
+ function getPropertyType(propertyHost, propertyPath) {
329
+ if (typeof propertyPath === "string") {
330
+ propertyPath = { propertyName: propertyPath };
331
+ }
332
+ return evaluateField(propertyPath, propertyHost)?.type;
333
+ }
334
+ it("deduces type for primitive properties", () => {
335
+ const propertyHost = { elementId: sourceElementId, schemaName: "Fields", className: "TestElement" };
336
+ expect(getPropertyType(propertyHost, "intProp")).to.equal("string");
337
+ expect(getPropertyType(propertyHost, "point")).to.equal("coordinate");
338
+ expect(getPropertyType(propertyHost, { propertyName: "strings", accessors: [0] })).to.equal("string");
339
+ expect(getPropertyType(propertyHost, "intEnum")).to.equal("int-enum");
340
+ expect(getPropertyType(propertyHost, { propertyName: "outerStruct", accessors: ["innerStruct", "doubles", 0] })).to.equal("quantity");
341
+ expect(getPropertyType(propertyHost, { propertyName: "outerStruct", accessors: ["innerStruct", "bool"] })).to.equal("boolean");
342
+ propertyHost.schemaName = "BisCore";
343
+ propertyHost.className = "GeometricElement3d";
344
+ expect(getPropertyType(propertyHost, "LastMod")).to.equal("datetime");
345
+ expect(getPropertyType(propertyHost, "FederationGuid")).to.equal("string");
346
+ });
347
+ it("returns undefined for non-primitive properties", () => {
348
+ const propertyHost = { elementId: sourceElementId, schemaName: "Fields", className: "TestElement" };
349
+ expect(getPropertyType(propertyHost, "outerStruct")).to.equal(undefined);
350
+ expect(getPropertyType(propertyHost, "outerStructs")).to.equal(undefined);
351
+ });
352
+ it("returns undefined for invalid property paths", () => {
353
+ const propertyHost = { elementId: sourceElementId, schemaName: "Fields", className: "TestElement" };
354
+ expect(getPropertyType(propertyHost, "unknownPropertyName")).to.be.undefined;
355
+ });
356
+ it("should return undefined for unsupported primitive types", () => {
357
+ const host = { elementId: sourceElementId, schemaName: "BisCore", className: "GeometricElement3d" };
358
+ expect(getPropertyType(host, "GeometryStream")).to.be.undefined;
359
+ });
305
360
  });
306
361
  describe("updateFields", () => {
307
362
  it("recomputes cached content", () => {
@@ -396,7 +451,7 @@ describe("Field evaluation", () => {
396
451
  expect(relationship.sourceId).to.equal(sourceElementId);
397
452
  expect(relationship.targetId).to.equal(targetId);
398
453
  });
399
- function createField(propertyHost, cachedContent, propertyName = "intProp", accessors, jsonAccessors) {
454
+ function createField(propertyHost, cachedContent, propertyName = "intProp", accessors) {
400
455
  if (typeof propertyHost === "string") {
401
456
  propertyHost = { schemaName: "Fields", className: "TestElement", elementId: propertyHost };
402
457
  }
@@ -404,7 +459,7 @@ describe("Field evaluation", () => {
404
459
  styleOverrides: { fontName: "Karla" },
405
460
  propertyHost,
406
461
  cachedContent,
407
- propertyPath: { propertyName, accessors, jsonAccessors },
462
+ propertyPath: { propertyName, accessors },
408
463
  });
409
464
  }
410
465
  describe("updateFieldDependencies", () => {
@@ -492,6 +547,16 @@ describe("Field evaluation", () => {
492
547
  const actual = anno.textBlock.stringify();
493
548
  expect(actual).to.equal(expected);
494
549
  }
550
+ it("evaluates cachedContent when annotation element is inserted", () => {
551
+ const sourceId = insertTestElement();
552
+ const block = TextBlock.create();
553
+ block.appendRun(createField(sourceId, "initial cached content"));
554
+ expect(block.stringify()).to.equal("initial cached content");
555
+ const targetId = insertAnnotationElement(block);
556
+ imodel.saveChanges();
557
+ const target = imodel.elements.getElement(targetId);
558
+ expect(target.getAnnotation().textBlock.stringify()).to.equal("100");
559
+ });
495
560
  it("updates fields when source element is modified or deleted", () => {
496
561
  const sourceId = insertTestElement();
497
562
  const block = TextBlock.create();
@@ -561,16 +626,65 @@ describe("Field evaluation", () => {
561
626
  const sourceId = insertTestElement();
562
627
  const block = TextBlock.create();
563
628
  block.appendRun(createField(sourceId, "", "outerStruct", ["innerStructs", 1, "doubles", -2]));
564
- block.appendRun(createField(sourceId, "", "jsonProperties", undefined, ["zoo", "birds", 0, "name"]));
565
629
  const targetId = insertAnnotationElement(block);
566
630
  imodel.saveChanges();
567
- expectText("2duck", targetId);
631
+ expectText("2", targetId);
568
632
  const source = imodel.elements.getElement(sourceId);
569
633
  source.outerStruct.innerStructs[1].doubles[3] = 12.5;
570
- source.jsonProperties.zoo.birds[0].name = "parrot";
571
634
  source.update();
572
635
  imodel.saveChanges();
573
- expectText("12.5parrot", targetId);
636
+ expectText("12.5", targetId);
637
+ });
638
+ });
639
+ describe("Format Validation", () => {
640
+ it("validates formatting options for string property type", () => {
641
+ // Create a FieldRun with string property type and some format options
642
+ const fieldRun = FieldRun.create({
643
+ propertyHost: { elementId: sourceElementId, schemaName: "Fields", className: "TestElement" },
644
+ propertyPath: { propertyName: "strings", accessors: [0] },
645
+ cachedContent: "oldValue",
646
+ formatOptions: {
647
+ case: "upper",
648
+ prefix: "Value: ",
649
+ suffix: "!"
650
+ }
651
+ });
652
+ // Context returns a string value for the property
653
+ const context = {
654
+ hostElementId: sourceElementId,
655
+ getProperty: () => { return { value: "abc", type: "string" }; },
656
+ };
657
+ // Update the field and check the result
658
+ const updated = updateField(fieldRun, context);
659
+ // The formatted value should be uppercased and have prefix/suffix applied
660
+ expect(updated).to.be.true;
661
+ expect(fieldRun.cachedContent).to.equal("Value: ABC!");
662
+ });
663
+ it("validates formatting options for datetime objects", function () {
664
+ if (!isIntlSupported()) {
665
+ this.skip();
666
+ }
667
+ const propertyHost = { elementId: sourceElementId, schemaName: "Fields", className: "TestElement" };
668
+ const fieldRun = FieldRun.create({
669
+ propertyHost,
670
+ propertyPath: { propertyName: "datetime" },
671
+ cachedContent: "oldval",
672
+ formatOptions: {
673
+ dateTime: {
674
+ formatOptions: {
675
+ month: "short",
676
+ day: "2-digit",
677
+ year: "numeric",
678
+ timeZone: "UTC"
679
+ },
680
+ locale: "en-US",
681
+ },
682
+ },
683
+ });
684
+ const context = createUpdateContext(sourceElementId, imodel, false);
685
+ const updated = updateField(fieldRun, context);
686
+ expect(updated).to.be.true;
687
+ expect(fieldRun.cachedContent).to.equal("Aug 28, 2025");
574
688
  });
575
689
  });
576
690
  });