@applitools/nml-client 1.3.37 → 1.3.39

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/dist/client.js CHANGED
@@ -1,91 +1,17 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.takeSnapshots = exports.takeScreenshot = void 0;
3
+ exports.makeNMLClient = void 0;
27
4
  const logger_1 = require("@applitools/logger");
28
- const req_broker_1 = require("./req-broker");
29
- const utils = __importStar(require("@applitools/utils"));
30
- async function takeScreenshot({ url, settings, logger, }) {
5
+ const requests_1 = require("./server/requests");
6
+ const take_snapshots_1 = require("./take-snapshots");
7
+ const take_screenshot_1 = require("./take-screenshot");
8
+ function makeNMLClient({ config, logger }) {
31
9
  var _a;
32
10
  logger = (_a = logger === null || logger === void 0 ? void 0 : logger.extend({ label: 'nml client' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'nml client' });
33
- const req = (0, req_broker_1.makeReqBroker)({ config: settings, logger });
34
- const payload = {
35
- name: settings.name,
36
- screenshotMode: settings.fully ? 'FULL_RESIZE' : 'VIEWPORT',
37
- scrollRootElement: settings.scrollRootElement,
38
- hideCaret: settings.hideCaret,
39
- waitBeforeCapture: settings.waitBeforeCapture,
40
- overlap: settings.overlap,
41
- selectorsToFindRegionsFor: [],
11
+ const requests = (0, requests_1.makeNMLRequests)({ config, logger });
12
+ return {
13
+ takeScreenshot: (0, take_screenshot_1.makeTakeScreenshot)({ requests, logger }),
14
+ takeSnapshots: (0, take_snapshots_1.makeTakeSnapshots)({ requests, logger }),
42
15
  };
43
- const response = await req(url, {
44
- name: 'TAKE_SCREENSHOT',
45
- body: {
46
- protocolVersion: '1.0',
47
- name: 'TAKE_SCREENSHOT',
48
- key: utils.general.guid(),
49
- payload,
50
- },
51
- logger,
52
- });
53
- const result = await response.json();
54
- return result.payload;
55
16
  }
56
- exports.takeScreenshot = takeScreenshot;
57
- async function takeSnapshots({ url, settings, logger, }) {
58
- var _a;
59
- logger = (_a = logger === null || logger === void 0 ? void 0 : logger.extend({ label: 'nml client' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'nml client' });
60
- const req = (0, req_broker_1.makeReqBroker)({ config: settings, logger });
61
- const payload = {
62
- waitBeforeCapture: settings.waitBeforeCapture,
63
- };
64
- const response = await req(url, {
65
- name: 'TAKE_SNAPSHOT',
66
- body: {
67
- protocolVersion: '1.0',
68
- name: 'TAKE_SNAPSHOT',
69
- key: utils.general.guid(),
70
- payload,
71
- },
72
- });
73
- const snapshot = await response.json().then(({ payload }) => {
74
- const platformName = payload.result.resourceMap.metadata.platformName;
75
- const snapshot = { platformName, vhsHash: payload.result.resourceMap.vhs };
76
- if (platformName === 'ios') {
77
- ;
78
- snapshot.vhsCompatibilityParams = {
79
- UIKitLinkTimeVersionNumber: payload.result.metadata.UIKitLinkTimeVersionNumber,
80
- UIKitRunTimeVersionNumber: payload.result.metadata.UIKitRunTimeVersionNumber,
81
- };
82
- }
83
- else if (platformName === 'android') {
84
- ;
85
- snapshot.vhsType = 'android-x';
86
- }
87
- return snapshot;
88
- });
89
- return Array(settings.renderers.length).fill(snapshot);
90
- }
91
- exports.takeSnapshots = takeSnapshots;
17
+ exports.makeNMLClient = makeNMLClient;
package/dist/index.js CHANGED
@@ -15,3 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./client"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ __exportStar(require("./server/requests"), exports);
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.makeNMLRequests = void 0;
27
+ const req_broker_1 = require("./req-broker");
28
+ const utils = __importStar(require("@applitools/utils"));
29
+ function makeNMLRequests({ config, logger: defaultLogger, }) {
30
+ let brokerUrl = config.brokerUrl;
31
+ const req = (0, req_broker_1.makeReqBroker)({ config, logger: defaultLogger });
32
+ return { takeScreenshot, takeSnapshots };
33
+ async function takeScreenshot({ settings, logger = defaultLogger, }) {
34
+ const response = await req(brokerUrl, {
35
+ name: 'TAKE_SCREENSHOT',
36
+ body: {
37
+ protocolVersion: '1.0',
38
+ name: 'TAKE_SCREENSHOT',
39
+ key: utils.general.guid(),
40
+ payload: {
41
+ name: settings.name,
42
+ screenshotMode: settings.fully ? 'FULL_RESIZE' : 'VIEWPORT',
43
+ scrollRootElement: settings.scrollRootElement,
44
+ hideCaret: settings.hideCaret,
45
+ waitBeforeCapture: settings.waitBeforeCapture,
46
+ overlap: settings.overlap,
47
+ selectorsToFindRegionsFor: [],
48
+ },
49
+ },
50
+ logger,
51
+ });
52
+ const result = await response.json();
53
+ brokerUrl = result.nextPath;
54
+ return result.payload;
55
+ }
56
+ async function takeSnapshots({ settings, logger = defaultLogger, }) {
57
+ const response = await req(brokerUrl, {
58
+ name: 'TAKE_SNAPSHOT',
59
+ body: {
60
+ protocolVersion: '1.0',
61
+ name: 'TAKE_SNAPSHOT',
62
+ key: utils.general.guid(),
63
+ payload: {
64
+ waitBeforeCapture: settings.waitBeforeCapture,
65
+ },
66
+ },
67
+ logger,
68
+ });
69
+ const result = await response.json();
70
+ brokerUrl = result.nextPath;
71
+ const platformName = result.payload.result.resourceMap.metadata.platformName;
72
+ const snapshot = { platformName, vhsHash: result.payload.result.resourceMap.vhs };
73
+ if (platformName === 'ios') {
74
+ ;
75
+ snapshot.vhsCompatibilityParams = {
76
+ UIKitLinkTimeVersionNumber: result.payload.result.metadata.UIKitLinkTimeVersionNumber,
77
+ UIKitRunTimeVersionNumber: result.payload.result.metadata.UIKitRunTimeVersionNumber,
78
+ };
79
+ }
80
+ else if (platformName === 'android') {
81
+ ;
82
+ snapshot.vhsType = 'android-x';
83
+ }
84
+ return Array(settings.renderers.length).fill(snapshot);
85
+ }
86
+ }
87
+ exports.makeNMLRequests = makeNMLRequests;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeTakeScreenshot = void 0;
4
+ function makeTakeScreenshot({ requests, logger: defaultLogger }) {
5
+ return async function takeScreenshot({ settings, logger = defaultLogger, }) {
6
+ return requests.takeScreenshot({ settings, logger });
7
+ };
8
+ }
9
+ exports.makeTakeScreenshot = makeTakeScreenshot;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeTakeSnapshots = void 0;
4
+ function makeTakeSnapshots({ requests, logger: defaultLogger }) {
5
+ return async function takeSnapshots({ settings, logger = defaultLogger, }) {
6
+ return requests.takeSnapshots({ settings, logger });
7
+ };
8
+ }
9
+ exports.makeTakeSnapshots = makeTakeSnapshots;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/nml-client",
3
- "version": "1.3.37",
3
+ "version": "1.3.39",
4
4
  "description": "Client to integrate the SDKs to the Native Mobile Library (NML)",
5
5
  "homepage": "https://applitools.com",
6
6
  "bugs": {
@@ -37,28 +37,25 @@
37
37
  "scripts": {
38
38
  "lint": "node ../../node_modules/.bin/eslint '**/*.ts'",
39
39
  "build": "node ../../node_modules/.bin/tsc --project ./tsconfig.build.json",
40
- "test": "mocha --no-timeouts -r ts-node/register 'test/**/*.spec.ts'",
40
+ "test": "node ../../node_modules/.bin/mocha './test/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15}",
41
41
  "test:sanity": "yarn test",
42
- "test:watch": "yarn test --watch --extension ts",
43
42
  "deps": "bongo deps",
44
43
  "preversion": "bongo preversion",
45
44
  "version": "bongo version",
46
45
  "postversion": "bongo postversion --skip-release-notification"
47
46
  },
48
47
  "dependencies": {
49
- "@applitools/logger": "1.1.46",
50
- "@applitools/req": "1.1.30",
51
- "@applitools/utils": "1.3.30"
48
+ "@applitools/logger": "1.1.47",
49
+ "@applitools/req": "1.1.31",
50
+ "@applitools/utils": "1.3.31"
52
51
  },
53
52
  "devDependencies": {
54
53
  "@applitools/bongo": "^2.2.5",
55
- "@applitools/spec-driver-webdriverio": "^1.4.29",
56
- "@applitools/test-server": "^1.1.26",
57
- "@applitools/test-utils": "^1.5.12",
58
- "@types/mocha": "^9.1.1",
59
- "@types/node": "12",
54
+ "@applitools/spec-driver-webdriverio": "^1.4.31",
55
+ "@applitools/test-server": "^1.1.27",
56
+ "@applitools/test-utils": "^1.5.13",
57
+ "@types/node": "^12.20.55",
60
58
  "chromedriver": "^109.0.0",
61
- "mocha": "^10.0.0",
62
59
  "nock": "^13.2.9",
63
60
  "webdriverio": "^8.3.2"
64
61
  },
package/types/client.d.ts CHANGED
@@ -1,13 +1,7 @@
1
- import type { ScreenshotSettings, Screenshot, SnapshotSettings, AndroidSnapshot, IOSSnapshot } from './types';
1
+ import type { NMLClient } from './types';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type ReqBrokerConfig } from './req-broker';
4
- export declare function takeScreenshot({ url, settings, logger, }: {
5
- url: string;
6
- settings: ReqBrokerConfig & ScreenshotSettings;
3
+ import { type NMLRequestsConfig } from './server/requests';
4
+ export declare function makeNMLClient({ config, logger }: {
5
+ config: NMLRequestsConfig;
7
6
  logger?: Logger;
8
- }): Promise<Screenshot>;
9
- export declare function takeSnapshots<TSnapshot extends IOSSnapshot | AndroidSnapshot = IOSSnapshot | AndroidSnapshot>({ url, settings, logger, }: {
10
- url: string;
11
- settings: ReqBrokerConfig & SnapshotSettings;
12
- logger?: Logger;
13
- }): Promise<TSnapshot[]>;
7
+ }): NMLClient;
package/types/index.d.ts CHANGED
@@ -1 +1,3 @@
1
1
  export * from './client';
2
+ export * from './types';
3
+ export * from './server/requests';
@@ -0,0 +1,20 @@
1
+ import type { ScreenshotSettings, Screenshot, SnapshotSettings, IOSSnapshot, AndroidSnapshot } from '../types';
2
+ import { type Logger } from '@applitools/logger';
3
+ import { type ReqBrokerConfig } from './req-broker';
4
+ export interface NMLRequests {
5
+ takeScreenshot(options: {
6
+ settings: ScreenshotSettings;
7
+ logger?: Logger;
8
+ }): Promise<Screenshot>;
9
+ takeSnapshots<TSnapshot extends IOSSnapshot | AndroidSnapshot = IOSSnapshot | AndroidSnapshot>(options: {
10
+ settings: SnapshotSettings;
11
+ logger?: Logger;
12
+ }): Promise<TSnapshot[]>;
13
+ }
14
+ export type NMLRequestsConfig = ReqBrokerConfig & {
15
+ brokerUrl: string;
16
+ };
17
+ export declare function makeNMLRequests({ config, logger: defaultLogger, }: {
18
+ config: NMLRequestsConfig;
19
+ logger: Logger;
20
+ }): NMLRequests;
@@ -0,0 +1,12 @@
1
+ import type { ScreenshotSettings, Screenshot } from './types';
2
+ import { type Logger } from '@applitools/logger';
3
+ import { type NMLRequests } from './server/requests';
4
+ type Options = {
5
+ requests: NMLRequests;
6
+ logger: Logger;
7
+ };
8
+ export declare function makeTakeScreenshot({ requests, logger: defaultLogger }: Options): ({ settings, logger, }: {
9
+ settings: ScreenshotSettings;
10
+ logger?: Logger | undefined;
11
+ }) => Promise<Screenshot>;
12
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { SnapshotSettings, AndroidSnapshot, IOSSnapshot } from './types';
2
+ import { type Logger } from '@applitools/logger';
3
+ import { type NMLRequests } from './server/requests';
4
+ type Options = {
5
+ requests: NMLRequests;
6
+ logger: Logger;
7
+ };
8
+ export declare function makeTakeSnapshots({ requests, logger: defaultLogger }: Options): <TSnapshot extends AndroidSnapshot | IOSSnapshot = AndroidSnapshot | IOSSnapshot>({ settings, logger, }: {
9
+ settings: SnapshotSettings;
10
+ logger?: Logger | undefined;
11
+ }) => Promise<TSnapshot[]>;
12
+ export {};
package/types/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import type { Size, Location, Region } from '@applitools/utils';
3
+ import { type Logger } from '@applitools/logger';
3
4
  export type Selector = string | {
4
5
  selector: string;
5
6
  type?: string;
@@ -65,3 +66,13 @@ export type IOSSnapshot = {
65
66
  contentType: string;
66
67
  };
67
68
  };
69
+ export interface NMLClient {
70
+ takeScreenshot(options: {
71
+ settings: ScreenshotSettings;
72
+ logger?: Logger;
73
+ }): Promise<Screenshot>;
74
+ takeSnapshots<TSnapshot extends IOSSnapshot | AndroidSnapshot = IOSSnapshot | AndroidSnapshot>(options: {
75
+ settings: SnapshotSettings;
76
+ logger?: Logger;
77
+ }): Promise<TSnapshot[]>;
78
+ }
File without changes