@itwin/presentation-testing 3.6.0-dev.8 → 4.0.0-dev.10

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 (44) hide show
  1. package/CHANGELOG.md +927 -934
  2. package/LICENSE.md +9 -9
  3. package/README.md +7 -7
  4. package/lib/cjs/presentation-testing/ContentBuilder.d.ts +92 -87
  5. package/lib/cjs/presentation-testing/ContentBuilder.d.ts.map +1 -1
  6. package/lib/cjs/presentation-testing/ContentBuilder.js +178 -147
  7. package/lib/cjs/presentation-testing/ContentBuilder.js.map +1 -1
  8. package/lib/cjs/presentation-testing/Helpers.d.ts +45 -42
  9. package/lib/cjs/presentation-testing/Helpers.d.ts.map +1 -1
  10. package/lib/cjs/presentation-testing/Helpers.js +138 -135
  11. package/lib/cjs/presentation-testing/Helpers.js.map +1 -1
  12. package/lib/cjs/presentation-testing/HierarchyBuilder.d.ts +69 -66
  13. package/lib/cjs/presentation-testing/HierarchyBuilder.d.ts.map +1 -1
  14. package/lib/cjs/presentation-testing/HierarchyBuilder.js +78 -68
  15. package/lib/cjs/presentation-testing/HierarchyBuilder.js.map +1 -1
  16. package/lib/cjs/presentation-testing/IModelUtilities.d.ts +46 -46
  17. package/lib/cjs/presentation-testing/IModelUtilities.d.ts.map +1 -1
  18. package/lib/cjs/presentation-testing/IModelUtilities.js +83 -77
  19. package/lib/cjs/presentation-testing/IModelUtilities.js.map +1 -1
  20. package/lib/cjs/presentation-testing.d.ts +28 -28
  21. package/lib/cjs/presentation-testing.d.ts.map +1 -1
  22. package/lib/cjs/presentation-testing.js +44 -44
  23. package/lib/cjs/presentation-testing.js.map +1 -1
  24. package/lib/esm/presentation-testing/ContentBuilder.d.ts +92 -87
  25. package/lib/esm/presentation-testing/ContentBuilder.d.ts.map +1 -1
  26. package/lib/esm/presentation-testing/ContentBuilder.js +174 -143
  27. package/lib/esm/presentation-testing/ContentBuilder.js.map +1 -1
  28. package/lib/esm/presentation-testing/Helpers.d.ts +45 -42
  29. package/lib/esm/presentation-testing/Helpers.d.ts.map +1 -1
  30. package/lib/esm/presentation-testing/Helpers.js +113 -110
  31. package/lib/esm/presentation-testing/Helpers.js.map +1 -1
  32. package/lib/esm/presentation-testing/HierarchyBuilder.d.ts +69 -66
  33. package/lib/esm/presentation-testing/HierarchyBuilder.d.ts.map +1 -1
  34. package/lib/esm/presentation-testing/HierarchyBuilder.js +73 -63
  35. package/lib/esm/presentation-testing/HierarchyBuilder.js.map +1 -1
  36. package/lib/esm/presentation-testing/IModelUtilities.d.ts +46 -46
  37. package/lib/esm/presentation-testing/IModelUtilities.d.ts.map +1 -1
  38. package/lib/esm/presentation-testing/IModelUtilities.js +75 -69
  39. package/lib/esm/presentation-testing/IModelUtilities.js.map +1 -1
  40. package/lib/esm/presentation-testing.d.ts +28 -28
  41. package/lib/esm/presentation-testing.d.ts.map +1 -1
  42. package/lib/esm/presentation-testing.js +32 -32
  43. package/lib/esm/presentation-testing.js.map +1 -1
  44. package/package.json +53 -53
