@umbraco/playwright-testhelpers 1.0.0 → 1.0.2

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.
package/README.md ADDED
@@ -0,0 +1,48 @@
1
+ # Umbraco.Playwright.Testhelpers
2
+ This package contains the Test-helpers for the Umbraco Playwright tests!
3
+
4
+ ## Prerequisites
5
+ This project was made with Node V16, so the minimum requirement is node `16.17.1`
6
+ Having playwright installed, you can install playwright by running `npx playwright install`
7
+
8
+ ## Getting started
9
+ You can import a helper into your code like so
10
+
11
+ ```
12
+ import { ConstantHelper } from "@umbraco/playwright-testhelpers";
13
+ ```
14
+
15
+ You can then use it in your code like so:
16
+ ```
17
+ let settingsSection = ConstantHelper.sections.settings;
18
+ ```
19
+
20
+ ## Contributing to Umbraco.Playwright.Testhelpers
21
+
22
+ ### Adding new helpers
23
+ When adding new helpers, it is important to add them as properties in the `ApiHelpers.ts` class
24
+ Lets say we have just created a `MacroApiHelper`, first we would need to import it at the top in the `ApiHelpers.ts` file like so:
25
+ ```
26
+ import {MacroApiHelper} from "./MacroApiHelper";
27
+ ```
28
+ Then, add it as a property
29
+ ```
30
+ export class ApiHelpers {
31
+ macros: MacroApiHelper;
32
+ ...
33
+ }
34
+ ```
35
+
36
+ Then, use the constructor to populate the property
37
+
38
+ ```
39
+ constructor(page: Page) {
40
+ this.macros = new MacroApiHelper(this);
41
+ ...
42
+ }
43
+ ```
44
+
45
+ ### Testing your changes locally
46
+ When you have changes you want to test, you can run `npm run build` & `npm link` in the root of this folder,
47
+ then run `npm link @umbraco/playwright-testhelpers` in the project where you are using this package.
48
+ If you have new changes, you can run `npm run build` again.
@@ -7,7 +7,6 @@ export declare class ContentApiHelper {
7
7
  deleteById(id: any): Promise<void>;
8
8
  verifyRenderedContent(endpoint: any, expectedContent: any, removeWhitespace?: boolean): Promise<boolean>;
9
9
  save(content: any): Promise<any>;
10
- getContentId(name: string): Promise<null>;
10
+ getContentId(name: string): Promise<number | null>;
11
11
  clearRecycleBin(): Promise<void>;
12
- createDocWithCultureVariationWithContent(name: any, alias: any, language1: any, language2: any, value: any, isPublished: any): Promise<void>;
13
12
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContentApiHelper = void 0;
4
4
  const JsonHelper_1 = require("./JsonHelper");
5
5
  const node_fetch_1 = require("node-fetch");
6
- const playwright_models_1 = require("@umbraco/playwright-models");
6
+ const json_models_builders_1 = require("@umbraco/json-models-builders");
7
7
  const https = require('https');
8
8
  const FormData = require('form-data');
9
9
  class ContentApiHelper {
@@ -14,7 +14,7 @@ class ContentApiHelper {
14
14
  async createDocTypeWithContent(name, alias, dataTypeBuilder) {
15
15
  await this.api.dataTypes.save(dataTypeBuilder).then(async (response) => {
16
16
  // Create a document type using the data type
17
- const docType = new playwright_models_1.DocumentTypeBuilder()
17
+ const docType = new json_models_builders_1.DocumentTypeBuilder()
18
18
  .withName(name)
19
19
  .withAlias(alias)
20
20
  .withAllowAsRoot(true)
@@ -26,7 +26,7 @@ class ContentApiHelper {
26
26
  .done()
27
27
  .build();
28
28
  this.api.documentTypes.save(docType).then(async (generatedDocType) => {
29
- const contentNode = new playwright_models_1.ContentBuilder()
29
+ const contentNode = new json_models_builders_1.ContentBuilder()
30
30
  .withContentTypeAlias(generatedDocType['alias'])
31
31
  .addVariant()
32
32
  .withName(name)
@@ -53,13 +53,19 @@ class ContentApiHelper {
53
53
  await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`);
54
54
  }
55
55
  async verifyRenderedContent(endpoint, expectedContent, removeWhitespace = false) {
56
- const response = await this.api.get(this.api.baseUrl + endpoint);
57
- let body = (await response.body()).toString();
58
- if (removeWhitespace) {
59
- expectedContent = expectedContent.replace(/\s/g, '');
60
- body = body.replace(/\s/g, '');
56
+ for (let i = 0; i < 6; i++) {
57
+ const response = await this.api.get(this.api.baseUrl + endpoint);
58
+ let body = (await response.body()).toString();
59
+ if (removeWhitespace) {
60
+ expectedContent = expectedContent.replace(/\s/g, '');
61
+ body = body.replace(/\s/g, '');
62
+ }
63
+ if (body === expectedContent) {
64
+ return true;
65
+ }
61
66
  }
62
- return body === expectedContent;
67
+ await this.api.page.waitForTimeout(5000);
68
+ return false;
63
69
  }
64
70
  async save(content) {
65
71
  const url = this.api.baseUrl + "/umbraco/backoffice/UmbracoApi/Content/PostSave";
@@ -109,45 +115,6 @@ class ContentApiHelper {
109
115
  async clearRecycleBin() {
110
116
  await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/EmptyRecycleBin');
111
117
  }
112
- async createDocWithCultureVariationWithContent(name, alias, language1, language2, value, isPublished) {
113
- const rootDocType = new playwright_models_1.DocumentTypeBuilder()
114
- .withName(name)
115
- .withAlias(alias)
116
- .withAllowAsRoot(true)
117
- .withAllowCultureVariation(true)
118
- .withDefaultTemplate(alias)
119
- .addGroup()
120
- .withName("Content")
121
- .addTextBoxProperty()
122
- .withLabel("Title")
123
- .withAlias("title")
124
- .done()
125
- .done()
126
- .build();
127
- await this.api.documentTypes.save(rootDocType).then(async (generatedRootDocType) => {
128
- const childContentNode = new playwright_models_1.ContentBuilder()
129
- .withContentTypeAlias(generatedRootDocType["alias"])
130
- .withAction("publishNew")
131
- .addVariant()
132
- .withCulture(language1)
133
- .withName(language1)
134
- .withSave(true)
135
- .withPublish(isPublished)
136
- .addProperty()
137
- .withAlias("title")
138
- .withValue(value)
139
- .done()
140
- .done()
141
- .addVariant()
142
- .withCulture(language2)
143
- .withName(language2)
144
- .withSave(true)
145
- .withPublish(isPublished)
146
- .done()
147
- .build();
148
- await this.save(childContentNode);
149
- });
150
- }
151
118
  }
152
119
  exports.ContentApiHelper = ContentApiHelper;
153
120
  //# sourceMappingURL=ContentApiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport fetch from 'node-fetch';\nimport {ContentBuilder, DocumentTypeBuilder} from '@umbraco/playwright-models';\n\nconst https = require('https');\nconst FormData = require('form-data');\n\nexport class ContentApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async createDocTypeWithContent(name, alias, dataTypeBuilder) {\n await this.api.dataTypes.save(dataTypeBuilder).then(async (response) => {\n // Create a document type using the data type\n const docType = new DocumentTypeBuilder()\n .withName(name)\n .withAlias(alias)\n .withAllowAsRoot(true)\n .withDefaultTemplate(alias)\n .addGroup()\n .addCustomProperty(response.id)\n .withAlias('umbracoTest')\n .done()\n .done()\n .build();\n\n this.api.documentTypes.save(docType).then(async (generatedDocType) => {\n const contentNode = new ContentBuilder()\n .withContentTypeAlias(generatedDocType['alias'])\n .addVariant()\n .withName(name)\n .withSave(true)\n .done()\n .build();\n\n await this.api.content.save(contentNode);\n });\n });\n }\n\n async deleteAllContent() {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.id > 0) {\n await this.deleteById(child.id);\n }\n }\n await this.clearRecycleBin();\n }\n }\n\n async deleteById(id) {\n await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`)\n }\n\n async verifyRenderedContent(endpoint, expectedContent, removeWhitespace = false) {\n const response = await this.api.get(this.api.baseUrl + endpoint);\n let body = (await response.body()).toString();\n\n if (removeWhitespace) {\n expectedContent = expectedContent.replace(/\\s/g, '');\n body = body.replace(/\\s/g, '');\n }\n\n return body === expectedContent;\n }\n\n async save(content) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/Content/PostSave\";\n const formData = new FormData();\n formData.append('contentItem', JSON.stringify(content));\n\n // This is a bit weird, but essentially playwright doesn't handle the way we send content very well.\n // Instead we have to save the content with a normal fetch request, \n // however this request won't be sent from the browser which is logged in,\n // it'll instead be sent from the runner controlling the browser.\n // What this all means is that we must hijack the cookies of the browser, and use that when sending the request.\n\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n\n // Since this will mostly be run on local sites, there will be either no SSL certificate, or a self signed one,\n // so make fetch ignore SSL certificate verification.\n const httpsAgent = new https.Agent({\n rejectUnauthorized: false\n });\n\n const response = await fetch(url, {\n method: 'POST',\n body: formData,\n headers: {\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n 'Cookie': cookieHeader\n },\n agent: httpsAgent\n });\n\n let json = await response.text();\n return JsonHelper.parseString(json);\n }\n \n async getContentId(name : string) {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n let contentNameId = null;\n \n if (content !== null) {\n for (const child of content.children) {\n if (child.name == name) {\n contentNameId = child.id;\n }\n }\n }\n return contentNameId;\n }\n \n async clearRecycleBin(){\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/EmptyRecycleBin');\n }\n \n async createDocWithCultureVariationWithContent(name, alias, language1, language2, value, isPublished){\n const rootDocType = new DocumentTypeBuilder()\n .withName(name)\n .withAlias(alias)\n .withAllowAsRoot(true)\n .withAllowCultureVariation(true)\n .withDefaultTemplate(alias)\n .addGroup()\n .withName(\"Content\")\n .addTextBoxProperty()\n .withLabel(\"Title\")\n .withAlias(\"title\")\n .done()\n .done()\n .build();\n\n await this.api.documentTypes.save(rootDocType).then(async (generatedRootDocType) => {\n const childContentNode = new ContentBuilder()\n .withContentTypeAlias(generatedRootDocType[\"alias\"])\n .withAction(\"publishNew\")\n .addVariant()\n .withCulture(language1)\n .withName(language1)\n .withSave(true)\n .withPublish(isPublished)\n .addProperty()\n .withAlias(\"title\")\n .withValue(value)\n .done()\n .done()\n .addVariant()\n .withCulture(language2)\n .withName(language2)\n .withSave(true)\n .withPublish(isPublished)\n .done()\n .build();\n\n await this.save(childContentNode);\n });\n }\n \n}"]}
1
+ {"version":3,"file":"ContentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ContentApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport fetch from 'node-fetch';\nimport {ContentBuilder, DocumentTypeBuilder} from \"@umbraco/json-models-builders\";\n\nconst https = require('https');\nconst FormData = require('form-data');\n\nexport class ContentApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async createDocTypeWithContent(name, alias, dataTypeBuilder) {\n await this.api.dataTypes.save(dataTypeBuilder).then(async (response) => {\n // Create a document type using the data type\n const docType = new DocumentTypeBuilder()\n .withName(name)\n .withAlias(alias)\n .withAllowAsRoot(true)\n .withDefaultTemplate(alias)\n .addGroup()\n .addCustomProperty(response.id)\n .withAlias('umbracoTest')\n .done()\n .done()\n .build();\n\n this.api.documentTypes.save(docType).then(async (generatedDocType) => {\n const contentNode = new ContentBuilder()\n .withContentTypeAlias(generatedDocType['alias'])\n .addVariant()\n .withName(name)\n .withSave(true)\n .done()\n .build();\n\n await this.api.content.save(contentNode);\n });\n });\n }\n\n async deleteAllContent() {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.id > 0) {\n await this.deleteById(child.id);\n }\n }\n await this.clearRecycleBin();\n }\n }\n\n async deleteById(id) {\n await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Content/DeleteById?id=${id}`)\n }\n\n async verifyRenderedContent(endpoint, expectedContent, removeWhitespace = false) {\n for (let i = 0; i < 6; i++) {\n const response = await this.api.get(this.api.baseUrl + endpoint);\n let body = (await response.body()).toString();\n\n if (removeWhitespace) {\n expectedContent = expectedContent.replace(/\\s/g, '');\n body = body.replace(/\\s/g, '');\n }\n if( body === expectedContent){\n return true\n }\n }\n await this.api.page.waitForTimeout(5000);\n\n return false;\n }\n\n async save(content) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/Content/PostSave\";\n const formData = new FormData();\n formData.append('contentItem', JSON.stringify(content));\n\n // This is a bit weird, but essentially playwright doesn't handle the way we send content very well.\n // Instead we have to save the content with a normal fetch request, \n // however this request won't be sent from the browser which is logged in,\n // it'll instead be sent from the runner controlling the browser.\n // What this all means is that we must hijack the cookies of the browser, and use that when sending the request.\n\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n\n // Since this will mostly be run on local sites, there will be either no SSL certificate, or a self signed one,\n // so make fetch ignore SSL certificate verification.\n const httpsAgent = new https.Agent({\n rejectUnauthorized: false\n });\n\n const response = await fetch(url, {\n method: 'POST',\n body: formData,\n headers: {\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n 'Cookie': cookieHeader\n },\n agent: httpsAgent\n });\n\n let json = await response.text();\n return JsonHelper.parseString(json);\n }\n\n async getContentId(name: string):Promise<number | null> {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=content&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n let contentNameId = null;\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.name == name) {\n contentNameId = child.id;\n }\n }\n }\n return contentNameId;\n }\n\n async clearRecycleBin() {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/EmptyRecycleBin');\n }\n}"]}
@@ -3,5 +3,5 @@ export declare class DomainApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
5
  save(domain: any): Promise<any>;
6
- createDomain(contentId: any, langId: any): Promise<void>;
6
+ createDomain(endpoint: any, contentId: any, langId: any): Promise<void>;
7
7
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DomainApiHelper = void 0;
4
4
  const JsonHelper_1 = require("./JsonHelper");
5
- const playwright_models_1 = require("@umbraco/playwright-models");
5
+ const json_models_builders_1 = require("@umbraco/json-models-builders");
6
6
  class DomainApiHelper {
7
7
  api;
8
8
  constructor(api) {
@@ -16,12 +16,12 @@ class DomainApiHelper {
16
16
  return await JsonHelper_1.JsonHelper.getBody(response);
17
17
  }
18
18
  ;
19
- async createDomain(contentId, langId) {
20
- const domain = new playwright_models_1.DomainBuilder()
19
+ async createDomain(endpoint, contentId, langId) {
20
+ const domain = new json_models_builders_1.DomainBuilder()
21
21
  .withNodeId(contentId)
22
22
  .addDomain()
23
- .withName("/")
24
- .withLang(langId)
23
+ .withEndpoint(endpoint)
24
+ .withLanguageId(langId)
25
25
  .done()
26
26
  .build();
27
27
  await this.save(domain);
@@ -1 +1 @@
1
- {"version":3,"file":"DomainApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DomainApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AACxC,kEAAyD;AAEzD,MAAa,eAAe;IACxB,GAAG,CAAY;IAEf,YAAY,GAAe;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM;QACb,IAAG,MAAM,IAAI,IAAI,EAAC;YACd,OAAO;SACV;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,mEAAmE,EAAE,MAAM,CAAC,CAAC;QACrI,OAAO,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;QAEhC,MAAM,MAAM,GAAG,IAAI,iCAAa,EAAE;aAC7B,UAAU,CAAC,SAAS,CAAC;aACrB,SAAS,EAAE;aACX,QAAQ,CAAC,GAAG,CAAC;aACb,QAAQ,CAAC,MAAM,CAAC;aAChB,IAAI,EAAE;aACN,KAAK,EAAE,CAAA;QACZ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACJ;AA1BD,0CA0BC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport {DomainBuilder} from \"@umbraco/playwright-models\";\n\nexport class DomainApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async save(domain) {\n if(domain == null){\n return;\n }\n const response = await this.api.post(this.api.baseUrl + \"/umbraco/backoffice/umbracoapi/content/PostSaveLanguageAndDomains\", domain);\n return await JsonHelper.getBody(response);\n };\n \n async createDomain(contentId, langId)\n {\n const domain = new DomainBuilder()\n .withNodeId(contentId)\n .addDomain()\n .withName(\"/\")\n .withLang(langId)\n .done()\n .build()\n await this.save(domain);\n }\n}"]}
1
+ {"version":3,"file":"DomainApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DomainApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AACxC,wEAA4D;AAE5D,MAAa,eAAe;IACxB,GAAG,CAAY;IAEf,YAAY,GAAe;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM;QACb,IAAG,MAAM,IAAI,IAAI,EAAC;YACd,OAAO;SACV;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,mEAAmE,EAAE,MAAM,CAAC,CAAC;QACrI,OAAO,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM;QAE1C,MAAM,MAAM,GAAG,IAAI,oCAAa,EAAE;aAC7B,UAAU,CAAC,SAAS,CAAC;aACrB,SAAS,EAAE;aACP,YAAY,CAAC,QAAQ,CAAC;aACtB,cAAc,CAAC,MAAM,CAAC;aAC1B,IAAI,EAAE;aACN,KAAK,EAAE,CAAA;QACZ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACJ;AA1BD,0CA0BC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport {DomainBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DomainApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async save(domain) {\n if(domain == null){\n return;\n }\n const response = await this.api.post(this.api.baseUrl + \"/umbraco/backoffice/umbracoapi/content/PostSaveLanguageAndDomains\", domain);\n return await JsonHelper.getBody(response);\n };\n \n async createDomain(endpoint, contentId, langId)\n {\n const domain = new DomainBuilder()\n .withNodeId(contentId)\n .addDomain()\n .withEndpoint(endpoint)\n .withLanguageId(langId)\n .done()\n .build()\n await this.save(domain);\n }\n}"]}
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MediaApiHelper = void 0;
4
4
  const JsonHelper_1 = require("./JsonHelper");
5
5
  const node_fetch_1 = require("node-fetch");
6
- const playwright_models_1 = require("@umbraco/playwright-models");
7
- const playwright_models_2 = require("@umbraco/playwright-models");
6
+ const json_models_builders_1 = require("@umbraco/json-models-builders");
8
7
  const https = require('https');
9
8
  const FormData = require('form-data');
10
9
  class MediaApiHelper {
@@ -85,7 +84,7 @@ class MediaApiHelper {
85
84
  //Article
86
85
  async createDefaultArticle(name) {
87
86
  await this.api.media.ensureNameNotExists(name);
88
- const mediaItem = new playwright_models_1.MediaBuilder()
87
+ const mediaItem = new json_models_builders_1.MediaBuilder()
89
88
  .withName(name)
90
89
  .withContentTypeAlias('umbracoMediaArticle')
91
90
  .build();
@@ -94,11 +93,11 @@ class MediaApiHelper {
94
93
  }
95
94
  async createArticleWithFile(name, fileName, path, mimeType) {
96
95
  await this.api.media.ensureNameNotExists(name);
97
- const mediaItem = new playwright_models_1.MediaBuilder()
96
+ const mediaItem = new json_models_builders_1.MediaBuilder()
98
97
  .withName(name)
99
98
  .withContentTypeAlias('umbracoMediaArticle')
100
99
  .build();
101
- const mediaFile = new playwright_models_2.MediaFileBuilder()
100
+ const mediaFile = new json_models_builders_1.MediaFileBuilder()
102
101
  .withName(fileName)
103
102
  .withPath(path)
104
103
  .withMimeType(mimeType);
@@ -107,7 +106,7 @@ class MediaApiHelper {
107
106
  //Audio
108
107
  async createDefaultAudio(name) {
109
108
  await this.api.media.ensureNameNotExists(name);
110
- const mediaItem = new playwright_models_1.MediaBuilder()
109
+ const mediaItem = new json_models_builders_1.MediaBuilder()
111
110
  .withName(name)
112
111
  .withContentTypeAlias('umbracoMediaAudio')
113
112
  .build();
@@ -116,11 +115,11 @@ class MediaApiHelper {
116
115
  }
117
116
  async createAudioWithFile(name, fileName, path, mimeType) {
118
117
  await this.api.media.ensureNameNotExists(name);
119
- const mediaItem = new playwright_models_1.MediaBuilder()
118
+ const mediaItem = new json_models_builders_1.MediaBuilder()
120
119
  .withName(name)
121
120
  .withContentTypeAlias('umbracoMediaAudio')
122
121
  .build();
123
- const mediaFile = new playwright_models_2.MediaFileBuilder()
122
+ const mediaFile = new json_models_builders_1.MediaFileBuilder()
124
123
  .withName(fileName)
125
124
  .withPath(path)
126
125
  .withMimeType(mimeType);
@@ -129,7 +128,7 @@ class MediaApiHelper {
129
128
  //File
130
129
  async createDefaultFile(name) {
131
130
  await this.api.media.ensureNameNotExists(name);
132
- const mediaItem = new playwright_models_1.MediaBuilder()
131
+ const mediaItem = new json_models_builders_1.MediaBuilder()
133
132
  .withName(name)
134
133
  .withContentTypeAlias('File')
135
134
  .build();
@@ -138,11 +137,11 @@ class MediaApiHelper {
138
137
  }
139
138
  async createFileWithFile(name, fileName, path, mimeType) {
140
139
  await this.api.media.ensureNameNotExists(name);
141
- const mediaItem = new playwright_models_1.MediaBuilder()
140
+ const mediaItem = new json_models_builders_1.MediaBuilder()
142
141
  .withName(name)
143
142
  .withContentTypeAlias('File')
144
143
  .build();
145
- const mediaFile = new playwright_models_2.MediaFileBuilder()
144
+ const mediaFile = new json_models_builders_1.MediaFileBuilder()
146
145
  .withName(fileName)
147
146
  .withPath(path)
148
147
  .withMimeType(mimeType);
@@ -151,7 +150,7 @@ class MediaApiHelper {
151
150
  //Folder
152
151
  async createDefaultFolder(name) {
153
152
  await this.api.media.ensureNameNotExists(name);
154
- const mediaItem = new playwright_models_1.MediaBuilder()
153
+ const mediaItem = new json_models_builders_1.MediaBuilder()
155
154
  .withName(name)
156
155
  .withContentTypeAlias('Folder')
157
156
  .build();
@@ -161,7 +160,7 @@ class MediaApiHelper {
161
160
  //Image
162
161
  async createDefaultImage(name) {
163
162
  await this.api.media.ensureNameNotExists(name);
164
- const mediaItem = new playwright_models_1.MediaBuilder()
163
+ const mediaItem = new json_models_builders_1.MediaBuilder()
165
164
  .withName(name)
166
165
  .withContentTypeAlias('Image')
167
166
  .build();
@@ -170,7 +169,7 @@ class MediaApiHelper {
170
169
  }
171
170
  async createImageWithFile(name, umbracoFileValue, fileName, path, mimeType) {
172
171
  await this.api.media.ensureNameNotExists(name);
173
- const mediaItem = new playwright_models_1.MediaBuilder()
172
+ const mediaItem = new json_models_builders_1.MediaBuilder()
174
173
  .withName(name)
175
174
  .withContentTypeAlias('Image')
176
175
  .addProperty()
@@ -178,7 +177,7 @@ class MediaApiHelper {
178
177
  .withValue(umbracoFileValue)
179
178
  .done()
180
179
  .build();
181
- const mediaFile = new playwright_models_2.MediaFileBuilder()
180
+ const mediaFile = new json_models_builders_1.MediaFileBuilder()
182
181
  .withName(fileName)
183
182
  .withPath(path)
184
183
  .withMimeType(mimeType);
@@ -187,7 +186,7 @@ class MediaApiHelper {
187
186
  //VectorGraphics
188
187
  async createDefaultVectorGraphics(name) {
189
188
  await this.api.media.ensureNameNotExists(name);
190
- const mediaItem = new playwright_models_1.MediaBuilder()
189
+ const mediaItem = new json_models_builders_1.MediaBuilder()
191
190
  .withName(name)
192
191
  .withContentTypeAlias('umbracoMediaVectorGraphics')
193
192
  .build();
@@ -196,11 +195,11 @@ class MediaApiHelper {
196
195
  }
197
196
  async createVectorGraphicsWithFile(name, fileName, path, mimeType) {
198
197
  await this.api.media.ensureNameNotExists(name);
199
- const mediaItem = new playwright_models_1.MediaBuilder()
198
+ const mediaItem = new json_models_builders_1.MediaBuilder()
200
199
  .withName(name)
201
200
  .withContentTypeAlias('umbracoMediaVectorGraphics')
202
201
  .build();
203
- const mediaFile = new playwright_models_2.MediaFileBuilder()
202
+ const mediaFile = new json_models_builders_1.MediaFileBuilder()
204
203
  .withName(fileName)
205
204
  .withPath(path)
206
205
  .withMimeType(mimeType);
@@ -209,7 +208,7 @@ class MediaApiHelper {
209
208
  //Video
210
209
  async createDefaultVideo(name) {
211
210
  await this.api.media.ensureNameNotExists(name);
212
- const mediaItem = new playwright_models_1.MediaBuilder()
211
+ const mediaItem = new json_models_builders_1.MediaBuilder()
213
212
  .withName(name)
214
213
  .withContentTypeAlias('umbracoMediaVideo')
215
214
  .build();
@@ -218,11 +217,11 @@ class MediaApiHelper {
218
217
  }
219
218
  async createVideoWithFile(name, fileName, path, mimeType) {
220
219
  await this.api.media.ensureNameNotExists(name);
221
- const mediaItem = new playwright_models_1.MediaBuilder()
220
+ const mediaItem = new json_models_builders_1.MediaBuilder()
222
221
  .withName(name)
223
222
  .withContentTypeAlias('umbracoMediaVideo')
224
223
  .build();
225
- const mediaFile = new playwright_models_2.MediaFileBuilder()
224
+ const mediaFile = new json_models_builders_1.MediaFileBuilder()
226
225
  .withName(fileName)
227
226
  .withPath(path)
228
227
  .withMimeType(mimeType);
@@ -1 +1 @@
1
- {"version":3,"file":"MediaApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport fetch from 'node-fetch';\nimport {MediaBuilder} from \"@umbraco/playwright-models\";\nimport {MediaFileBuilder} from \"@umbraco/playwright-models\";\n\nconst https = require('https');\nconst FormData = require('form-data');\n\nexport class MediaApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n //Does not check the bin\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/backoffice/UmbracoTrees/MediaTree/GetNodes?id=-1');\n const searchBody = await JsonHelper.getBody(response);\n\n let mediaNameId = null;\n\n for (const sb of searchBody) {\n if (sb.name == name) {\n mediaNameId = sb.id;\n }\n }\n\n if (mediaNameId !== null) {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/DeleteById?id=' + mediaNameId);\n\n await this.clearRecycleBin();\n }\n }\n\n async save(media) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/umbracoApi/media/PostSave\";\n const formData = new FormData();\n formData.append('contentItem', JSON.stringify(media));\n\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n\n const httpsAgent = new https.Agent({\n rejectUnauthorized: false\n });\n\n const response = await fetch(url, {\n method: 'POST',\n body: formData,\n headers: {\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n 'Cookie': cookieHeader\n },\n agent: httpsAgent\n });\n\n let json = await response.text();\n return JsonHelper.parseString(json);\n };\n\n async saveFile(mediaItem, mediaFile) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/umbracoApi/media/PostSave\";\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n const response = await this.api.page.request.post(url, {\n ignoreHTTPSErrors: true,\n headers: {\n Accept: \"*/*\",\n ContentType: \"multipart/form-data\",\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n Cookie: cookieHeader,\n },\n multipart: {\n file_umbracoFile__: {\n name: mediaFile.name,\n mimeType: mediaFile.mimeType,\n buffer: mediaFile.buffer,\n },\n contentItem: JSON.stringify(mediaItem),\n },\n });\n let json = await response.text();\n return JsonHelper.parseString(json);\n };\n \n //Article\n async createDefaultArticle(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaArticle')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createArticleWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaArticle')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //Audio\n async createDefaultAudio(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaAudio')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createAudioWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaAudio')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //File\n async createDefaultFile(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('File')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createFileWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('File')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //Folder\n async createDefaultFolder(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('Folder')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n //Image\n async createDefaultImage(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('Image')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createImageWithFile(name, umbracoFileValue, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('Image')\n .addProperty()\n .withAlias('umbracoFile')\n .withValue(umbracoFileValue)\n .done()\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //VectorGraphics\n async createDefaultVectorGraphics(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVectorGraphics')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createVectorGraphicsWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVectorGraphics')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //Video\n async createDefaultVideo(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVideo')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createVideoWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVideo')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n async createAllFileTypes(articleName, audioName, fileName, folderName, imageName, vectorGraphicsName, videoName) {\n await this.api.media.createDefaultArticle(articleName);\n await this.api.media.createDefaultAudio(audioName);\n await this.api.media.createDefaultFile(fileName);\n await this.api.media.createDefaultFolder(folderName);\n await this.api.media.createDefaultImage(imageName);\n await this.api.media.createDefaultVectorGraphics(vectorGraphicsName);\n await this.api.media.createDefaultVideo(videoName);\n }\n\n async deleteAllFiles(articleName, audioName, fileName, folderName, imageName, vectorGraphicsName, videoName) {\n await this.api.media.ensureNameNotExists(articleName);\n await this.api.media.ensureNameNotExists(audioName);\n await this.api.media.ensureNameNotExists(fileName);\n await this.api.media.ensureNameNotExists(folderName);\n await this.api.media.ensureNameNotExists(imageName);\n await this.api.media.ensureNameNotExists(vectorGraphicsName);\n await this.api.media.ensureNameNotExists(videoName);\n }\n\n async deleteAllMedia() {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=media&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.id > 0) {\n await this.deleteById(child.id);\n }\n }\n }\n }\n\n async deleteById(id) {\n await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Media/DeleteById?id=${id}`)\n }\n\n async clearRecycleBin(){\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/EmptyRecycleBin');\n }\n}\n"]}
1
+ {"version":3,"file":"MediaApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {JsonHelper} from \"./JsonHelper\";\nimport fetch from 'node-fetch';\nimport {MediaBuilder, MediaFileBuilder} from \"@umbraco/json-models-builders\";\n\nconst https = require('https');\nconst FormData = require('form-data');\n\nexport class MediaApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n //Does not check the bin\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/backoffice/UmbracoTrees/MediaTree/GetNodes?id=-1');\n const searchBody = await JsonHelper.getBody(response);\n\n let mediaNameId = null;\n\n for (const sb of searchBody) {\n if (sb.name == name) {\n mediaNameId = sb.id;\n }\n }\n\n if (mediaNameId !== null) {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/DeleteById?id=' + mediaNameId);\n\n await this.clearRecycleBin();\n }\n }\n\n async save(media) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/umbracoApi/media/PostSave\";\n const formData = new FormData();\n formData.append('contentItem', JSON.stringify(media));\n\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n\n const httpsAgent = new https.Agent({\n rejectUnauthorized: false\n });\n\n const response = await fetch(url, {\n method: 'POST',\n body: formData,\n headers: {\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n 'Cookie': cookieHeader\n },\n agent: httpsAgent\n });\n\n let json = await response.text();\n return JsonHelper.parseString(json);\n };\n\n async saveFile(mediaItem, mediaFile) {\n const url = this.api.baseUrl + \"/umbraco/backoffice/umbracoApi/media/PostSave\";\n const context = this.api.page.context();\n const cookies = await context.cookies();\n let cookieHeader = \"\";\n for (const cook of cookies) {\n cookieHeader += cook.name + \"=\" + cook.value + \";\";\n }\n const response = await this.api.page.request.post(url, {\n ignoreHTTPSErrors: true,\n headers: {\n Accept: \"*/*\",\n ContentType: \"multipart/form-data\",\n 'X-UMB-XSRF-TOKEN': await this.api.getCsrfToken(),\n Cookie: cookieHeader,\n },\n multipart: {\n file_umbracoFile__: {\n name: mediaFile.name,\n mimeType: mediaFile.mimeType,\n buffer: mediaFile.buffer,\n },\n contentItem: JSON.stringify(mediaItem),\n },\n });\n let json = await response.text();\n return JsonHelper.parseString(json);\n };\n \n //Article\n async createDefaultArticle(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaArticle')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createArticleWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaArticle')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //Audio\n async createDefaultAudio(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaAudio')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createAudioWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaAudio')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //File\n async createDefaultFile(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('File')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createFileWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('File')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //Folder\n async createDefaultFolder(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('Folder')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n //Image\n async createDefaultImage(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('Image')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createImageWithFile(name, umbracoFileValue, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('Image')\n .addProperty()\n .withAlias('umbracoFile')\n .withValue(umbracoFileValue)\n .done()\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //VectorGraphics\n async createDefaultVectorGraphics(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVectorGraphics')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createVectorGraphicsWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVectorGraphics')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n //Video\n async createDefaultVideo(name) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVideo')\n .build()\n await this.api.media.save(mediaItem);\n return mediaItem;\n }\n\n async createVideoWithFile(name, fileName, path, mimeType) {\n await this.api.media.ensureNameNotExists(name);\n const mediaItem = new MediaBuilder()\n .withName(name)\n .withContentTypeAlias('umbracoMediaVideo')\n .build()\n\n const mediaFile = new MediaFileBuilder()\n .withName(fileName)\n .withPath(path)\n .withMimeType(mimeType)\n await this.api.media.saveFile(mediaItem, mediaFile)\n }\n\n async createAllFileTypes(articleName, audioName, fileName, folderName, imageName, vectorGraphicsName, videoName) {\n await this.api.media.createDefaultArticle(articleName);\n await this.api.media.createDefaultAudio(audioName);\n await this.api.media.createDefaultFile(fileName);\n await this.api.media.createDefaultFolder(folderName);\n await this.api.media.createDefaultImage(imageName);\n await this.api.media.createDefaultVectorGraphics(vectorGraphicsName);\n await this.api.media.createDefaultVideo(videoName);\n }\n\n async deleteAllFiles(articleName, audioName, fileName, folderName, imageName, vectorGraphicsName, videoName) {\n await this.api.media.ensureNameNotExists(articleName);\n await this.api.media.ensureNameNotExists(audioName);\n await this.api.media.ensureNameNotExists(fileName);\n await this.api.media.ensureNameNotExists(folderName);\n await this.api.media.ensureNameNotExists(imageName);\n await this.api.media.ensureNameNotExists(vectorGraphicsName);\n await this.api.media.ensureNameNotExists(videoName);\n }\n\n async deleteAllMedia() {\n const response = await this.api.get(this.api.baseUrl + `/umbraco/backoffice/UmbracoTrees/ApplicationTree/GetApplicationTrees?application=media&tree=&use=main`);\n const content = await JsonHelper.getBody(response);\n\n if (content !== null) {\n for (const child of content.children) {\n if (child.id > 0) {\n await this.deleteById(child.id);\n }\n }\n }\n }\n\n async deleteById(id) {\n await this.api.post(this.api.baseUrl + `/umbraco/backoffice/UmbracoApi/Media/DeleteById?id=${id}`)\n }\n\n async clearRecycleBin(){\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoApi/media/EmptyRecycleBin');\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ApiHelpers } from "./ApiHelpers";
2
- import { Package } from "@umbraco/playwright-models";
2
+ import { Package } from "@umbraco/json-models-builders";
3
3
  export declare class PackageApiHelper {
4
4
  api: ApiHelpers;
5
5
  constructor(api: ApiHelpers);
@@ -1 +1 @@
1
- {"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAG1C,MAAa,gBAAgB;IAC3B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2DAA2D,CAAC,CAAC;QACpH,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;YAC3B,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE;gBACnB,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;aACnB;SACF;QAED,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,wEAAwE,GAAG,SAAS,CAAC,CAAC;SAC9H;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,aAAsB;QAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,wDAAwD,EAAE,aAAa,CAAC,CAAC;IAClH,CAAC;CACF;AA3BD,4CA2BC","sourcesContent":["import { ApiHelpers } from \"./ApiHelpers\";\nimport { JsonHelper } from \"./JsonHelper\";\nimport {Package} from \"@umbraco/playwright-models\";\n\nexport class PackageApiHelper{\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/GetCreatedPackages');\n const searchBody = await JsonHelper.getBody(response);\n\n let packageId = null;\n\n for (const sb of searchBody) {\n if (sb.name == name) {\n packageId = sb.id;\n }\n }\n\n if (packageId !== null) {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/DeleteCreatedPackage?packageId=' + packageId);\n }\n }\n\n async save(packageToSave: Package){\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/PostSavePackage', packageToSave);\n }\n}"]}
1
+ {"version":3,"file":"PackageApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAG1C,MAAa,gBAAgB;IAC3B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2DAA2D,CAAC,CAAC;QACpH,MAAM,UAAU,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE;YAC3B,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE;gBACnB,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;aACnB;SACF;QAED,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,wEAAwE,GAAG,SAAS,CAAC,CAAC;SAC9H;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,aAAsB;QAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,wDAAwD,EAAE,aAAa,CAAC,CAAC;IAClH,CAAC;CACF;AA3BD,4CA2BC","sourcesContent":["import { ApiHelpers } from \"./ApiHelpers\";\nimport { JsonHelper } from \"./JsonHelper\";\nimport {Package} from \"@umbraco/json-models-builders\";\n\nexport class PackageApiHelper{\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/GetCreatedPackages');\n const searchBody = await JsonHelper.getBody(response);\n\n let packageId = null;\n\n for (const sb of searchBody) {\n if (sb.name == name) {\n packageId = sb.id;\n }\n }\n\n if (packageId !== null) {\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/DeleteCreatedPackage?packageId=' + packageId);\n }\n }\n\n async save(packageToSave: Package){\n await this.api.post(this.api.baseUrl + '/umbraco/backoffice/umbracoapi/package/PostSavePackage', packageToSave);\n }\n}"]}
@@ -11,15 +11,11 @@ class PartialViewApiHelper {
11
11
  const response = await this.api.get(this.api.baseUrl + "/umbraco/backoffice/UmbracoTrees/PartialViewsTree/GetNodes?id=-1");
12
12
  const content = await JsonHelper_1.JsonHelper.getBody(response);
13
13
  if (content.length > 0) {
14
- let partialViewId = null;
15
14
  for (const node of content) {
16
15
  if (node.name === name) {
17
- partialViewId = node.id;
16
+ return this.api.post(this.api.baseUrl + "/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=partialViews&virtualPath=" + name);
18
17
  }
19
18
  }
20
- if (partialViewId !== null) {
21
- return this.api.post(this.api.baseUrl + "/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=scripts&virtualPath=" + partialViewId);
22
- }
23
19
  }
24
20
  return null;
25
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PartialViewApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PartialViewApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAE1C,MAAa,oBAAoB;IAC7B,GAAG,CAAY;IAEf,YAAY,GAAe;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,kEAAkE,CAAC,CAAC;QAC3H,MAAM,OAAO,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;YAClB,IAAI,aAAa,GAAG,IAAI,CAAC;YAEzB,KAAI,MAAM,IAAI,IAAI,OAAO,EAAC;gBACtB,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI,EAAC;oBAClB,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC;iBAC3B;aACJ;YAED,IAAG,aAAa,KAAK,IAAI,EAAC;gBACtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,0EAA0E,GAAG,aAAa,CAAC,CAAC;aACvI;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uEAAuE,CAAC,CAAC;QAChI,MAAM,OAAO,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;YAClB,IAAI,kBAAkB,GAAG,IAAI,CAAC;YAE9B,KAAI,MAAM,IAAI,IAAI,OAAO,EAAC;gBACtB,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI,EAAC;oBAClB,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC;iBAChC;aACJ;YAED,IAAG,kBAAkB,KAAK,IAAI,EAAC;gBAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,oFAAoF,GAAG,kBAAkB,CAAC,CAAC;aACtJ;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW;QAClB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,kDAAkD,EAAE,WAAW,CAAC,CAAA;IAC3G,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,gBAAgB;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACzD,CAAC;CACJ;AAxDD,oDAwDC","sourcesContent":["import { ApiHelpers } from \"./ApiHelpers\";\nimport { JsonHelper } from \"./JsonHelper\";\n\nexport class PartialViewApiHelper{\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + \"/umbraco/backoffice/UmbracoTrees/PartialViewsTree/GetNodes?id=-1\");\n const content = await JsonHelper.getBody(response);\n\n if(content.length > 0){\n let partialViewId = null;\n\n for(const node of content){\n if(node.name === name){\n partialViewId = node.id;\n }\n }\n\n if(partialViewId !== null){\n return this.api.post(this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=scripts&virtualPath=\" + partialViewId);\n }\n }\n \n return null;\n }\n\n async ensureMacroFileNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + \"/umbraco/backoffice/UmbracoTrees/PartialViewMacrosTree/GetNodes?id=-1\");\n const content = await JsonHelper.getBody(response);\n\n if(content.length > 0){\n let partialViewMacroId = null;\n\n for(const node of content){\n if(node.name === name){\n partialViewMacroId = node.id;\n }\n }\n\n if(partialViewMacroId !== null){\n return this.api.post(this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=partialViewMacros&virtualPath=\" + partialViewMacroId);\n }\n }\n \n return null;\n }\n \n async save(partialView){\n await this.api.post(this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/CodeFile/PostSave\", partialView)\n }\n \n async savePartialViewMacro(partialViewMacro){\n return await this.api.saveCodeFile(partialViewMacro);\n }\n}"]}
1
+ {"version":3,"file":"PartialViewApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PartialViewApiHelper.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAE1C,MAAa,oBAAoB;IAC7B,GAAG,CAAY;IAEf,YAAY,GAAe;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,kEAAkE,CAAC,CAAC;QAC3H,MAAM,OAAO,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;YAElB,KAAI,MAAM,IAAI,IAAI,OAAO,EAAC;gBACtB,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI,EAAC;oBAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,+EAA+E,GAAG,IAAI,CAAC,CAAC;iBACnI;aACJ;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,uEAAuE,CAAC,CAAC;QAChI,MAAM,OAAO,GAAG,MAAM,uBAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;YAClB,IAAI,kBAAkB,GAAG,IAAI,CAAC;YAE9B,KAAI,MAAM,IAAI,IAAI,OAAO,EAAC;gBACtB,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI,EAAC;oBAClB,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC;iBAChC;aACJ;YAED,IAAG,kBAAkB,KAAK,IAAI,EAAC;gBAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,oFAAoF,GAAG,kBAAkB,CAAC,CAAC;aACtJ;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW;QAClB,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,kDAAkD,EAAE,WAAW,CAAC,CAAA;IAC3G,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,gBAAgB;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACzD,CAAC;CACJ;AAlDD,oDAkDC","sourcesContent":["import { ApiHelpers } from \"./ApiHelpers\";\nimport { JsonHelper } from \"./JsonHelper\";\n\nexport class PartialViewApiHelper{\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + \"/umbraco/backoffice/UmbracoTrees/PartialViewsTree/GetNodes?id=-1\");\n const content = await JsonHelper.getBody(response);\n\n if(content.length > 0){\n \n for(const node of content){\n if(node.name === name){\n return this.api.post(this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=partialViews&virtualPath=\" + name);\n }\n }\n }\n return null;\n }\n\n async ensureMacroFileNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + \"/umbraco/backoffice/UmbracoTrees/PartialViewMacrosTree/GetNodes?id=-1\");\n const content = await JsonHelper.getBody(response);\n\n if(content.length > 0){\n let partialViewMacroId = null;\n\n for(const node of content){\n if(node.name === name){\n partialViewMacroId = node.id;\n }\n }\n\n if(partialViewMacroId !== null){\n return this.api.post(this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/CodeFile/Delete?type=partialViewMacros&virtualPath=\" + partialViewMacroId);\n }\n }\n \n return null;\n }\n \n async save(partialView){\n await this.api.post(this.api.baseUrl + \"/umbraco/backoffice/UmbracoApi/CodeFile/PostSave\", partialView)\n }\n \n async savePartialViewMacro(partialViewMacro){\n return await this.api.saveCodeFile(partialViewMacro);\n }\n}"]}
@@ -20,4 +20,9 @@ export declare class UiHelpers {
20
20
  refreshContentTree(): Promise<void>;
21
21
  refreshMediaTree(): Promise<void>;
22
22
  fileUploader(path: any): Promise<void>;
23
+ switchCultureInContent(languageName: any): Promise<void>;
24
+ updateDocumentPermissionsToAllowCultureVariant(): Promise<void>;
25
+ goToAddEditor(groupName: any, propertyName: any): Promise<void>;
26
+ createNewDocumentTypeWithTemplate(): Promise<void>;
27
+ createContentWithDocumentType(documentName: any): Promise<void>;
23
28
  }
@@ -129,6 +129,31 @@ class UiHelpers {
129
129
  await this.page.locator('[property-alias="umbracoFile"]').click();
130
130
  await this.page.locator('[alias="save"]').click();
131
131
  }
132
+ async switchCultureInContent(languageName) {
133
+ await this.page.locator('.umb-variant-switcher__toggle').click();
134
+ await this.page.locator('.umb-variant-switcher__name-wrapper', { hasText: languageName }).click();
135
+ }
136
+ async updateDocumentPermissionsToAllowCultureVariant() {
137
+ await this.page.locator('[data-element="sub-view-permissions"]').click();
138
+ await this.page.locator('[data-element="permissions-allow-as-root"]').click();
139
+ await this.page.locator('[data-element="permissions-allow-culture-variant"]').click();
140
+ await this.page.locator('[data-element="sub-view-design"]').click();
141
+ }
142
+ async goToAddEditor(groupName, propertyName) {
143
+ await this.page.locator('[data-element="group-add"]').click();
144
+ await this.page.locator('[data-element="group-name"]').type(groupName);
145
+ await this.page.locator('[key="contentTypeEditor_addProperty"]').click();
146
+ await this.page.locator('[data-element="property-name"]').type(propertyName);
147
+ await this.page.locator('[data-element="editor-add"]').click();
148
+ }
149
+ async createNewDocumentTypeWithTemplate() {
150
+ await this.page.locator('[data-element="tree-item-options"]', { hasText: "Open context menu for Document Types" }).click();
151
+ await this.page.locator('[data-element="action-documentType"]').click();
152
+ }
153
+ async createContentWithDocumentType(documentName) {
154
+ await this.page.locator('[element="tree-item-options"]', { hasText: "Open context node for Content" }).click();
155
+ await this.page.locator('.umb-action-link', { hasText: documentName }).click();
156
+ }
132
157
  }
133
158
  exports.UiHelpers = UiHelpers;
134
159
  //# sourceMappingURL=UiHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class UiHelpers {\n\n page: Page;\n\n constructor(page: Page) {\n this.page = page;\n }\n\n async getGlobalHelp() {\n return this.page.locator(`[data-element=\"global-help\"]`);\n }\n\n async getGlobalUser() {\n return this.page.locator(`[data-element=\"global-user\"]`);\n }\n\n async getButtonByLabelKey(label: string) {\n return this.page.locator(`umb-button[label-key=\"${label}\"] button:enabled`);\n }\n\n async getSuccessNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-success');\n }\n\n async isSuccessNotificationVisible() {\n await expect(await this.getSuccessNotification()).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n await expect(await this.getErrorNotification()).toBeVisible();\n }\n\n async getErrorNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-error');\n }\n\n async clickElement(selector: Promise<Locator>, options: any = null) {\n const resolvedSelector = await selector;\n await resolvedSelector.click(options);\n }\n\n async goToSection(sectionAlias: string) {\n await this.page.click('[data-element=\"section-' + sectionAlias + '\"]');\n }\n\n async waitForTreeLoad(sectionAlias: string) {\n const tree = await this.page.locator('.umb-tree');\n await expect(await this.page.locator('.umb-tree')).toBeVisible();\n await expect(await tree.locator(\"a\", {hasText: sectionAlias})).toBeVisible();\n }\n\n async getTreeItem(treeName: string, itemNamePathArray: string[]) {\n\n await expect((await this.page.locator('li > .umb-tree-root a[href*=' + treeName + ']').first())).toBeVisible();\n let finalLocator = await this.page\n .locator('li > .umb-tree-root a[href*=' + treeName + ']')\n .locator(\"xpath=ancestor::li\");\n\n for (let i = 0; i < itemNamePathArray.length; i++) {\n // We want to find the outer li of the tree item, to be able to search deeper, there may be multiple results\n // for multiple levels of nesting, but it should be okay to pick last, since that should pick the immediate parent\n // the search goes from outer most to inner most (I think)\n finalLocator = await finalLocator\n .locator('.umb-tree-item__label >> text=' + itemNamePathArray[i])\n .locator('xpath=ancestor::li[contains(@class, \"umb-tree-item\")]')\n .last();\n\n // We don't want to click the expand option if we're on the last item, \n // since that can cause issues when clicking the \"root\" items, such as Document Types.\n if (i + 1 == itemNamePathArray.length) {\n break;\n }\n\n // Get the UL with the collapsed state, if it exists\n const ulObject = await finalLocator.locator(\".collapsed\");\n const locatorIcon = await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).innerHTML();\n \n // Check if an element is actually expanded, if not expanded, it will have the \"icon-navigation-right\"\n if(locatorIcon.includes(\"icon-navigation-right\")){\n if (await ulObject.count() > 0) {\n // Get the expand button\n const expandButton = finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]});\n // Weirdly if a tree item has no children is still marked as expanded, however, the expand button is hidden\n // So we have to ensure that the button is not hidden before we click.\n if (await expandButton.isHidden() === false) {\n // Click the expand button, if its collapsed\n await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).click();\n }\n }\n }\n }\n\n return finalLocator;\n }\n\n async getContextMenuAction(actionName: string) {\n return this.page.locator('li.umb-action[data-element=\"' + actionName + '\"]');\n }\n\n async setEditorHeaderName(headerName: string) {\n const header = await this.page.locator(\"#headerName\")\n await header.type(headerName);\n\n // We need to wait for the alias to be generated, but only if we can find it\n const aliasField = await this.page.locator('.umb-locked-field__input');\n if (await aliasField.count() > 0) {\n await expect(aliasField).toHaveValue(AliasHelper.toAlias(headerName));\n }\n\n }\n\n async getEditorHeaderName(typedText: string) {\n await this.page.locator('#headerName').fill(typedText, {timeout: 10000});\n\n let result = await this.page.locator('.umb-editor-header__name-wrapper').locator('input[name=\"lockedField\"]');\n const alias = AliasHelper.toAlias(typedText);\n await expect(result).toHaveValue(alias);\n }\n\n async clickMultiple(locator: Locator) {\n // TODO: Remove this\n // We're calling nth.IsEnabled to initialize the array, because locator is lazy\n // and count will then always return 0, hopefully this will be fixed in a future version of playwright\n await locator.nth(0).isEnabled();\n\n if (await locator.count() > 0) {\n let selects = await locator.elementHandles();\n for (const index in selects) {\n await selects[index].click();\n }\n }\n }\n\n async refreshContentTree() {\n const contentHeader = await this.page.locator('li .umb-tree-root >> text=\"Content\"');\n await expect(contentHeader).toBeVisible();\n await contentHeader.click({button: \"right\"});\n\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"))\n\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async refreshMediaTree() {\n const mediaHeader = await this.page.locator('li .umb-tree-root >> text=\"Media\"');\n await expect(mediaHeader).toBeVisible();\n await mediaHeader.click({button: \"right\"});\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"));\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async fileUploader(path){\n this.page.on(\"filechooser\", async (fileChooser) => {\n await fileChooser.setFiles(path);\n });\n await this.page.locator('[property-alias=\"umbracoFile\"]').click();\n await this.page.locator('[alias=\"save\"]').click();\n }\n}\n"]}
1
+ {"version":3,"file":"UiHelpers.js","sourceRoot":"","sources":["../../../lib/helpers/UiHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class UiHelpers {\n\n page: Page;\n\n constructor(page: Page) {\n this.page = page;\n }\n\n async getGlobalHelp() {\n return this.page.locator(`[data-element=\"global-help\"]`);\n }\n\n async getGlobalUser() {\n return this.page.locator(`[data-element=\"global-user\"]`);\n }\n\n async getButtonByLabelKey(label: string) {\n return this.page.locator(`umb-button[label-key=\"${label}\"] button:enabled`);\n }\n\n async getSuccessNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-success');\n }\n\n async isSuccessNotificationVisible() {\n await expect(await this.getSuccessNotification()).toBeVisible();\n }\n\n async isErrorNotificationVisible() {\n await expect(await this.getErrorNotification()).toBeVisible();\n }\n\n async getErrorNotification() {\n return this.page.locator('.umb-notifications__notifications > .alert-error');\n }\n\n async clickElement(selector: Promise<Locator>, options: any = null) {\n const resolvedSelector = await selector;\n await resolvedSelector.click(options);\n }\n\n async goToSection(sectionAlias: string) {\n await this.page.click('[data-element=\"section-' + sectionAlias + '\"]');\n }\n\n async waitForTreeLoad(sectionAlias: string) {\n const tree = await this.page.locator('.umb-tree');\n await expect(await this.page.locator('.umb-tree')).toBeVisible();\n await expect(await tree.locator(\"a\", {hasText: sectionAlias})).toBeVisible();\n }\n\n async getTreeItem(treeName: string, itemNamePathArray: string[]) {\n\n await expect((await this.page.locator('li > .umb-tree-root a[href*=' + treeName + ']').first())).toBeVisible();\n let finalLocator = await this.page\n .locator('li > .umb-tree-root a[href*=' + treeName + ']')\n .locator(\"xpath=ancestor::li\");\n\n for (let i = 0; i < itemNamePathArray.length; i++) {\n // We want to find the outer li of the tree item, to be able to search deeper, there may be multiple results\n // for multiple levels of nesting, but it should be okay to pick last, since that should pick the immediate parent\n // the search goes from outer most to inner most (I think)\n finalLocator = await finalLocator\n .locator('.umb-tree-item__label >> text=' + itemNamePathArray[i])\n .locator('xpath=ancestor::li[contains(@class, \"umb-tree-item\")]')\n .last();\n\n // We don't want to click the expand option if we're on the last item, \n // since that can cause issues when clicking the \"root\" items, such as Document Types.\n if (i + 1 == itemNamePathArray.length) {\n break;\n }\n\n // Get the UL with the collapsed state, if it exists\n const ulObject = await finalLocator.locator(\".collapsed\");\n const locatorIcon = await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).innerHTML();\n \n // Check if an element is actually expanded, if not expanded, it will have the \"icon-navigation-right\"\n if(locatorIcon.includes(\"icon-navigation-right\")){\n if (await ulObject.count() > 0) {\n // Get the expand button\n const expandButton = finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]});\n // Weirdly if a tree item has no children is still marked as expanded, however, the expand button is hidden\n // So we have to ensure that the button is not hidden before we click.\n if (await expandButton.isHidden() === false) {\n // Click the expand button, if its collapsed\n await finalLocator.locator('[data-element=\"tree-item-expand\"]', {hasText: itemNamePathArray[i]}).click();\n }\n }\n }\n }\n\n return finalLocator;\n }\n\n async getContextMenuAction(actionName: string) {\n return this.page.locator('li.umb-action[data-element=\"' + actionName + '\"]');\n }\n\n async setEditorHeaderName(headerName: string) {\n const header = await this.page.locator(\"#headerName\")\n await header.type(headerName);\n\n // We need to wait for the alias to be generated, but only if we can find it\n const aliasField = await this.page.locator('.umb-locked-field__input');\n if (await aliasField.count() > 0) {\n await expect(aliasField).toHaveValue(AliasHelper.toAlias(headerName));\n }\n\n }\n\n async getEditorHeaderName(typedText: string) {\n await this.page.locator('#headerName').fill(typedText, {timeout: 10000});\n\n let result = await this.page.locator('.umb-editor-header__name-wrapper').locator('input[name=\"lockedField\"]');\n const alias = AliasHelper.toAlias(typedText);\n await expect(result).toHaveValue(alias);\n }\n\n async clickMultiple(locator: Locator) {\n // TODO: Remove this\n // We're calling nth.IsEnabled to initialize the array, because locator is lazy\n // and count will then always return 0, hopefully this will be fixed in a future version of playwright\n await locator.nth(0).isEnabled();\n\n if (await locator.count() > 0) {\n let selects = await locator.elementHandles();\n for (const index in selects) {\n await selects[index].click();\n }\n }\n }\n\n async refreshContentTree() {\n const contentHeader = await this.page.locator('li .umb-tree-root >> text=\"Content\"');\n await expect(contentHeader).toBeVisible();\n await contentHeader.click({button: \"right\"});\n\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"))\n\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async refreshMediaTree() {\n const mediaHeader = await this.page.locator('li .umb-tree-root >> text=\"Media\"');\n await expect(mediaHeader).toBeVisible();\n await mediaHeader.click({button: \"right\"});\n await this.clickElement(this.getContextMenuAction(\"action-refreshNode\"));\n await expect(await this.page.locator('.umb-tree-item__inner').first()).toBeVisible();\n }\n \n async fileUploader(path){\n this.page.on(\"filechooser\", async (fileChooser) => {\n await fileChooser.setFiles(path);\n });\n await this.page.locator('[property-alias=\"umbracoFile\"]').click();\n await this.page.locator('[alias=\"save\"]').click();\n }\n \n async switchCultureInContent(languageName)\n {\n await this.page.locator('.umb-variant-switcher__toggle').click();\n await this.page.locator('.umb-variant-switcher__name-wrapper', {hasText: languageName}).click();\n }\n \n async updateDocumentPermissionsToAllowCultureVariant(){\n await this.page.locator('[data-element=\"sub-view-permissions\"]').click();\n await this.page.locator('[data-element=\"permissions-allow-as-root\"]').click();\n await this.page.locator('[data-element=\"permissions-allow-culture-variant\"]').click();\n await this.page.locator('[data-element=\"sub-view-design\"]').click();\n }\n \n async goToAddEditor(groupName, propertyName){\n await this.page.locator('[data-element=\"group-add\"]').click();\n await this.page.locator('[data-element=\"group-name\"]').type(groupName);\n await this.page.locator('[key=\"contentTypeEditor_addProperty\"]').click();\n await this.page.locator('[data-element=\"property-name\"]').type(propertyName);\n await this.page.locator('[data-element=\"editor-add\"]').click();\n }\n \n async createNewDocumentTypeWithTemplate(){\n await this.page.locator('[data-element=\"tree-item-options\"]',{hasText: \"Open context menu for Document Types\"}).click();\n await this.page.locator('[data-element=\"action-documentType\"]').click();\n }\n\n async createContentWithDocumentType(documentName){\n await this.page.locator('[element=\"tree-item-options\"]', {hasText: \"Open context node for Content\"}).click();\n await this.page.locator('.umb-action-link', {hasText: documentName}).click();\n }\n \n}\n"]}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../lib/helpers/JsonHelper.ts","../node_modules/playwright-core/types/protocol.d.ts","../node_modules/playwright-core/types/structs.d.ts","../node_modules/playwright-core/types/types.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@jest/types/build/Global.d.ts","../node_modules/@jest/types/build/Circus.d.ts","../node_modules/@jest/types/node_modules/chalk/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@jest/types/build/Config.d.ts","../node_modules/@jest/types/build/TestResult.d.ts","../node_modules/@jest/types/build/Transform.d.ts","../node_modules/@jest/types/build/index.d.ts","../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/jestMatchersObject.d.ts","../node_modules/expect/build/types.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@playwright/test/types/testExpect.d.ts","../node_modules/@playwright/test/types/test.d.ts","../node_modules/@playwright/test/index.d.ts","../lib/helpers/DocumentTypeApiHelper.ts","../lib/helpers/TemplatesApiHelper.ts","../umbraco.config.ts","../node_modules/@umbraco/playwright-models/dist/lib/helpers/AliasHelper.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/dataTypePrevalue.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/dataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/checkBoxListDataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/formPickerDataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/labelDataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/textBoxDataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/dropDownDataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/gridDataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/approvedColourPickerDataType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/dataTypes/index.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/properties/baseProperty.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/properties/textBoxProperty.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/properties/formPickerProperty.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/properties/dropDownProperty.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/properties/index.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/template.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/stylesheet.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/cmsDocumentType.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/partialViewMacros/partialViewMacro.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/package.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/content/contentVariantPropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/content/contentVariantBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/content/contentBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/models/index.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/dataTypeBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/formPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/labelDataTypeBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/textBoxDataTypeBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/dropDownDataTypeBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/documentTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/formPickerDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/textBoxDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/dropDownDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/contentPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/richTextDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/customDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/index.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/properties/urlPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/documentTypeGroupBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/documentTypeTabBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/documentTypes/documentTypeBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/templates/templateBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/userGroups/permissionsBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/userGroups/nodePermissionBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/userGroups/nodePermissionCollectionBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/userGroups/userGroupBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/stylesheets/stylesheetBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/partialViewMacros/partialViewMacroBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/partialViews/partialViewBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/packages/packageBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/macroBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/sectionBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/gridLayoutBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/gridAreaBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/gridRowConfigBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/rteToolbarOptionsBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/gridRteBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/gridSettingsBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/gridStylesBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridBuilders/index.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/gridDataTypeBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/dataTypes/index.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/media/mediaPropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/media/mediaBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/media/mediaFileBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/domain/domainPropertyBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/domain/domainBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/user/userBuilder.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/builders/index.d.ts","../node_modules/@umbraco/playwright-models/dist/lib/index.d.ts","../lib/helpers/ContentApiHelper.ts","../lib/helpers/LanguagesApiHelper.ts","../lib/helpers/UserApiHelper.ts","../lib/helpers/UserGroupApiHelper.ts","../lib/helpers/MacroApiHelper.ts","../lib/helpers/MediaTypeApiHelper.ts","../lib/helpers/MemberTypeApiHelper.ts","../lib/helpers/DatatypeApiHelper.ts","../lib/helpers/StylesheetApiHelper.ts","../lib/helpers/FolderApiHelper.ts","../lib/helpers/ScriptApiHelper.ts","../lib/helpers/PartialViewApiHelper.ts","../lib/helpers/RelationTypeApiHelper.ts","../lib/helpers/PackageApiHelper.ts","../lib/helpers/MemberApiHelper.ts","../lib/helpers/MemberGroupApiHelper.ts","../lib/helpers/MediaApiHelper.ts","../lib/helpers/DomainApiHelper.ts","../lib/helpers/ApiHelpers.ts","../lib/helpers/AliasHelper.ts","../lib/helpers/UiHelpers.ts","../lib/helpers/testExtension.ts","../lib/helpers/ConstantHelper.ts","../lib/helpers/index.ts","../lib/index.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"27dc2aafc4322c429b4f085e9884f15ee2bfdc94a9595500df04e855af64d07f","signature":"3c4c586576db158f7102592df972b7160eef9347c0bf461727a2f784b99813bf"},"6cc32df5e1e9ffb6f2bbdd35f1630ed8f36e699f2769143ea2356d61eff752cd","3f4eca17bf5cb95dd385a861ff52eaa6f69c9d35d4d410d3781c3c8bb1b711e1","81b2903db467601571b008003d6fbb7f6477de8fd2da42f3e4580e050327ca76","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","caac4c00061a947d2b1010bb6464f06197f2671bdf948fa1aa40bf1e244ee2a0","95b6c669e7ed7c5358c03f8aa24986640f6125ee81bb99e70e9155974f7fd253","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438","f7dd7280ee4f0420865e6423fe199aeac63d1d66203a8b631077cdc15501ef1f","ef62b4aa372f77458d84c26614b44129f929e263c81b5cd1034f5828a5530412","8610558ae88a43ad794c4ab1da4f0e8e174e0357c88f6cbb21f523e67414e9a9","0b0feb9837c561c0a67b61024328045bb16bac6e4b10f7b0b217d3b8b43b0b12","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73","67c51fa68aadbb50e4ffc650b704620e0393bddb3d3eac3a6195bf1956562fe4","2ce7c78f9301adfecd95d117c2d2d3aa745ae68ca4a47e3336640ff3fca7f5c0","62b2f9497fc9bda8af80d3b9042ea3ace39e03f14c465ff34280afcdf3098e0a",{"version":"5516be04bd534a50780d60d2b7ee3e0c34dae21382f211d284355172cea3532a","affectsGlobalScope":true},"e182d9a9daa2f7536c4b41c9e3ece19cadcd0e698bbcdcf5b6e290b12b6bdf90","dd058f85195242fea0d234e8f1d96b552d44bbba9e3513643c78a8c2a408317c",{"version":"ac1b1cef1e0ec1f1811bb2079975db46651dcf2e31b6245242119f61c800baf6","signature":"10967bf9e5d00f3de85590578207f1d5b2abccd0b6843e0f49b39558e21784f6"},{"version":"c0f450ff491e138ede0e426b6cac409dd2e3d9a4c48eee13adcd3c2027c84841","signature":"9d1c999aa35399abc231cd33a23d285958532b4477e516428674dc2b6c636bb9"},{"version":"c93350324664aeec0217741e56c4950435f58ebba7c4589b99deec894b33d67b","signature":"22fea8c28752d1a841afd4b34f886b6ddd7701982943de4a92694a371824b818"},"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6","93c79ea837a3683fe69f98a9ddec01954479eacd5e98217e7fe8c30569a2181c","3b04afa0a1663f0d190faba155d94e0b63e0060624834e6fbd99fdcf6211732c","08d7c8da9234ced6b8a40f30a6d6d834c7906c03dcd9a195be3c0af534693bab","a3455478b38af4f7dc07be256529c04f8ac44d2cb538a129b942d04385d38211","73cdeca1dccc3d7aea7b5435f5fc28616eb3429a2de8d8187fb58d0f1233cc03","9eb875eed077cb6976a15c56343833dbfc3033b44ccfe2cc5381a49075f366de","65cd89f643a55d3fc85f5120c3164a784e7cb506a940db4a96b2cfdffc48b664","93d2c022a4c49a9e690811d12ad90e13700ffa1af721e78cba5e28f197fab7d9","cae4718e85adc64a9cff1bb65207cdde5aceab88f91aef950890f49d1ac7546f","080331132004076e6084278ff1779ecd35462813536604718e38f217f87224e4","2f1de4e3a1e029e8980932077250d9f7a09430a6e09c1434286a0b2ae830725a","93079b8d71a2ca0467ee017578fad523ae3c91bbbf6e7d208266397ed95bb72d","ed52cd5e3d1c684a6af33f716ea95c0bf9df83fb666e3752c65af76e7ba72a88","f7845d9d67a488e0ace78a707619d5f0f73638507100ddfe7dd43bb9db474b01","6badfec8d5a56e856447012a7d6500c9a7aa7556031eeb3b02a5d169c116be2a","a2f7e45e3a741ead80526727256036db1ce99ad81ce9ed8257ac9ef1dff1f4bf","06c571473f15cb4efa04381e8ef885c89889206ecd0f23b3873e84b54325b3f8","d41db3972d8af8e26aefb3c5917294b0388c3aea85a9816b935a2f011ae82bf6","0fea2b98e477ce62dccb2b7e0fcbd4c5232d07a4ecbe9240b316a7769bff6922","1b7f6096ec365fcb1e31fcc81f3e4080aab87b9b4d224e0b45e670e37539516c","e50291879541d083c6fd370903958e154a55532587f57e1f181c937507bffa4d","f16387b8135581f44a284af3c377f37fb98e950a484da0e66af8c4fe68ccf562","588c0f9a388313b017c362f7d3fc79f54bff38d938336d261104faaa7fa22dd3","20f55a9e8eb1636d3337bf453f76470fe47627e167106e25cfda2eec49a999dd","b5c18096321db57d53c0a4195ddda193cda446f03ca8998d2c079b2116eb7a89","be53d81b22f837b57a79221eca978dce11607d78e28af03f3ccee9a1d16b2a6c","ecd85f997720a697821204abee88fbfd779e0d15f071c97b44a1a04e6b4f7d72","336fbad16ee44d15f3c2b1994d52b543575bf18bf28e3d78b2c0fd93d9d9fe6c","67dd8b4d4375e01ca3e6a29a01cb9d8eed0f841092419ff2ce440130b3eaf300","e00b74e3842589cc71269c7e642796cc31d7a2e9b022a1eaca21d609988164de","b0f776fc18720d0a057835beeecffb1abd53e9efe7a021272a8d1f20eba9cf61","b9a7fb74606693cba39e991152f616b2a5d34ff0eda64d2c96ca16c0e50de472","3eb1c63cbb04059d52d5002d63483e6464a5c15ff6930d722c8781cb469160f7","0efac07fb1fd7099de077676edfd3ad0cc96eb07b229df590c3a625a57708e3c","ddaf1304ebdc6851de76b8a21268ccfe36181e14280fd68abef45415b9442631","5cff8532af707151209b2aae1fe41a71dfe434723ed15fedbb98e3bc1ebce3f1","d863d12be6ef17b1c2f5f09cc786ed2a4db0ad58e6dd1c3c5c73b12363268ed8","90d4e62939a29eb3c8626053ae38b32c3fc4af2e8bd38c4273e07e5f8b9c420e","eee7c918cd101d65583e1aabd1470c2bca2d8b138a516465986a992e78d8ffda","4f2498bc14535b90fd6a4d06e0494b3b38c260e821b2b81192a7d94c63b68c65","8cf3541b64f7e9447b66e4aeebb108943ad01e89882c0e5dc58b96a5b33e6f85","2454011624d88b290a32aeac7dc0167e4355282ebae2141ec2c00e3655dc9c57","40a2f2042adea1c4352aef573b414bc7e342146df56e7daa28c866d6e6f29b5c","a7c7d0ffadfcdb68d7349d176767d0a4b4cafb802decd236d8b4af8d8adfce19","b454e02ba2e0f8c349c5b815977621487e824d92bc308ab8ba10a7abef08d590","907ab625eaef5d4d744e5425f3d72436a41413a94614e9427abca11ffc9d7fae","02834b7e577f585d68f491e1f23177136117d2db272fd304b93ffdce3242b2b2","91eb32f6e30888018d1e8ccf54a11229e4b242c34d62d2985f43b834a32c25ed","0122bddcde390cac1f5cccd1c20914b78a8da9bb014c197052fbb7fda7f63054","fd4d3238c3276ef9e2e1f62df97c022afb342996620e1e6d2cd0e7aa8a92144d","b3dfeba1d10a5c25ece61ea9ced2d72bcf3a58374601b77627c5fb2e010d3d7d","4d0b34a22bd3ac2c4d8fff2fd7944ead8b8ba18d9e8e81911c2e6a9fc67e029d","ad9f67d6847cd3e199c6ce6541747621800dd079fe9eb340626f181c3259c133","9f19539810ba84f940eff6a3e2a6a02ce8cdaee91bfe856d032b4b4d7fe1da6f","379ca46d581bf11029e4e72b9f963f325a25014cc63ac4ab19f557e6174be823","d93e9a21e0e2e679c6bcacc85034c958d11d7e5c543fb40ba9163e1409a745ab","f2b5bea18c828945b072868587f0e55ccaa127c5aab911f2e0fc43e51bfb26c3","13e79859b25030d48d869fa6c1c11b1389c58296a5ff2545348ca3243dee5bd4","a09a4c2dc4f0afc35826cf14d05138ca8f69f63853182be7dd2f19f3b1f942c9","81d63f3492cb2b106eac96420f7490b9c9a2e16a00d6418fad5dfb8772f600ca","1974015251ea5d4b91c453920f36f824e2018a7324fe5e2ec125b25161041af8","43870f3d72f35f40e3692e7f32a769b83dc32f4b12a6753ba341de6ed429046d","c31ae47df702ab01b82ffea87e96475160c65cbd07df936808f5c6a5573a43b5","cd971a39229db912c36a557a20a4e076786e8a2621c09e6e1c1a3e90876aad04","1994d1a9c3709278ed631c2984de602d2db9a4efe626ffe62c3a13aa5f0c56d8","c1e40228f8683875d297733ab06b79edbb69e86db3dd08bf2bf34bfd44d9142a","4c47c7e124653f2e4647788c3c51e82aeb1cc3938f33ba9027e2ac36bdecb896","cb8d543cead317e789e82c1a6cb1e81a866bface52544d80c2b0ad06c8a7cc69","864840196b830696c7c3732d6ab28bcbf2dda5f98691e6482060e5bc3869d0e7","817f92c5ea3e1dce32cdda9646492c000206159a432dfe2ba11a9b419daa321f",{"version":"fe20ec4d73a51402a5eb851bd69c4773c4897a3e0c7a18dd29f9283256cfdacd","signature":"4e09ffa24bbbac3145c6ac352ab9f78d7bac139ea2de7c282b9ab3fc6a5feca5"},{"version":"833fc5309d81da25dd04f0de18bcf45433ce5ffc7b0300dffbe495f8b7d9d0de","signature":"e5094f0724f1ef9e36171dfb87b74dbc5499600a630332e833bdaea9aa29b26e"},{"version":"e18252f9560a0d9d32e2fac04bffdd19c2a56c7e1876287a61d2618eb8086788","signature":"3ad0b4ec55f9a21b489b399316f7a100b6ca5a9de887409a9e0cf9ca109685b9"},{"version":"bb6f9925a5503e092b093dc6fa971fd8066e50a0ef501badb19bb4f12396559a","signature":"f77af5568ad5b47ececdab55cdf68d987ce05d3fbe27aa0ce492654f2c678c96"},{"version":"cb306f83acad886c1b91ac28552f0de394e1f2c7876543bb5307b4954cbec0be","signature":"b88cd1b38158f81d8868ef2005535c989e58fa0b4c3cf672a436ba2f1d409386"},{"version":"cee35cd7d9183d4062b383cb3c23ae1006b71b021eaab05bb982dcfc47580cd8","signature":"29532eb38b76a136ef3486393ab0ba313a0f06bed662fc1a8fcf6c8ecfaeb60c"},{"version":"119f9ffd7fe7fcbf1afc0d8adadb4add2542d5634dc856681b4a9ec5a11e3838","signature":"f82164e3407ff5695776ffbfdd510e3e6a50eb6f9c3ff00701b8f8ebae9b5d64"},{"version":"af026a376c05e41f0c51c2355584810fc9363027824c0b778dbdf2dd1e9662e1","signature":"be8c0580f75d85095f6039b46ddd0a6c1d9da241ca0f21b845833f4386da2002"},{"version":"fffd59522b750564183b1684fa4d8d33c041ec05b5c166cda05f6020b4967914","signature":"d63b104faedd00e812958ab000e3568f287353a90adeea83c12f84f79b5a4ca3"},{"version":"9d1dd6c148c789ea958183eac7759861a5affc8435e5006e1bda5fd0cc9a601e","signature":"e348e63d9c4e949134224b80a3a8a8ef0f563d519d48f6bad7d7285a8cb389fd"},{"version":"dc4a7f7b22717992a6e73539d5b30a718c132064ec8171ebc0da468b53c78962","signature":"0d44d6ac4c7c7f2b82ca1501f44668f1d4410b1c6428e1247bf63387e6977417"},{"version":"205de265ff985e0f2a8dd93910d986043c6824b19c3ed056860644e9ca559fa4","signature":"b37af73d679416f5eed1bddbf113e87f25483851299c62816f7df759d88078a9"},{"version":"33274812f1b395855cc6ba771e868d21d3cad474b9d9afd4b7ebcae0b46a6e41","signature":"dc6d51709fcc2ce56abcb6cb6fd4bfa43a2ade0313f388466fc7f99d478652a2"},{"version":"771e503351f0b7800bd486eca5ac8dc3fdb2b0e390a111b5b9afbadd068f3268","signature":"9dd61fff8d52c3e3e90f9b1f75c84283d90bb97570a6247d0c09e4362f09b0c6"},{"version":"1033759067c605ed6e98f5ee7f2374976d0e6b6edb427f9ed47922ccd6741cd2","signature":"0fdd786a85d8605d82a9c729ae7a0f29a2caf96f8157515e45136e1690abeffe"},{"version":"5763b2b25ceb292e329a67dcbc0255c0b40be881ac070145b647189f4ba99b86","signature":"f27a3a093b5c512649d2a457b09bacac9f1a4d0d8cdb03c4992fa2540bf505e0"},{"version":"6a5439e950bea4118450eccbf32911d473e6f44cf7874b6806581259b74ca638","signature":"99a52732334ddde92f68c9e06d61b92c94f2cab8f903165bf0ab073b1dc02ee2"},{"version":"2b1f5676d9603f0d7a61a235ca749de36b2e7cb04824416618554b37c6dd5bd6","signature":"ea417c484df007cc7bdc966f5b1e7e51fbba94745d11c3ae4397284ef32f61da"},{"version":"e7d1972798e7a94fc2788e2503bbd52c796c8ddab696cf4fd30cdc00314c4d48","signature":"87d31e27f8045c601f929a6905db0f74ec15338ac88ed4e8ad68d8492682e999"},{"version":"e17f07b028b14f80d6c625470844ec2f52f37efcd58f80dffc607fb8653cd4d0","signature":"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6"},{"version":"48eda79779303e323494488ce38d57c1fb166fe47f6eca022cc9394ef46af4a4","signature":"27799a586e1931a3d14f44483c4116a8eb39ef47bd49470a45ffb9621e383989"},{"version":"94ed2d1240b347c3f620642cde781b2048a7d17d5cf957e2379088a39d35418f","signature":"302280c749ac14a35a70667829db1fb7118cc298f4a9c98dbde1a69899158aeb"},{"version":"8fbc05155c51977f35ff27045c8093ff6cd01342c3ec76ed4712f8b781165511","signature":"a7d5e0defc15dd34a99aa961cbb162ff8bc1ed1d755bfefa62de7795e1c62641"},{"version":"f05993fb6465a6c05c82637c7064096c60365c121d62c6838ed91f068f149f08","signature":"8db6c42877b145cdba2375de739954a965fb0bff78ee4bec4b5d34d91b59df6a"},{"version":"b9181bea4a29329594d5c5a53bec78507fcc67ad0c5afa2a580dc51d6f19a4f7","signature":"4f7d54c603949113f45505330caae6f41e8dbb59841d4ae20b42307dc4579835"},"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":false,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":99},"fileIdsList":[[43,91],[43,44,91,125,126,127,128,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217],[43,44,91,199,218],[43,44,91,128,218],[43,44,91,218],[43,44,91,128,209,218],[43,91,125,219],[43,44,91,218,219,220,221,222],[43,91,125,223],[43,91,223],[91,98,100],[91,102,104,106],[91,99],[91],[91,100,101,107,108,109],[47,91,124],[47,91,123,125],[47,91,122],[91,103],[48,91],[51,91],[52,57,91],[53,63,64,71,80,90,91],[53,54,63,71,91],[55,91],[56,57,64,72,91],[57,80,87,91],[58,60,63,71,91],[59,91],[60,61,91],[62,63,91],[63,91],[63,64,65,80,90,91],[63,64,65,80,91],[66,71,80,90,91],[63,64,66,67,71,80,87,90,91],[66,68,80,87,90,91],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],[63,69,91],[70,90,91],[60,63,71,80,91],[72,91],[73,91],[51,74,91],[75,89,91,95],[76,91],[77,91],[63,78,91],[78,79,91,93],[63,80,81,82,91],[80,82,91],[80,81,91],[83,91],[84,91],[63,85,86,91],[85,86,91],[57,71,80,87,91],[88,91],[71,89,91],[52,66,77,90,91],[57,91],[80,91,92],[91,93],[91,94],[52,57,63,65,74,80,90,91,93,95],[80,91,96],[91,105],[63,80,91,98],[91,151],[91,150],[91,153],[91,153,154],[91,184],[91,181,190],[91,183,190],[91,185,190],[91,190],[91,187,190],[91,181,182,183,184,185,186,187,188],[91,186],[91,182],[91,153,154,189],[91,155,156,157,158,190],[91,168,169],[91,160,161,162,163,166,167],[91,168],[91,159],[91,160,161,162,163,164,165],[91,195],[91,150,151,152,155,156,157,158,170,171,175,176,177,178,179,180,191,192,193,194,195,196,197],[91,192],[91,172],[91,173],[91,172,174],[91,129,139,144,145,146,147,148,149,198],[91,131],[91,130],[91,130,131],[91,130,131,132,133,134,135,136,137,138],[91,139,144,145,146,147,148,149],[91,140],[91,141,142,143],[91,121],[91,110,119,120],[91,112,115],[91,112,115,116,117],[91,114],[91,102,118],[47,91],[45,46,53,63,64,80,91],[91,113],[47,125,126,127,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217],[218],[47,218],[199,218],[125],[44,218,219,220,221,222],[125,223],[223]],"referencedMap":[[219,1],[218,2],[222,1],[200,3],[207,4],[126,5],[217,3],[209,5],[44,1],[201,5],[204,4],[216,3],[205,5],[214,5],[215,5],[206,5],[213,3],[211,5],[212,5],[210,6],[208,5],[127,5],[220,7],[202,4],[203,4],[223,8],[221,9],[224,10],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[225,14],[105,14],[106,67],[226,68],[152,69],[151,70],[150,14],[154,71],[158,72],[155,72],[183,73],[182,74],[184,75],[186,76],[187,77],[188,78],[189,79],[185,80],[181,81],[190,82],[191,83],[156,72],[157,72],[170,84],[168,85],[169,86],[163,87],[165,87],[159,14],[162,87],[160,87],[166,88],[164,87],[161,87],[167,87],[196,89],[195,14],[198,90],[180,14],[193,91],[194,14],[192,14],[179,14],[177,71],[178,14],[176,71],[171,71],[197,14],[173,92],[174,93],[172,14],[175,94],[129,14],[199,95],[147,14],[138,96],[132,96],[131,97],[130,14],[136,96],[133,96],[137,98],[139,99],[134,96],[135,96],[153,100],[149,14],[148,14],[140,14],[143,101],[142,101],[144,102],[141,101],[146,14],[145,14],[122,103],[120,103],[121,104],[112,14],[116,105],[118,106],[117,105],[115,107],[119,108],[111,14],[45,14],[46,109],[47,110],[114,111],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14],[128,1]],"exportedModulesMap":[[218,112],[200,113],[207,113],[126,113],[217,113],[209,113],[201,113],[204,114],[216,113],[205,113],[214,113],[215,113],[206,113],[213,115],[211,114],[212,114],[210,114],[208,113],[127,114],[220,116],[202,113],[203,113],[223,117],[221,118],[224,119],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[225,14],[105,14],[106,67],[226,68],[152,69],[151,70],[150,14],[154,71],[158,72],[155,72],[183,73],[182,74],[184,75],[186,76],[187,77],[188,78],[189,79],[185,80],[181,81],[190,82],[191,83],[156,72],[157,72],[170,84],[168,85],[169,86],[163,87],[165,87],[159,14],[162,87],[160,87],[166,88],[164,87],[161,87],[167,87],[196,89],[195,14],[198,90],[180,14],[193,91],[194,14],[192,14],[179,14],[177,71],[178,14],[176,71],[171,71],[197,14],[173,92],[174,93],[172,14],[175,94],[129,14],[199,95],[147,14],[138,96],[132,96],[131,97],[130,14],[136,96],[133,96],[137,98],[139,99],[134,96],[135,96],[153,100],[149,14],[148,14],[140,14],[143,101],[142,101],[144,102],[141,101],[146,14],[145,14],[122,103],[120,103],[121,104],[112,14],[116,105],[118,106],[117,105],[115,107],[119,108],[111,14],[45,14],[46,109],[47,110],[114,111],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14]],"semanticDiagnosticsPerFile":[219,218,222,200,207,126,217,209,44,201,204,216,205,214,215,206,213,211,212,210,208,127,220,202,203,223,221,224,101,107,100,108,109,110,102,125,124,123,99,103,104,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,50,97,66,67,68,98,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,225,105,106,226,152,151,150,154,158,155,183,182,184,186,187,188,189,185,181,190,191,156,157,170,168,169,163,165,159,162,160,166,164,161,167,196,195,198,180,193,194,192,179,177,178,176,171,197,173,174,172,175,129,199,147,138,132,131,130,136,133,137,139,134,135,153,149,148,140,143,142,144,141,146,145,122,120,121,112,116,118,117,115,119,111,45,46,47,114,113,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,128],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.8.3"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/tslib/tslib.d.ts","../lib/helpers/JsonHelper.ts","../node_modules/playwright-core/types/protocol.d.ts","../node_modules/playwright-core/types/structs.d.ts","../node_modules/playwright-core/types/types.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@jest/types/build/Global.d.ts","../node_modules/@jest/types/build/Circus.d.ts","../node_modules/@jest/types/node_modules/chalk/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@jest/types/build/Config.d.ts","../node_modules/@jest/types/build/TestResult.d.ts","../node_modules/@jest/types/build/Transform.d.ts","../node_modules/@jest/types/build/index.d.ts","../node_modules/jest-matcher-utils/node_modules/chalk/index.d.ts","../node_modules/jest-diff/build/cleanupSemantic.d.ts","../node_modules/pretty-format/build/types.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/types.d.ts","../node_modules/jest-diff/build/diffLines.d.ts","../node_modules/jest-diff/build/printDiffs.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/jestMatchersObject.d.ts","../node_modules/expect/build/types.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@playwright/test/types/testExpect.d.ts","../node_modules/@playwright/test/types/test.d.ts","../node_modules/@playwright/test/index.d.ts","../lib/helpers/DocumentTypeApiHelper.ts","../lib/helpers/TemplatesApiHelper.ts","../umbraco.config.ts","../node_modules/@umbraco/json-models-builders/dist/lib/helpers/AliasHelper.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dataTypePrevalue.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/checkBoxListDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/formPickerDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/labelDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/textBoxDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/dropDownDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/gridDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/approvedColourPickerDataType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/dataTypes/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/baseProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/textBoxProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/formPickerProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/dropDownProperty.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/properties/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/template.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/stylesheet.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/cmsDocumentType.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/partialViewMacros/partialViewMacro.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/package.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentVariantPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentVariantBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/content/contentBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/models/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/formPickerDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/labelDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/textBoxDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/dropDownDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/sectionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridLayoutBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridAreaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridRowConfigBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/rteToolbarOptionsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridRteBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridSettingsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/gridStylesBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridBuilders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/gridDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/approvedColorPickerTypeDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/dataTypes/checkBoxListDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/documentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/formPickerDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/textBoxDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/dropDownDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/contentPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/richTextDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/customDocumentTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/approvedColorPickerTypeDataTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/urlPickerTypePropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/properties/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeTabBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/documentTypes/documentTypeBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/templates/templateBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/permissionsBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/nodePermissionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/nodePermissionCollectionBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/userGroups/userGroupBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/partialViewMacros/partialViewMacroBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/partialViews/partialViewBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/packages/packageBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/media/mediaFileBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/domain/domainPropertyBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/domain/domainBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/user/userBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/stylesheets/stylesheetBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/macroBuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/scriptbuilder.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/builders/index.d.ts","../node_modules/@umbraco/json-models-builders/dist/lib/index.d.ts","../lib/helpers/ContentApiHelper.ts","../lib/helpers/LanguagesApiHelper.ts","../lib/helpers/UserApiHelper.ts","../lib/helpers/UserGroupApiHelper.ts","../lib/helpers/MacroApiHelper.ts","../lib/helpers/MediaTypeApiHelper.ts","../lib/helpers/MemberTypeApiHelper.ts","../lib/helpers/DatatypeApiHelper.ts","../lib/helpers/StylesheetApiHelper.ts","../lib/helpers/FolderApiHelper.ts","../lib/helpers/ScriptApiHelper.ts","../lib/helpers/PartialViewApiHelper.ts","../lib/helpers/RelationTypeApiHelper.ts","../lib/helpers/PackageApiHelper.ts","../lib/helpers/MemberApiHelper.ts","../lib/helpers/MemberGroupApiHelper.ts","../lib/helpers/MediaApiHelper.ts","../lib/helpers/DomainApiHelper.ts","../lib/helpers/ApiHelpers.ts","../lib/helpers/AliasHelper.ts","../lib/helpers/UiHelpers.ts","../lib/helpers/testExtension.ts","../lib/helpers/ConstantHelper.ts","../lib/helpers/index.ts","../lib/index.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e",{"version":"27dc2aafc4322c429b4f085e9884f15ee2bfdc94a9595500df04e855af64d07f","signature":"3c4c586576db158f7102592df972b7160eef9347c0bf461727a2f784b99813bf"},"6cc32df5e1e9ffb6f2bbdd35f1630ed8f36e699f2769143ea2356d61eff752cd","3f4eca17bf5cb95dd385a861ff52eaa6f69c9d35d4d410d3781c3c8bb1b711e1","81b2903db467601571b008003d6fbb7f6477de8fd2da42f3e4580e050327ca76","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","caac4c00061a947d2b1010bb6464f06197f2671bdf948fa1aa40bf1e244ee2a0","95b6c669e7ed7c5358c03f8aa24986640f6125ee81bb99e70e9155974f7fd253","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438","f7dd7280ee4f0420865e6423fe199aeac63d1d66203a8b631077cdc15501ef1f","ef62b4aa372f77458d84c26614b44129f929e263c81b5cd1034f5828a5530412","8610558ae88a43ad794c4ab1da4f0e8e174e0357c88f6cbb21f523e67414e9a9","0b0feb9837c561c0a67b61024328045bb16bac6e4b10f7b0b217d3b8b43b0b12","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73","67c51fa68aadbb50e4ffc650b704620e0393bddb3d3eac3a6195bf1956562fe4","2ce7c78f9301adfecd95d117c2d2d3aa745ae68ca4a47e3336640ff3fca7f5c0","62b2f9497fc9bda8af80d3b9042ea3ace39e03f14c465ff34280afcdf3098e0a",{"version":"5516be04bd534a50780d60d2b7ee3e0c34dae21382f211d284355172cea3532a","affectsGlobalScope":true},"e182d9a9daa2f7536c4b41c9e3ece19cadcd0e698bbcdcf5b6e290b12b6bdf90","dd058f85195242fea0d234e8f1d96b552d44bbba9e3513643c78a8c2a408317c",{"version":"ac1b1cef1e0ec1f1811bb2079975db46651dcf2e31b6245242119f61c800baf6","signature":"10967bf9e5d00f3de85590578207f1d5b2abccd0b6843e0f49b39558e21784f6"},{"version":"c0f450ff491e138ede0e426b6cac409dd2e3d9a4c48eee13adcd3c2027c84841","signature":"9d1c999aa35399abc231cd33a23d285958532b4477e516428674dc2b6c636bb9"},{"version":"c93350324664aeec0217741e56c4950435f58ebba7c4589b99deec894b33d67b","signature":"22fea8c28752d1a841afd4b34f886b6ddd7701982943de4a92694a371824b818"},"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6","93c79ea837a3683fe69f98a9ddec01954479eacd5e98217e7fe8c30569a2181c","3b04afa0a1663f0d190faba155d94e0b63e0060624834e6fbd99fdcf6211732c","08d7c8da9234ced6b8a40f30a6d6d834c7906c03dcd9a195be3c0af534693bab","a3455478b38af4f7dc07be256529c04f8ac44d2cb538a129b942d04385d38211","73cdeca1dccc3d7aea7b5435f5fc28616eb3429a2de8d8187fb58d0f1233cc03","9eb875eed077cb6976a15c56343833dbfc3033b44ccfe2cc5381a49075f366de","65cd89f643a55d3fc85f5120c3164a784e7cb506a940db4a96b2cfdffc48b664","93d2c022a4c49a9e690811d12ad90e13700ffa1af721e78cba5e28f197fab7d9","cae4718e85adc64a9cff1bb65207cdde5aceab88f91aef950890f49d1ac7546f","080331132004076e6084278ff1779ecd35462813536604718e38f217f87224e4","2f1de4e3a1e029e8980932077250d9f7a09430a6e09c1434286a0b2ae830725a","93079b8d71a2ca0467ee017578fad523ae3c91bbbf6e7d208266397ed95bb72d","ed52cd5e3d1c684a6af33f716ea95c0bf9df83fb666e3752c65af76e7ba72a88","f7845d9d67a488e0ace78a707619d5f0f73638507100ddfe7dd43bb9db474b01","6badfec8d5a56e856447012a7d6500c9a7aa7556031eeb3b02a5d169c116be2a","a2f7e45e3a741ead80526727256036db1ce99ad81ce9ed8257ac9ef1dff1f4bf","06c571473f15cb4efa04381e8ef885c89889206ecd0f23b3873e84b54325b3f8","d41db3972d8af8e26aefb3c5917294b0388c3aea85a9816b935a2f011ae82bf6","0fea2b98e477ce62dccb2b7e0fcbd4c5232d07a4ecbe9240b316a7769bff6922","1b7f6096ec365fcb1e31fcc81f3e4080aab87b9b4d224e0b45e670e37539516c","e50291879541d083c6fd370903958e154a55532587f57e1f181c937507bffa4d","f16387b8135581f44a284af3c377f37fb98e950a484da0e66af8c4fe68ccf562","588c0f9a388313b017c362f7d3fc79f54bff38d938336d261104faaa7fa22dd3","20f55a9e8eb1636d3337bf453f76470fe47627e167106e25cfda2eec49a999dd","b5c18096321db57d53c0a4195ddda193cda446f03ca8998d2c079b2116eb7a89","be53d81b22f837b57a79221eca978dce11607d78e28af03f3ccee9a1d16b2a6c","ecd85f997720a697821204abee88fbfd779e0d15f071c97b44a1a04e6b4f7d72","336fbad16ee44d15f3c2b1994d52b543575bf18bf28e3d78b2c0fd93d9d9fe6c","67dd8b4d4375e01ca3e6a29a01cb9d8eed0f841092419ff2ce440130b3eaf300","4d0b34a22bd3ac2c4d8fff2fd7944ead8b8ba18d9e8e81911c2e6a9fc67e029d","ad9f67d6847cd3e199c6ce6541747621800dd079fe9eb340626f181c3259c133","9f19539810ba84f940eff6a3e2a6a02ce8cdaee91bfe856d032b4b4d7fe1da6f","379ca46d581bf11029e4e72b9f963f325a25014cc63ac4ab19f557e6174be823","d93e9a21e0e2e679c6bcacc85034c958d11d7e5c543fb40ba9163e1409a745ab","f2b5bea18c828945b072868587f0e55ccaa127c5aab911f2e0fc43e51bfb26c3","13e79859b25030d48d869fa6c1c11b1389c58296a5ff2545348ca3243dee5bd4","a09a4c2dc4f0afc35826cf14d05138ca8f69f63853182be7dd2f19f3b1f942c9","81d63f3492cb2b106eac96420f7490b9c9a2e16a00d6418fad5dfb8772f600ca","1974015251ea5d4b91c453920f36f824e2018a7324fe5e2ec125b25161041af8","3f48479925d067ff7eaa211aadac9f3474a2d89b5a8e6f8f7e88911d60772a50","c1c74441022b28c950b430cf7e277261d96409aee35c9a3dc21a46be20cb053e","f8138b5766cc593f8e60e627f52bbae6d0c2e1bc162d887eac08c74f94ca9947","b0f776fc18720d0a057835beeecffb1abd53e9efe7a021272a8d1f20eba9cf61","b9a7fb74606693cba39e991152f616b2a5d34ff0eda64d2c96ca16c0e50de472","3eb1c63cbb04059d52d5002d63483e6464a5c15ff6930d722c8781cb469160f7","0efac07fb1fd7099de077676edfd3ad0cc96eb07b229df590c3a625a57708e3c","ddaf1304ebdc6851de76b8a21268ccfe36181e14280fd68abef45415b9442631","5cff8532af707151209b2aae1fe41a71dfe434723ed15fedbb98e3bc1ebce3f1","6fbb843e6e685d3b0f90957c19773b187b1667374950cc2d70548edb2844d18c","90d4e62939a29eb3c8626053ae38b32c3fc4af2e8bd38c4273e07e5f8b9c420e","65c2ba55f8b0e802a93379e8421b89e20ebc3fa1f75e859a7c859af1630b5e96","eee7c918cd101d65583e1aabd1470c2bca2d8b138a516465986a992e78d8ffda","4f2498bc14535b90fd6a4d06e0494b3b38c260e821b2b81192a7d94c63b68c65","8cf3541b64f7e9447b66e4aeebb108943ad01e89882c0e5dc58b96a5b33e6f85","2454011624d88b290a32aeac7dc0167e4355282ebae2141ec2c00e3655dc9c57","40a2f2042adea1c4352aef573b414bc7e342146df56e7daa28c866d6e6f29b5c","a7c7d0ffadfcdb68d7349d176767d0a4b4cafb802decd236d8b4af8d8adfce19","b454e02ba2e0f8c349c5b815977621487e824d92bc308ab8ba10a7abef08d590","907ab625eaef5d4d744e5425f3d72436a41413a94614e9427abca11ffc9d7fae","91eb32f6e30888018d1e8ccf54a11229e4b242c34d62d2985f43b834a32c25ed","0122bddcde390cac1f5cccd1c20914b78a8da9bb014c197052fbb7fda7f63054","fd4d3238c3276ef9e2e1f62df97c022afb342996620e1e6d2cd0e7aa8a92144d","c31ae47df702ab01b82ffea87e96475160c65cbd07df936808f5c6a5573a43b5","cd971a39229db912c36a557a20a4e076786e8a2621c09e6e1c1a3e90876aad04","1994d1a9c3709278ed631c2984de602d2db9a4efe626ffe62c3a13aa5f0c56d8","a6dc5be03b0c70681b4c651b68a7420a84228aed18fd0ba902857d35166373b1","2ab804fbbb326b4bf3de03c0b7049db89c32ef18b9b8513a418c6eb807c123e9","cb8d543cead317e789e82c1a6cb1e81a866bface52544d80c2b0ad06c8a7cc69","02834b7e577f585d68f491e1f23177136117d2db272fd304b93ffdce3242b2b2","b3dfeba1d10a5c25ece61ea9ced2d72bcf3a58374601b77627c5fb2e010d3d7d","83e4f6fa596ccffd32262ea5f3327b9e18305891e4edee551194e2c1d71e41a6","4f2b3a975654ee3c9fd6c9f90ae1bb3806d6f96e4cc255c9c3e486f877110ebd","817f92c5ea3e1dce32cdda9646492c000206159a432dfe2ba11a9b419daa321f",{"version":"860b0cf3bad4d129543fee0c15135d4143dc32bc7ee012c3de4bc0af97c1ba8a","signature":"46e440615099578f7cc179bae689a8c3a3638e256103084b0be2285456b347da"},{"version":"833fc5309d81da25dd04f0de18bcf45433ce5ffc7b0300dffbe495f8b7d9d0de","signature":"e5094f0724f1ef9e36171dfb87b74dbc5499600a630332e833bdaea9aa29b26e"},{"version":"e18252f9560a0d9d32e2fac04bffdd19c2a56c7e1876287a61d2618eb8086788","signature":"3ad0b4ec55f9a21b489b399316f7a100b6ca5a9de887409a9e0cf9ca109685b9"},{"version":"bb6f9925a5503e092b093dc6fa971fd8066e50a0ef501badb19bb4f12396559a","signature":"f77af5568ad5b47ececdab55cdf68d987ce05d3fbe27aa0ce492654f2c678c96"},{"version":"cb306f83acad886c1b91ac28552f0de394e1f2c7876543bb5307b4954cbec0be","signature":"b88cd1b38158f81d8868ef2005535c989e58fa0b4c3cf672a436ba2f1d409386"},{"version":"cee35cd7d9183d4062b383cb3c23ae1006b71b021eaab05bb982dcfc47580cd8","signature":"29532eb38b76a136ef3486393ab0ba313a0f06bed662fc1a8fcf6c8ecfaeb60c"},{"version":"119f9ffd7fe7fcbf1afc0d8adadb4add2542d5634dc856681b4a9ec5a11e3838","signature":"f82164e3407ff5695776ffbfdd510e3e6a50eb6f9c3ff00701b8f8ebae9b5d64"},{"version":"af026a376c05e41f0c51c2355584810fc9363027824c0b778dbdf2dd1e9662e1","signature":"be8c0580f75d85095f6039b46ddd0a6c1d9da241ca0f21b845833f4386da2002"},{"version":"fffd59522b750564183b1684fa4d8d33c041ec05b5c166cda05f6020b4967914","signature":"d63b104faedd00e812958ab000e3568f287353a90adeea83c12f84f79b5a4ca3"},{"version":"9d1dd6c148c789ea958183eac7759861a5affc8435e5006e1bda5fd0cc9a601e","signature":"e348e63d9c4e949134224b80a3a8a8ef0f563d519d48f6bad7d7285a8cb389fd"},{"version":"dc4a7f7b22717992a6e73539d5b30a718c132064ec8171ebc0da468b53c78962","signature":"0d44d6ac4c7c7f2b82ca1501f44668f1d4410b1c6428e1247bf63387e6977417"},{"version":"478d22b2caaf566c6a61ecc7203690c0e6a25cb12f428f4b7ac5a368b4864efd","signature":"b37af73d679416f5eed1bddbf113e87f25483851299c62816f7df759d88078a9"},{"version":"33274812f1b395855cc6ba771e868d21d3cad474b9d9afd4b7ebcae0b46a6e41","signature":"dc6d51709fcc2ce56abcb6cb6fd4bfa43a2ade0313f388466fc7f99d478652a2"},{"version":"45958b5a890e42df9c9ef98dfffc3b58c9a2880b7b077b9ec386cabac9b38770","signature":"aaba72390eaa2abf7b5e24c5b40f5951d5d4e92fb96038668dae2648cd7c7f44"},{"version":"1033759067c605ed6e98f5ee7f2374976d0e6b6edb427f9ed47922ccd6741cd2","signature":"0fdd786a85d8605d82a9c729ae7a0f29a2caf96f8157515e45136e1690abeffe"},{"version":"5763b2b25ceb292e329a67dcbc0255c0b40be881ac070145b647189f4ba99b86","signature":"f27a3a093b5c512649d2a457b09bacac9f1a4d0d8cdb03c4992fa2540bf505e0"},{"version":"3a2561bbe8f5c85f1ac6433ce9ecc12a2ed5ed34d1bdb147e1f61e61fce33c58","signature":"99a52732334ddde92f68c9e06d61b92c94f2cab8f903165bf0ab073b1dc02ee2"},{"version":"ba471dcbb4a8298e1dc142499c0499463c789fa4469e75985a3044192a312073","signature":"709f87e006ef9abb3dd43566ba626d0e7520ce22ee56afe7a574fcee5cde941a"},{"version":"e7d1972798e7a94fc2788e2503bbd52c796c8ddab696cf4fd30cdc00314c4d48","signature":"87d31e27f8045c601f929a6905db0f74ec15338ac88ed4e8ad68d8492682e999"},{"version":"e17f07b028b14f80d6c625470844ec2f52f37efcd58f80dffc607fb8653cd4d0","signature":"7c9803e8b478726fc90dac32492eb1904cf2ddf6cacc9393a823a1f56c8de2b6"},{"version":"96975aa2458ec8c1807811e390322392541d4190cdfd79016e4016ef3e53fab4","signature":"23be6ce9035ed4716167413a595a0bc7b162fa6b4553b74a79767676254651a7"},{"version":"94ed2d1240b347c3f620642cde781b2048a7d17d5cf957e2379088a39d35418f","signature":"302280c749ac14a35a70667829db1fb7118cc298f4a9c98dbde1a69899158aeb"},{"version":"8fbc05155c51977f35ff27045c8093ff6cd01342c3ec76ed4712f8b781165511","signature":"a7d5e0defc15dd34a99aa961cbb162ff8bc1ed1d755bfefa62de7795e1c62641"},{"version":"f05993fb6465a6c05c82637c7064096c60365c121d62c6838ed91f068f149f08","signature":"8db6c42877b145cdba2375de739954a965fb0bff78ee4bec4b5d34d91b59df6a"},{"version":"b9181bea4a29329594d5c5a53bec78507fcc67ad0c5afa2a580dc51d6f19a4f7","signature":"4f7d54c603949113f45505330caae6f41e8dbb59841d4ae20b42307dc4579835"},"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":false,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitAny":false,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":99},"fileIdsList":[[43,91],[43,44,91,125,126,127,128,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220],[43,44,91,202,221],[43,44,91,128,221],[43,44,91,221],[43,44,91,128,212,221],[43,91,125,222],[43,44,91,221,222,223,224,225],[43,91,125,226],[43,91,226],[91,98,100],[91,102,104,106],[91,99],[91],[91,100,101,107,108,109],[47,91,124],[47,91,123,125],[47,91,122],[91,103],[48,91],[51,91],[52,57,91],[53,63,64,71,80,90,91],[53,54,63,71,91],[55,91],[56,57,64,72,91],[57,80,87,91],[58,60,63,71,91],[59,91],[60,61,91],[62,63,91],[63,91],[63,64,65,80,90,91],[63,64,65,80,91],[66,71,80,90,91],[63,64,66,67,71,80,87,90,91],[66,68,80,87,90,91],[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],[63,69,91],[70,90,91],[60,63,71,80,91],[72,91],[73,91],[51,74,91],[75,89,91,95],[76,91],[77,91],[63,78,91],[78,79,91,93],[63,80,81,82,91],[80,82,91],[80,81,91],[83,91],[84,91],[63,85,86,91],[85,86,91],[57,71,80,87,91],[88,91],[71,89,91],[52,66,77,90,91],[57,91],[80,91,92],[91,93],[91,94],[52,57,63,65,74,80,90,91,93,95],[80,91,96],[91,105],[63,80,91,98],[91,151],[91,150],[91,153,154],[91,153],[91,162],[91,159,168],[91,161,168],[91,163,168],[91,168],[91,165,168],[91,159,160,161,162,163,164,165,166],[91,164],[91,160],[91,153,154,167],[91,181,182],[91,172,173,174,175,179,180],[91,181],[91,171],[91,171,172,173,174,175,176,177,178,179],[91,195],[91,150,151,152,154,155,156,157,158,168,169,170,183,184,188,189,190,191,192,193,194,195,196,197,198,199,200],[91,192],[91,185],[91,186],[91,185,187],[91,129,139,144,145,146,147,148,149,201],[91,131],[91,130],[91,130,131],[91,130,131,132,133,134,135,136,137,138],[91,139,144,145,146,147,148,149],[91,140],[91,141,142,143],[91,121],[91,110,119,120],[91,112,115],[91,112,115,116,117],[91,114],[91,102,118],[47,91],[45,46,53,63,64,80,91],[91,113],[47,125,126,127,203,204,205,206,207,208,209,210,211,213,214,215,216,217,218,219,220],[221],[47,221],[202,221],[125],[44,221,222,223,224,225],[125,226],[226]],"referencedMap":[[222,1],[221,2],[225,1],[203,3],[210,4],[126,5],[220,3],[212,5],[44,1],[204,5],[207,4],[219,3],[208,5],[217,5],[218,5],[209,5],[216,3],[214,5],[215,5],[213,6],[211,5],[127,5],[223,7],[205,4],[206,4],[226,8],[224,9],[227,10],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[228,14],[105,14],[106,67],[229,68],[152,69],[151,70],[150,14],[169,71],[170,71],[154,72],[158,71],[155,71],[161,73],[160,74],[162,75],[164,76],[165,77],[166,78],[167,79],[163,80],[159,81],[168,82],[156,71],[157,71],[183,83],[181,84],[182,85],[178,71],[175,86],[177,86],[171,14],[174,86],[172,86],[180,87],[176,86],[173,86],[179,86],[196,88],[195,14],[201,89],[199,14],[193,90],[194,14],[192,14],[191,14],[189,72],[190,14],[200,14],[198,72],[184,72],[197,14],[186,91],[187,92],[185,14],[188,93],[129,14],[202,94],[147,14],[138,95],[132,95],[131,96],[130,14],[136,95],[133,95],[137,97],[139,98],[134,95],[135,95],[153,99],[149,14],[148,14],[140,14],[143,100],[142,100],[144,101],[141,100],[146,14],[145,14],[122,102],[120,102],[121,103],[112,14],[116,104],[118,105],[117,104],[115,106],[119,107],[111,14],[45,14],[46,108],[47,109],[114,110],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14],[128,1]],"exportedModulesMap":[[221,111],[203,112],[210,112],[126,112],[220,112],[212,112],[204,112],[207,113],[219,112],[208,112],[217,112],[218,112],[209,112],[216,114],[214,113],[215,113],[213,113],[211,112],[127,113],[223,115],[205,112],[206,112],[226,116],[224,117],[227,118],[101,11],[107,12],[100,13],[108,14],[109,14],[110,15],[102,14],[125,16],[124,17],[123,18],[99,14],[103,13],[104,19],[48,20],[49,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,30],[62,31],[63,32],[64,33],[65,34],[50,14],[97,14],[66,35],[67,36],[68,37],[98,38],[69,39],[70,40],[71,41],[72,42],[73,43],[74,44],[75,45],[76,46],[77,47],[78,48],[79,49],[80,50],[82,51],[81,52],[83,53],[84,54],[85,55],[86,56],[87,57],[88,58],[89,59],[90,60],[91,61],[92,62],[93,63],[94,64],[95,65],[96,66],[228,14],[105,14],[106,67],[229,68],[152,69],[151,70],[150,14],[169,71],[170,71],[154,72],[158,71],[155,71],[161,73],[160,74],[162,75],[164,76],[165,77],[166,78],[167,79],[163,80],[159,81],[168,82],[156,71],[157,71],[183,83],[181,84],[182,85],[178,71],[175,86],[177,86],[171,14],[174,86],[172,86],[180,87],[176,86],[173,86],[179,86],[196,88],[195,14],[201,89],[199,14],[193,90],[194,14],[192,14],[191,14],[189,72],[190,14],[200,14],[198,72],[184,72],[197,14],[186,91],[187,92],[185,14],[188,93],[129,14],[202,94],[147,14],[138,95],[132,95],[131,96],[130,14],[136,95],[133,95],[137,97],[139,98],[134,95],[135,95],[153,99],[149,14],[148,14],[140,14],[143,100],[142,100],[144,101],[141,100],[146,14],[145,14],[122,102],[120,102],[121,103],[112,14],[116,104],[118,105],[117,104],[115,106],[119,107],[111,14],[45,14],[46,108],[47,109],[114,110],[113,14],[43,14],[8,14],[9,14],[11,14],[10,14],[2,14],[12,14],[13,14],[14,14],[15,14],[16,14],[17,14],[18,14],[19,14],[3,14],[4,14],[23,14],[20,14],[21,14],[22,14],[24,14],[25,14],[26,14],[5,14],[27,14],[28,14],[29,14],[30,14],[6,14],[31,14],[32,14],[33,14],[34,14],[7,14],[35,14],[40,14],[41,14],[36,14],[37,14],[38,14],[39,14],[1,14],[42,14]],"semanticDiagnosticsPerFile":[222,221,225,203,210,126,220,212,44,204,207,219,208,217,218,209,216,214,215,213,211,127,223,205,206,226,224,227,101,107,100,108,109,110,102,125,124,123,99,103,104,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,50,97,66,67,68,98,69,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,86,87,88,89,90,91,92,93,94,95,96,228,105,106,229,152,151,150,169,170,154,158,155,161,160,162,164,165,166,167,163,159,168,156,157,183,181,182,178,175,177,171,174,172,180,176,173,179,196,195,201,199,193,194,192,191,189,190,200,198,184,197,186,187,185,188,129,202,147,138,132,131,130,136,133,137,139,134,135,153,149,148,140,143,142,144,141,146,145,122,120,121,112,116,118,117,115,119,111,45,46,47,114,113,43,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,1,42,128],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umbraco/playwright-testhelpers",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Test helpers for making playwright tests for Umbraco solutions",
5
5
  "main": "dist/lib/index.js",
6
6
  "files": ["dist/**/*"],
@@ -31,7 +31,7 @@
31
31
  "tslib": "^2.4.0"
32
32
  },
33
33
  "dependencies": {
34
- "@umbraco/playwright-models": "^4.0.7",
34
+ "@umbraco/json-models-builders": "^1.0.0",
35
35
  "camelize": "^1.0.0",
36
36
  "faker": "^4.1.0",
37
37
  "form-data": "^4.0.0",