@@ -1 +1 @@
1
- {"version":3,"file":"IModelUtilities.js","sourceRoot":"","sources":["../../../src/presentation-testing/IModelUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;AAEH,sDAAuE;AAEvE,oDAA8I;AAC9I,wDAA4E;AAC5E,gDAAwB;AACxB,uCAA6C;AAqB7C;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,EAAwC;IAC1F,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,yBAAU,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,IAAI;QACF,EAAE,CAAC,OAAO,CAAC,CAAC;KACb;YAAS;QACR,EAAE,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACtC,EAAE,CAAC,KAAK,EAAE,CAAC;KACZ;IACD,OAAO,kCAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAXD,0CAWC;AAED;;;;GAIG;AACH,MAAa,aAAa;IAGxB,YAAY,MAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEM,WAAW,CAA4B,KAAa;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAEM,aAAa,CAA8B,KAAa;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAEM,YAAY,CAAoC,KAAa;QAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEM,UAAU,CAAC,YAA4B,EAAE,YAAyB,EAAE,SAAiB;QAC1F,MAAM,QAAQ,GAAa,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,IAAI,kBAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAChF,CAAC;CACF;AAvBD,sCAuBC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,aAAa,GAAG,IAAA,0BAAgB,GAAE,CAAC;IACzC,CAAC,yBAAU,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,yBAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IAC/D,yBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,yBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module IModel\r\n */\r\n\r\nimport { IModelDb, IModelJsFs, SnapshotDb } from \"@itwin/core-backend\";\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { BisCodeSpec, Code, CodeScopeProps, CodeSpec, ElementAspectProps, ElementProps, LocalFileName, ModelProps } from \"@itwin/core-common\";\r\nimport { IModelConnection, SnapshotConnection } from \"@itwin/core-frontend\";\r\nimport path from \"path\";\r\nimport { getTestOutputDir } from \"./Helpers\";\r\n\r\n/**\r\n * Interface for IModel builder pattern. Used for building IModels to test rulesets.\r\n *\r\n * @beta\r\n */\r\nexport interface TestIModelBuilder {\r\n /** Insert a model into the builder's iModel */\r\n insertModel<TProps extends ModelProps>(props: TProps): Id64String;\r\n /** Insert an element into the builder's iModel */\r\n insertElement<TProps extends ElementProps>(props: TProps): Id64String;\r\n /** Insert an element aspect into the specified element */\r\n insertAspect<TProps extends ElementAspectProps>(props: TProps): void;\r\n /**\r\n * Create code for specified element.\r\n * Code value has to be unique within its scope (see [Codes documentation page]($docs/bis/guide/fundamentals/codes.md)).\r\n */\r\n createCode(scopeModelId: CodeScopeProps, codeSpecName: BisCodeSpec, codeValue: string): Code;\r\n}\r\n\r\n/**\r\n * Function that creates an iModel and returns a connection to it.\r\n * @param name Name of test IModel\r\n * @param cb Callback function that receives an [[TestIModelBuilder]] to fill the iModel with data\r\n *\r\n * @beta\r\n */\r\nexport async function buildTestIModel(name: string, cb: (builder: TestIModelBuilder) => void): Promise<IModelConnection> {\r\n const outputFile = setupOutputFileLocation(name);\r\n const db = SnapshotDb.createEmpty(outputFile, { rootSubject: { name } });\r\n const builder = new IModelBuilder(db);\r\n try {\r\n cb(builder);\r\n } finally {\r\n db.saveChanges(\"Created test IModel\");\r\n db.close();\r\n }\r\n return SnapshotConnection.openFile(outputFile);\r\n}\r\n\r\n/**\r\n * Default implementation of IModel builder pattern. Used for building IModels to test rulesets.\r\n *\r\n * @internal\r\n */\r\nexport class IModelBuilder implements TestIModelBuilder {\r\n private _iModel: IModelDb;\r\n\r\n constructor(iModel: IModelDb) {\r\n this._iModel = iModel;\r\n }\r\n\r\n public insertModel<TProps extends ModelProps>(props: TProps): Id64String {\r\n return this._iModel.models.insertModel(props);\r\n }\r\n\r\n public insertElement<TProps extends ElementProps>(props: TProps): Id64String {\r\n return this._iModel.elements.insertElement(props);\r\n }\r\n\r\n public insertAspect<TProps extends ElementAspectProps>(props: TProps): void {\r\n this._iModel.elements.insertAspect(props);\r\n }\r\n\r\n public createCode(scopeModelId: CodeScopeProps, codeSpecName: BisCodeSpec, codeValue: string): Code {\r\n const codeSpec: CodeSpec = this._iModel.codeSpecs.getByName(codeSpecName);\r\n return new Code({ spec: codeSpec.id, scope: scopeModelId, value: codeValue });\r\n }\r\n}\r\n\r\n/**\r\n * Prepare for an output file by:\r\n * - Resolving the output file name under the known test output directory\r\n * - Making directories as necessary\r\n * - Removing a previous copy of the output file\r\n * @param fileName Name of output file\r\n */\r\nfunction setupOutputFileLocation(fileName: string): LocalFileName {\r\n const testOutputDir = getTestOutputDir();\r\n !IModelJsFs.existsSync(testOutputDir) && IModelJsFs.mkdirSync(testOutputDir);\r\n\r\n const outputFile = path.join(testOutputDir, `${fileName}.bim`);\r\n IModelJsFs.existsSync(outputFile) && IModelJsFs.unlinkSync(outputFile);\r\n return outputFile;\r\n}\r\n"]}
1
+ {"version":3,"file":"IModelUtilities.js","sourceRoot":"","sources":["../../../src/presentation-testing/IModelUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;AAEH,gDAAwB;AACxB,sDAAuE;AAEvE,oDAA8I;AAC9I,wDAA4E;AAC5E,uCAA6C;AAqB7C;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,EAAwC;IAC1F,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAE,GAAG,yBAAU,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,IAAI;QACF,EAAE,CAAC,OAAO,CAAC,CAAC;KACb;YAAS;QACR,EAAE,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACtC,EAAE,CAAC,KAAK,EAAE,CAAC;KACZ;IACD,OAAO,kCAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAXD,0CAWC;AAED;;;;GAIG;AACH,MAAa,aAAa;IAGxB,YAAY,MAAgB;QAF5B;;;;;WAA0B;QAGxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEM,WAAW,CAA4B,KAAa;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAEM,aAAa,CAA8B,KAAa;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAEM,YAAY,CAAoC,KAAa;QAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEM,UAAU,CAAC,YAA4B,EAAE,YAAyB,EAAE,SAAiB;QAC1F,MAAM,QAAQ,GAAa,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,IAAI,kBAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAChF,CAAC;CACF;AAvBD,sCAuBC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,aAAa,GAAG,IAAA,0BAAgB,GAAE,CAAC;IACzC,CAAC,yBAAU,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,yBAAU,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IAC/D,yBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,yBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModel\n */\n\nimport path from \"path\";\nimport { IModelDb, IModelJsFs, SnapshotDb } from \"@itwin/core-backend\";\nimport { Id64String } from \"@itwin/core-bentley\";\nimport { BisCodeSpec, Code, CodeScopeProps, CodeSpec, ElementAspectProps, ElementProps, LocalFileName, ModelProps } from \"@itwin/core-common\";\nimport { IModelConnection, SnapshotConnection } from \"@itwin/core-frontend\";\nimport { getTestOutputDir } from \"./Helpers\";\n\n/**\n * Interface for IModel builder pattern. Used for building IModels to test rulesets.\n *\n * @beta\n */\nexport interface TestIModelBuilder {\n /** Insert a model into the builder's iModel */\n insertModel<TProps extends ModelProps>(props: TProps): Id64String;\n /** Insert an element into the builder's iModel */\n insertElement<TProps extends ElementProps>(props: TProps): Id64String;\n /** Insert an element aspect into the specified element */\n insertAspect<TProps extends ElementAspectProps>(props: TProps): void;\n /**\n * Create code for specified element.\n * Code value has to be unique within its scope (see [Codes documentation page]($docs/bis/guide/fundamentals/codes.md)).\n */\n createCode(scopeModelId: CodeScopeProps, codeSpecName: BisCodeSpec, codeValue: string): Code;\n}\n\n/**\n * Function that creates an iModel and returns a connection to it.\n * @param name Name of test IModel\n * @param cb Callback function that receives an [[TestIModelBuilder]] to fill the iModel with data\n *\n * @beta\n */\nexport async function buildTestIModel(name: string, cb: (builder: TestIModelBuilder) => void): Promise<IModelConnection> {\n const outputFile = setupOutputFileLocation(name);\n const db = SnapshotDb.createEmpty(outputFile, { rootSubject: { name } });\n const builder = new IModelBuilder(db);\n try {\n cb(builder);\n } finally {\n db.saveChanges(\"Created test IModel\");\n db.close();\n }\n return SnapshotConnection.openFile(outputFile);\n}\n\n/**\n * Default implementation of IModel builder pattern. Used for building IModels to test rulesets.\n *\n * @internal\n */\nexport class IModelBuilder implements TestIModelBuilder {\n private _iModel: IModelDb;\n\n constructor(iModel: IModelDb) {\n this._iModel = iModel;\n }\n\n public insertModel<TProps extends ModelProps>(props: TProps): Id64String {\n return this._iModel.models.insertModel(props);\n }\n\n public insertElement<TProps extends ElementProps>(props: TProps): Id64String {\n return this._iModel.elements.insertElement(props);\n }\n\n public insertAspect<TProps extends ElementAspectProps>(props: TProps): void {\n this._iModel.elements.insertAspect(props);\n }\n\n public createCode(scopeModelId: CodeScopeProps, codeSpecName: BisCodeSpec, codeValue: string): Code {\n const codeSpec: CodeSpec = this._iModel.codeSpecs.getByName(codeSpecName);\n return new Code({ spec: codeSpec.id, scope: scopeModelId, value: codeValue });\n }\n}\n\n/**\n * Prepare for an output file by:\n * - Resolving the output file name under the known test output directory\n * - Making directories as necessary\n * - Removing a previous copy of the output file\n * @param fileName Name of output file\n */\nfunction setupOutputFileLocation(fileName: string): LocalFileName {\n const testOutputDir = getTestOutputDir();\n !IModelJsFs.existsSync(testOutputDir) && IModelJsFs.mkdirSync(testOutputDir);\n\n const outputFile = path.join(testOutputDir, `${fileName}.bim`);\n IModelJsFs.existsSync(outputFile) && IModelJsFs.unlinkSync(outputFile);\n return outputFile;\n}\n"]}
@@ -1,29 +1,29 @@
1
- /**
2
- * @module Hierarchies
3
- *
4
- * @docs-group-description Hierarchies
5
- * Types for testing hierarchies.
6
- */
7
- export * from "./presentation-testing/HierarchyBuilder";
8
- /**
9
- * @module Content
10
- *
11
- * @docs-group-description Content
12
- * Types for testing content.
13
- */
14
- export * from "./presentation-testing/ContentBuilder";
15
- /**
16
- * @module Helpers
17
- *
18
- * @docs-group-description Helpers
19
- * Various test helpers.
20
- */
21
- export * from "./presentation-testing/Helpers";
22
- /**
23
- * @module IModel
24
- *
25
- * @docs-group-description IModel
26
- * Utilities for creating test iModels that can be used to exercise presentation rules.
27
- */
28
- export * from "./presentation-testing/IModelUtilities";
1
+ /**
2
+ * @module Hierarchies
3
+ *
4
+ * @docs-group-description Hierarchies
5
+ * Types for testing hierarchies.
6
+ */
7
+ export * from "./presentation-testing/HierarchyBuilder";
8
+ /**
9
+ * @module Content
10
+ *
11
+ * @docs-group-description Content
12
+ * Types for testing content.
13
+ */
14
+ export * from "./presentation-testing/ContentBuilder";
15
+ /**
16
+ * @module Helpers
17
+ *
18
+ * @docs-group-description Helpers
19
+ * Various test helpers.
20
+ */
21
+ export * from "./presentation-testing/Helpers";
22
+ /**
23
+ * @module IModel
24
+ *
25
+ * @docs-group-description IModel
26
+ * Utilities for creating test iModels that can be used to exercise presentation rules.
27
+ */
28
+ export * from "./presentation-testing/IModelUtilities";
29
29
  //# sourceMappingURL=presentation-testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-testing.d.ts","sourceRoot":"","sources":["../../src/presentation-testing.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,cAAc,yCAAyC,CAAC;AAExD;;;;;GAKG;AACH,cAAc,uCAAuC,CAAC;AAEtD;;;;;GAKG;AACH,cAAc,gCAAgC,CAAC;AAE/C;;;;;GAKG;AACH,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"presentation-testing.d.ts","sourceRoot":"","sources":["../../src/presentation-testing.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,cAAc,yCAAyC,CAAC;AAExD;;;;;GAKG;AACH,cAAc,uCAAuC,CAAC;AAEtD;;;;;GAKG;AACH,cAAc,gCAAgC,CAAC;AAE/C;;;;;GAKG;AACH,cAAc,wCAAwC,CAAC"}
@@ -1,45 +1,45 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- /*---------------------------------------------------------------------------------------------
14
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
15
- * See LICENSE.md in the project root for license terms and full copyright notice.
16
- *--------------------------------------------------------------------------------------------*/
17
- /**
18
- * @module Hierarchies
19
- *
20
- * @docs-group-description Hierarchies
21
- * Types for testing hierarchies.
22
- */
23
- __exportStar(require("./presentation-testing/HierarchyBuilder"), exports);
24
- /**
25
- * @module Content
26
- *
27
- * @docs-group-description Content
28
- * Types for testing content.
29
- */
30
- __exportStar(require("./presentation-testing/ContentBuilder"), exports);
31
- /**
32
- * @module Helpers
33
- *
34
- * @docs-group-description Helpers
35
- * Various test helpers.
36
- */
37
- __exportStar(require("./presentation-testing/Helpers"), exports);
38
- /**
39
- * @module IModel
40
- *
41
- * @docs-group-description IModel
42
- * Utilities for creating test iModels that can be used to exercise presentation rules.
43
- */
44
- __exportStar(require("./presentation-testing/IModelUtilities"), exports);
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @module Hierarchies
19
+ *
20
+ * @docs-group-description Hierarchies
21
+ * Types for testing hierarchies.
22
+ */
23
+ __exportStar(require("./presentation-testing/HierarchyBuilder"), exports);
24
+ /**
25
+ * @module Content
26
+ *
27
+ * @docs-group-description Content
28
+ * Types for testing content.
29
+ */
30
+ __exportStar(require("./presentation-testing/ContentBuilder"), exports);
31
+ /**
32
+ * @module Helpers
33
+ *
34
+ * @docs-group-description Helpers
35
+ * Various test helpers.
36
+ */
37
+ __exportStar(require("./presentation-testing/Helpers"), exports);
38
+ /**
39
+ * @module IModel
40
+ *
41
+ * @docs-group-description IModel
42
+ * Utilities for creating test iModels that can be used to exercise presentation rules.
43
+ */
44
+ __exportStar(require("./presentation-testing/IModelUtilities"), exports);
45
45
  //# sourceMappingURL=presentation-testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-testing.js","sourceRoot":"","sources":["../../src/presentation-testing.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;+FAG+F;AAC/F;;;;;GAKG;AACH,0EAAwD;AAExD;;;;;GAKG;AACH,wEAAsD;AAEtD;;;;;GAKG;AACH,iEAA+C;AAE/C;;;;;GAKG;AACH,yEAAuD","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 * @module Hierarchies\r\n *\r\n * @docs-group-description Hierarchies\r\n * Types for testing hierarchies.\r\n */\r\nexport * from \"./presentation-testing/HierarchyBuilder\";\r\n\r\n/**\r\n * @module Content\r\n *\r\n * @docs-group-description Content\r\n * Types for testing content.\r\n */\r\nexport * from \"./presentation-testing/ContentBuilder\";\r\n\r\n/**\r\n * @module Helpers\r\n *\r\n * @docs-group-description Helpers\r\n * Various test helpers.\r\n */\r\nexport * from \"./presentation-testing/Helpers\";\r\n\r\n/**\r\n * @module IModel\r\n *\r\n * @docs-group-description IModel\r\n * Utilities for creating test iModels that can be used to exercise presentation rules.\r\n */\r\nexport * from \"./presentation-testing/IModelUtilities\";\r\n"]}
1
+ {"version":3,"file":"presentation-testing.js","sourceRoot":"","sources":["../../src/presentation-testing.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F;;;;;GAKG;AACH,0EAAwD;AAExD;;;;;GAKG;AACH,wEAAsD;AAEtD;;;;;GAKG;AACH,iEAA+C;AAE/C;;;;;GAKG;AACH,yEAAuD","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/**\n * @module Hierarchies\n *\n * @docs-group-description Hierarchies\n * Types for testing hierarchies.\n */\nexport * from \"./presentation-testing/HierarchyBuilder\";\n\n/**\n * @module Content\n *\n * @docs-group-description Content\n * Types for testing content.\n */\nexport * from \"./presentation-testing/ContentBuilder\";\n\n/**\n * @module Helpers\n *\n * @docs-group-description Helpers\n * Various test helpers.\n */\nexport * from \"./presentation-testing/Helpers\";\n\n/**\n * @module IModel\n *\n * @docs-group-description IModel\n * Utilities for creating test iModels that can be used to exercise presentation rules.\n */\nexport * from \"./presentation-testing/IModelUtilities\";\n"]}
@@ -1,88 +1,93 @@
1
- import { PropertyRecord } from "@itwin/appui-abstract";
2
- import { IModelConnection } from "@itwin/core-frontend";
3
- import { Content, InstanceKey, KeySet, PageOptions, Ruleset } from "@itwin/presentation-common";
4
- /**
5
- * Interface for a data provider, which is used by ContentBuilder.
6
- * @public
7
- */
8
- export interface IContentBuilderDataProvider {
9
- /** Keys the data provider is creating content for */
10
- keys: Readonly<KeySet>;
11
- /** Get the size of content result set */
12
- getContentSetSize: () => Promise<number>;
13
- /** Get the content */
14
- getContent: (options?: PageOptions) => Promise<Readonly<Content> | undefined>;
15
- }
16
- /**
17
- * Property records grouped under a single className
18
- * @public
19
- */
20
- export interface ContentBuilderResult {
21
- /** Full name of ECClass whose records are contained in this data structure */
22
- className: string;
23
- /** Property records for the ECClass instance */
24
- records: PropertyRecord[];
25
- }
26
- /**
27
- * Properties for creating a `ContentBuilder` instance.
28
- * @public
29
- */
30
- export interface ContentBuilderProps {
31
- /** The iModel to pull data from */
32
- imodel: IModelConnection;
33
- /** Custom data provider that allows mocking data ContentBuilder receives */
34
- dataProvider?: IContentBuilderDataProvider;
35
- /**
36
- * Decimal precision or numeric types.
37
- *
38
- * Raw numeric values with high precision may slightly differ from platform to platform due to
39
- * rounding differences on different platforms. This may be a problem when used with snapshot testing,
40
- * in which case this attribute may be set to supply the maximum precision of raw numeric values.
41
- *
42
- * By default no rounding is applied.
43
- */
44
- decimalPrecision?: number;
45
- }
46
- /**
47
- * A class that constructs content from specified imodel and ruleset.
48
- * @public
49
- */
50
- export declare class ContentBuilder {
51
- private readonly _iModel;
52
- private _dataProvider;
53
- private _decimalPrecision?;
54
- /**
55
- * Constructor
56
- * @param iModel
57
- * @param dataProvider
58
- */
59
- constructor(props: ContentBuilderProps);
60
- private doCreateContent;
61
- /**
62
- * Create a list of property records using the supplied presentation ruleset.
63
- * @param rulesetOrId Either a [[Ruleset]] object or a ruleset id.
64
- * @param instanceKeys Keys of instances that should be queried.
65
- * @param displayType Type of content container display. For example:
66
- * "PropertyPane", "Grid", "List" etc.
67
- */
68
- createContent(rulesetOrId: Ruleset | string, instanceKeys: InstanceKey[], displayType?: string): Promise<PropertyRecord[]>;
69
- private getECClassNames;
70
- private createContentForClasses;
71
- /**
72
- * Create a list of grouped property records using the supplied presentation ruleset.
73
- * Each group includes all of the class instances.
74
- * @param rulesetOrId Either a [[Ruleset]] object or a ruleset id.
75
- * @param displayType Type of content container display. For example:
76
- * "PropertyPane", "Grid", "List" etc.
77
- */
78
- createContentForAllInstances(rulesetOrId: Ruleset | string, displayType?: string): Promise<ContentBuilderResult[]>;
79
- /**
80
- * Create a list of grouped property records using the supplied presentation ruleset.
81
- * Each group includes at most one class instance.
82
- * @param rulesetOrId Either a [[Ruleset]] object or a ruleset id.
83
- * @param displayType Type of content container display. For example:
84
- * "PropertyPane", "Grid", "List" etc.
85
- */
86
- createContentForInstancePerClass(rulesetOrId: Ruleset | string, displayType?: string): Promise<ContentBuilderResult[]>;
87
- }
1
+ /** @packageDocumentation
2
+ * @module Content
3
+ */
4
+ import { PropertyRecord } from "@itwin/appui-abstract";
5
+ import { IModelConnection } from "@itwin/core-frontend";
6
+ import { Content, InstanceKey, KeySet, PageOptions, Ruleset } from "@itwin/presentation-common";
7
+ /**
8
+ * Interface for a data provider, which is used by ContentBuilder.
9
+ * @public
10
+ */
11
+ export interface IContentBuilderDataProvider {
12
+ /** Keys the data provider is creating content for */
13
+ keys: Readonly<KeySet>;
14
+ /** Get the size of content result set */
15
+ getContentSetSize: () => Promise<number>;
16
+ /** Get the content */
17
+ getContent: (options?: PageOptions) => Promise<Readonly<Content> | undefined>;
18
+ }
19
+ /**
20
+ * Property records grouped under a single className
21
+ * @public
22
+ */
23
+ export interface ContentBuilderResult {
24
+ /** Full name of ECClass whose records are contained in this data structure */
25
+ className: string;
26
+ /** Property records for the ECClass instance */
27
+ records: PropertyRecord[];
28
+ }
29
+ /**
30
+ * Properties for creating a `ContentBuilder` instance.
31
+ * @public
32
+ */
33
+ export interface ContentBuilderProps {
34
+ /** The iModel to pull data from */
35
+ imodel: IModelConnection;
36
+ /** Custom data provider that allows mocking data ContentBuilder receives */
37
+ dataProvider?: IContentBuilderDataProvider;
38
+ /**
39
+ * Decimal precision or numeric types.
40
+ *
41
+ * Raw numeric values with high precision may slightly differ from platform to platform due to
42
+ * rounding differences on different platforms. This may be a problem when used with snapshot testing,
43
+ * in which case this attribute may be set to supply the maximum precision of raw numeric values.
44
+ *
45
+ * By default no rounding is applied.
46
+ */
47
+ decimalPrecision?: number;
48
+ }
49
+ /**
50
+ * A class that constructs content from specified imodel and ruleset.
51
+ * @public
52
+ */
53
+ export declare class ContentBuilder {
54
+ private readonly _iModel;
55
+ private _dataProvider;
56
+ private _decimalPrecision?;
57
+ /**
58
+ * Constructor
59
+ * @param iModel
60
+ * @param dataProvider
61
+ */
62
+ constructor(props: ContentBuilderProps);
63
+ private doCreateContent;
64
+ /**
65
+ * Create a list of property records using the supplied presentation ruleset.
66
+ * @param rulesetOrId Either a [[Ruleset]] object or a ruleset id.
67
+ * @param instanceKeys Keys of instances that should be queried.
68
+ * @param displayType Type of content container display. For example:
69
+ * "PropertyPane", "Grid", "List" etc.
70
+ */
71
+ createContent(rulesetOrId: Ruleset | string, instanceKeys: InstanceKey[], displayType?: string): Promise<PropertyRecord[]>;
72
+ private getECClassNames;
73
+ private createContentForClasses;
74
+ /**
75
+ * Create a list of grouped property records using the supplied presentation ruleset.
76
+ * Each group includes all of the class instances.
77
+ * @param rulesetOrId Either a [[Ruleset]] object or a ruleset id.
78
+ * @param displayType Type of content container display. For example:
79
+ * "PropertyPane", "Grid", "List" etc.
80
+ * @deprecated in 3.x. This method turned out to be useless as it creates content for too many instances. Should use [[createContent]] instead.
81
+ */
82
+ createContentForAllInstances(rulesetOrId: Ruleset | string, displayType?: string): Promise<ContentBuilderResult[]>;
83
+ /**
84
+ * Create a list of grouped property records using the supplied presentation ruleset.
85
+ * Each group includes at most one class instance.
86
+ * @param rulesetOrId Either a [[Ruleset]] object or a ruleset id.
87
+ * @param displayType Type of content container display. For example:
88
+ * "PropertyPane", "Grid", "List" etc.
89
+ * @deprecated in 3.x. This method turned out to be useless as it creates content for too many instances. Should use [[createContent]] instead.
90
+ */
91
+ createContentForInstancePerClass(rulesetOrId: Ruleset | string, displayType?: string): Promise<ContentBuilderResult[]>;
92
+ }
88
93
  //# sourceMappingURL=ContentBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentBuilder.d.ts","sourceRoot":"","sources":["../../../src/presentation-testing/ContentBuilder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,OAAO,EAA8B,WAAW,EAAE,MAAM,EAAE,WAAW,EAAiD,OAAO,EAE9H,MAAM,4BAA4B,CAAC;AAIpC;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,sBAAsB;IACtB,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;CAC/E;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IAEzB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAE3C;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,iBAAiB,CAAC,CAAS;IAEnC;;;;OAIG;gBACS,KAAK,EAAE,mBAAmB;YAMxB,eAAe;IAa7B;;;;;;OAMG;IACU,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,WAAW,GAAE,MAAgD;YAStI,eAAe;YAaf,uBAAuB;IA4BrC;;;;;;OAMG;IACU,4BAA4B,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,WAAW,GAAE,MAAgD;IAItI;;;;;;OAMG;IACU,gCAAgC,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,WAAW,GAAE,MAAgD;CAG3I"}
1
+ {"version":3,"file":"ContentBuilder.d.ts","sourceRoot":"","sources":["../../../src/presentation-testing/ContentBuilder.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,OAAO,EAA8B,WAAW,EAAE,MAAM,EAAE,WAAW,EAAiD,OAAO,EAE9H,MAAM,4BAA4B,CAAC;AAIpC;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,sBAAsB;IACtB,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;CAC/E;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IAEzB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAE3C;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,iBAAiB,CAAC,CAAS;IAEnC;;;;OAIG;gBACS,KAAK,EAAE,mBAAmB;YAMxB,eAAe;IAa7B;;;;;;OAMG;IACU,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,WAAW,GAAE,MAAgD;YAStI,eAAe;YAaf,uBAAuB;IA4BrC;;;;;;;OAOG;IACU,4BAA4B,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,WAAW,GAAE,MAAgD;IAItI;;;;;;;OAOG;IACU,gCAAgC,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,WAAW,GAAE,MAAgD;CAG3I"}