@serenity-js/core 3.23.2 → 3.24.1
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/CHANGELOG.md +32 -0
- package/lib/errors/ErrorFactory.js +4 -4
- package/lib/errors/ErrorFactory.js.map +1 -1
- package/lib/errors/RaiseErrors.d.ts +2 -2
- package/lib/errors/RaiseErrors.js +2 -2
- package/lib/io/index.d.ts +0 -1
- package/lib/io/index.d.ts.map +1 -1
- package/lib/io/index.js +0 -1
- package/lib/io/index.js.map +1 -1
- package/lib/io/inspectedObject.js +1 -1
- package/lib/io/inspectedObject.js.map +1 -1
- package/lib/io/reflection/ValueInspector.d.ts +56 -0
- package/lib/io/reflection/ValueInspector.d.ts.map +1 -0
- package/lib/io/reflection/ValueInspector.js +149 -0
- package/lib/io/reflection/ValueInspector.js.map +1 -0
- package/lib/io/reflection/index.d.ts +1 -2
- package/lib/io/reflection/index.d.ts.map +1 -1
- package/lib/io/reflection/index.js +1 -2
- package/lib/io/reflection/index.js.map +1 -1
- package/lib/io/stringified.js +7 -90
- package/lib/io/stringified.js.map +1 -1
- package/lib/screenplay/Activity.d.ts +5 -12
- package/lib/screenplay/Activity.d.ts.map +1 -1
- package/lib/screenplay/Activity.js +3 -14
- package/lib/screenplay/Activity.js.map +1 -1
- package/lib/screenplay/Actor.js +1 -1
- package/lib/screenplay/Actor.js.map +1 -1
- package/lib/screenplay/Interaction.d.ts +4 -3
- package/lib/screenplay/Interaction.d.ts.map +1 -1
- package/lib/screenplay/Interaction.js +2 -2
- package/lib/screenplay/Interaction.js.map +1 -1
- package/lib/screenplay/Question.d.ts +73 -21
- package/lib/screenplay/Question.d.ts.map +1 -1
- package/lib/screenplay/Question.js +237 -30
- package/lib/screenplay/Question.js.map +1 -1
- package/lib/screenplay/Task.d.ts +16 -15
- package/lib/screenplay/Task.d.ts.map +1 -1
- package/lib/screenplay/Task.js +14 -14
- package/lib/screenplay/Task.js.map +1 -1
- package/lib/screenplay/abilities/Ability.d.ts +8 -6
- package/lib/screenplay/abilities/Ability.d.ts.map +1 -1
- package/lib/screenplay/abilities/Ability.js +8 -6
- package/lib/screenplay/abilities/Ability.js.map +1 -1
- package/lib/screenplay/abilities/AbilityType.d.ts +3 -3
- package/lib/screenplay/abilities/AnswerQuestions.d.ts +0 -1
- package/lib/screenplay/abilities/AnswerQuestions.d.ts.map +1 -1
- package/lib/screenplay/abilities/AnswerQuestions.js +2 -4
- package/lib/screenplay/abilities/AnswerQuestions.js.map +1 -1
- package/lib/screenplay/abilities/PerformActivities.d.ts +5 -3
- package/lib/screenplay/abilities/PerformActivities.d.ts.map +1 -1
- package/lib/screenplay/abilities/PerformActivities.js +12 -10
- package/lib/screenplay/abilities/PerformActivities.js.map +1 -1
- package/lib/screenplay/artifacts/CollectsArtifacts.d.ts +2 -2
- package/lib/screenplay/notes/NotepadAdapter.d.ts.map +1 -1
- package/lib/screenplay/notes/NotepadAdapter.js +44 -4
- package/lib/screenplay/notes/NotepadAdapter.js.map +1 -1
- package/lib/screenplay/questions/Describable.d.ts +27 -0
- package/lib/screenplay/questions/Describable.d.ts.map +1 -0
- package/lib/screenplay/questions/Describable.js +40 -0
- package/lib/screenplay/questions/Describable.js.map +1 -0
- package/lib/screenplay/questions/DescriptionFormattingOptions.d.ts +14 -0
- package/lib/screenplay/questions/DescriptionFormattingOptions.d.ts.map +1 -0
- package/lib/screenplay/questions/DescriptionFormattingOptions.js +3 -0
- package/lib/screenplay/questions/DescriptionFormattingOptions.js.map +1 -0
- package/lib/screenplay/questions/Expectation.d.ts +6 -10
- package/lib/screenplay/questions/Expectation.d.ts.map +1 -1
- package/lib/screenplay/questions/Expectation.js +12 -15
- package/lib/screenplay/questions/Expectation.js.map +1 -1
- package/lib/screenplay/questions/List.d.ts +1 -3
- package/lib/screenplay/questions/List.d.ts.map +1 -1
- package/lib/screenplay/questions/List.js +6 -31
- package/lib/screenplay/questions/List.js.map +1 -1
- package/lib/screenplay/questions/Unanswered.d.ts +1 -0
- package/lib/screenplay/questions/Unanswered.d.ts.map +1 -1
- package/lib/screenplay/questions/Unanswered.js +3 -0
- package/lib/screenplay/questions/Unanswered.js.map +1 -1
- package/lib/screenplay/questions/expectations/ExpectationDetails.js +1 -1
- package/lib/screenplay/questions/expectations/ExpectationDetails.js.map +1 -1
- package/lib/screenplay/questions/index.d.ts +3 -1
- package/lib/screenplay/questions/index.d.ts.map +1 -1
- package/lib/screenplay/questions/index.js +3 -1
- package/lib/screenplay/questions/index.js.map +1 -1
- package/lib/screenplay/questions/tag-functions.d.ts +228 -0
- package/lib/screenplay/questions/tag-functions.d.ts.map +1 -0
- package/lib/screenplay/questions/tag-functions.js +115 -0
- package/lib/screenplay/questions/tag-functions.js.map +1 -0
- package/lib/screenplay/time/activities/Wait.d.ts.map +1 -1
- package/lib/screenplay/time/activities/Wait.js +4 -3
- package/lib/screenplay/time/activities/Wait.js.map +1 -1
- package/package.json +6 -6
- package/src/errors/ErrorFactory.ts +5 -5
- package/src/errors/RaiseErrors.ts +2 -2
- package/src/io/index.ts +0 -1
- package/src/io/inspectedObject.ts +2 -2
- package/src/io/reflection/ValueInspector.ts +165 -0
- package/src/io/reflection/index.ts +1 -2
- package/src/io/stringified.ts +7 -103
- package/src/screenplay/Activity.ts +6 -17
- package/src/screenplay/Actor.ts +2 -2
- package/src/screenplay/Interaction.ts +5 -4
- package/src/screenplay/Question.ts +299 -49
- package/src/screenplay/Task.ts +18 -17
- package/src/screenplay/abilities/Ability.ts +8 -6
- package/src/screenplay/abilities/AbilityType.ts +3 -3
- package/src/screenplay/abilities/AnswerQuestions.ts +2 -5
- package/src/screenplay/abilities/PerformActivities.ts +35 -18
- package/src/screenplay/artifacts/CollectsArtifacts.ts +2 -2
- package/src/screenplay/notes/NotepadAdapter.ts +57 -6
- package/src/screenplay/questions/Describable.ts +48 -0
- package/src/screenplay/questions/DescriptionFormattingOptions.ts +13 -0
- package/src/screenplay/questions/Expectation.ts +19 -19
- package/src/screenplay/questions/List.ts +7 -41
- package/src/screenplay/questions/Unanswered.ts +4 -0
- package/src/screenplay/questions/expectations/ExpectationDetails.ts +2 -2
- package/src/screenplay/questions/index.ts +3 -1
- package/src/screenplay/questions/tag-functions.ts +313 -0
- package/src/screenplay/time/activities/Wait.ts +4 -3
- package/lib/io/isPlainObject.d.ts +0 -7
- package/lib/io/isPlainObject.d.ts.map +0 -1
- package/lib/io/isPlainObject.js +0 -25
- package/lib/io/isPlainObject.js.map +0 -1
- package/lib/io/reflection/isPrimitive.d.ts +0 -8
- package/lib/io/reflection/isPrimitive.d.ts.map +0 -1
- package/lib/io/reflection/isPrimitive.js +0 -24
- package/lib/io/reflection/isPrimitive.js.map +0 -1
- package/lib/io/reflection/typeOf.d.ts +0 -7
- package/lib/io/reflection/typeOf.d.ts.map +0 -1
- package/lib/io/reflection/typeOf.js +0 -35
- package/lib/io/reflection/typeOf.js.map +0 -1
- package/lib/screenplay/questions/q.d.ts +0 -66
- package/lib/screenplay/questions/q.d.ts.map +0 -1
- package/lib/screenplay/questions/q.js +0 -77
- package/lib/screenplay/questions/q.js.map +0 -1
- package/src/io/isPlainObject.ts +0 -24
- package/src/io/reflection/isPrimitive.ts +0 -20
- package/src/io/reflection/typeOf.ts +0 -31
- package/src/screenplay/questions/q.ts +0 -82
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.24.1](https://github.com/serenity-js/serenity-js/compare/v3.24.0...v3.24.1) (2024-06-26)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @serenity-js/core
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.24.0](https://github.com/serenity-js/serenity-js/compare/v3.23.2...v3.24.0) (2024-06-18)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **core:** aggregated the various internal reflection functions under ValueInspector ([4c9ce32](https://github.com/serenity-js/serenity-js/commit/4c9ce329bd82970a9166844286571e0fab58b7b5)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* **assertions:** dynamic descriptions for assertions and expectations ([3fdc7c8](https://github.com/serenity-js/serenity-js/commit/3fdc7c83880d58f509c8b9e9e2494167a99444f0)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
25
|
+
* **core:** dynamic descriptions for Wait.for and Wait.until ([d000f46](https://github.com/serenity-js/serenity-js/commit/d000f4664b5528352a6c7abd770831da34f90f00)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
26
|
+
* **core:** initial description of a Question can now be dynamic ([7c428cc](https://github.com/serenity-js/serenity-js/commit/7c428cc4ef0668f71399028a1998d15bd18f576b)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
27
|
+
* **core:** nested properties returned by QuestionAdapters are now reported as their formatted value ([35f2e3e](https://github.com/serenity-js/serenity-js/commit/35f2e3e217e94e771c85cb49d1afa81bfc0873b3)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
28
|
+
* **core:** notes are now reported using their actual value rather than their description ([584373a](https://github.com/serenity-js/serenity-js/commit/584373ac5b3fceb54320891b93c981a4c671b93e)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
29
|
+
* **core:** support for dynamic descriptions for Questions ([aac9a8f](https://github.com/serenity-js/serenity-js/commit/aac9a8f5dbc5b6f4664373f5462aa171baecdcf8)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
30
|
+
* **core:** support for dynamic descriptions for Tasks and Interactions ([c1516f2](https://github.com/serenity-js/serenity-js/commit/c1516f2b1acb5937ad22012914ce38e15abe1276)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
31
|
+
* **core:** the - new tag template function to help you create dynamic descriptions of activities ([98288dd](https://github.com/serenity-js/serenity-js/commit/98288dd5ef2a9af570b20d373cf46198665dc473)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
32
|
+
* **core:** the - tag literal function now accepts meta-questions as parameters ([a7b58b6](https://github.com/serenity-js/serenity-js/commit/a7b58b6f145aa0a708e329497d24aef004d46bed)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
6
38
|
## [3.23.2](https://github.com/serenity-js/serenity-js/compare/v3.23.1...v3.23.2) (2024-05-24)
|
|
7
39
|
|
|
8
40
|
**Note:** Version bump only for package @serenity-js/core
|
|
@@ -91,7 +91,7 @@ class DiffValue {
|
|
|
91
91
|
desiredNameFieldLength;
|
|
92
92
|
constructor(name, value) {
|
|
93
93
|
this.value = value;
|
|
94
|
-
this.nameAndType = `${name} ${
|
|
94
|
+
this.nameAndType = `${name} ${io_1.ValueInspector.typeOf(value)}`;
|
|
95
95
|
this.desiredNameFieldLength = this.nameAndType.length;
|
|
96
96
|
this.summary = this.summaryOf(value);
|
|
97
97
|
}
|
|
@@ -103,7 +103,7 @@ class DiffValue {
|
|
|
103
103
|
return this.summary !== undefined;
|
|
104
104
|
}
|
|
105
105
|
type() {
|
|
106
|
-
return
|
|
106
|
+
return io_1.ValueInspector.typeOf(this.value);
|
|
107
107
|
}
|
|
108
108
|
isComplex() {
|
|
109
109
|
return (typeof this.value === 'object' || util_1.types.isProxy(this.value))
|
|
@@ -117,7 +117,7 @@ class DiffValue {
|
|
|
117
117
|
if (!this.value || this.value instanceof Unanswered_1.Unanswered) {
|
|
118
118
|
return false;
|
|
119
119
|
}
|
|
120
|
-
return
|
|
120
|
+
return io_1.ValueInspector.isPlainObject(this.value)
|
|
121
121
|
|| this.value['toJSON'];
|
|
122
122
|
}
|
|
123
123
|
toString() {
|
|
@@ -136,7 +136,7 @@ class DiffValue {
|
|
|
136
136
|
return value.toISOString();
|
|
137
137
|
}
|
|
138
138
|
const isDefined = value !== undefined && value !== null;
|
|
139
|
-
if (isDefined && (
|
|
139
|
+
if (isDefined && (io_1.ValueInspector.isPrimitive(value) || value instanceof RegExp)) {
|
|
140
140
|
return String(value);
|
|
141
141
|
}
|
|
142
142
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorFactory.js","sourceRoot":"","sources":["../../src/errors/ErrorFactory.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAC5C,oDAA+C;AAC/C,+BAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"ErrorFactory.js","sourceRoot":"","sources":["../../src/errors/ErrorFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,12 @@ import type { RuntimeError } from './model/RuntimeError';
|
|
|
16
16
|
* ## Raising an error
|
|
17
17
|
*
|
|
18
18
|
* ```typescript
|
|
19
|
-
* import { Interaction, LogicError, RaiseErrors } from '@serenity-js/core'
|
|
19
|
+
* import { Interaction, LogicError, RaiseErrors, the } from '@serenity-js/core'
|
|
20
20
|
* import isPathInside from 'is-path-inside'
|
|
21
21
|
* import { unlink } from 'fs/promises'
|
|
22
22
|
*
|
|
23
23
|
* const RemoveFile = (pathToFile: string) =>
|
|
24
|
-
* Interaction.where(`#actor removes a file at ${ pathToFile }`, async actor => {
|
|
24
|
+
* Interaction.where(the`#actor removes a file at ${ pathToFile }`, async actor => {
|
|
25
25
|
*
|
|
26
26
|
* if (! isPathInside(pathToFile, process.cwd())) {
|
|
27
27
|
*
|
|
@@ -16,12 +16,12 @@ const Ability_1 = require("../screenplay/abilities/Ability");
|
|
|
16
16
|
* ## Raising an error
|
|
17
17
|
*
|
|
18
18
|
* ```typescript
|
|
19
|
-
* import { Interaction, LogicError, RaiseErrors } from '@serenity-js/core'
|
|
19
|
+
* import { Interaction, LogicError, RaiseErrors, the } from '@serenity-js/core'
|
|
20
20
|
* import isPathInside from 'is-path-inside'
|
|
21
21
|
* import { unlink } from 'fs/promises'
|
|
22
22
|
*
|
|
23
23
|
* const RemoveFile = (pathToFile: string) =>
|
|
24
|
-
* Interaction.where(`#actor removes a file at ${ pathToFile }`, async actor => {
|
|
24
|
+
* Interaction.where(the`#actor removes a file at ${ pathToFile }`, async actor => {
|
|
25
25
|
*
|
|
26
26
|
* if (! isPathInside(pathToFile, process.cwd())) {
|
|
27
27
|
*
|
package/lib/io/index.d.ts
CHANGED
package/lib/io/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
package/lib/io/index.js
CHANGED
|
@@ -23,7 +23,6 @@ __exportStar(require("./FileSystemLocation"), exports);
|
|
|
23
23
|
__exportStar(require("./format"), exports);
|
|
24
24
|
__exportStar(require("./inspected"), exports);
|
|
25
25
|
__exportStar(require("./inspectedObject"), exports);
|
|
26
|
-
__exportStar(require("./isPlainObject"), exports);
|
|
27
26
|
__exportStar(require("./loader"), exports);
|
|
28
27
|
__exportStar(require("./Path"), exports);
|
|
29
28
|
__exportStar(require("./reflection"), exports);
|
package/lib/io/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,uDAAqC;AACrC,2CAAyB;AACzB,8CAA4B;AAC5B,oDAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,+CAA6B;AAC7B,+CAA6B;AAC7B,uDAAqC;AACrC,2CAAyB;AACzB,8CAA4B;AAC5B,oDAAkC;AAClC,2CAAyB;AACzB,yCAAuB;AACvB,+CAA6B;AAC7B,0DAAwC;AACxC,4CAA0B;AAC1B,4CAA0B"}
|
|
@@ -28,7 +28,7 @@ const util = __importStar(require("util")); // eslint-disable-line unicorn/impor
|
|
|
28
28
|
const reflection_1 = require("./reflection");
|
|
29
29
|
function inspectedObject(value, allowFields) {
|
|
30
30
|
return function (depth, options, inspect = util.inspect) {
|
|
31
|
-
const typeName = options.stylize(
|
|
31
|
+
const typeName = options.stylize(reflection_1.ValueInspector.typeOf(value), 'special');
|
|
32
32
|
if (depth < 0) {
|
|
33
33
|
return typeName;
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectedObject.js","sourceRoot":"","sources":["../../src/io/inspectedObject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B,CAAC,2CAA2C;AAEzE,
|
|
1
|
+
{"version":3,"file":"inspectedObject.js","sourceRoot":"","sources":["../../src/io/inspectedObject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B,CAAC,2CAA2C;AAEzE,6CAA8C;AAE9C,SAAgB,eAAe,CAAI,KAAQ,EAAE,WAA4B;IACrE,OAAO,UAAU,KAAa,EAAE,OAAoC,EAAE,UAA+B,IAAI,CAAC,OAAO;QAC7G,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,2BAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QAE1E,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,OAAO,QAAQ,CAAC;SACnB;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC;aAC3C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC;aACnD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC5E,IAAI,EAAE,CAAC;QAEZ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,GAAI,QAAS,MAAM,CAAC;SAC9B;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;YAC1C,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC;gBACrB,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;gBACnB,CAAC,CAAC,SAAS;SAClB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CACxB,KAAK,CAAC,EAAE,CAAC,GAAI,KAAM,KAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAE,EAAE;aACxD,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAI,OAAQ,GAAI,IAAK,EAAE,CAAC,CAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,GAAI,QAAS,OAAQ,KAAM,KAAK,CAAC;IAC5C,CAAC,CAAA;AACL,CAAC;AAjCD,0CAiCC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare class ValueInspector {
|
|
2
|
+
static isPromise(value: unknown): value is Promise<unknown>;
|
|
3
|
+
static isDate(value: unknown): value is Date;
|
|
4
|
+
/**
|
|
5
|
+
* Checks if the value is a named {@apilink Function}
|
|
6
|
+
*
|
|
7
|
+
* @param value
|
|
8
|
+
*/
|
|
9
|
+
static isFunction(value: unknown): value is Function;
|
|
10
|
+
/**
|
|
11
|
+
* Checks if the value has a good chance of being a plain JavaScript object
|
|
12
|
+
*
|
|
13
|
+
* @param value
|
|
14
|
+
*/
|
|
15
|
+
static isPlainObject(value: unknown): value is object;
|
|
16
|
+
/**
|
|
17
|
+
* Returns true if `value` is a [JavaScript primitive](https://developer.mozilla.org/en-US/docs/Glossary/Primitive),
|
|
18
|
+
* false otherwise.
|
|
19
|
+
*
|
|
20
|
+
* @param value
|
|
21
|
+
*/
|
|
22
|
+
static isPrimitive(value: unknown): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Checks if the value defines its own `toString` method
|
|
25
|
+
*
|
|
26
|
+
* @param value
|
|
27
|
+
*/
|
|
28
|
+
static hasItsOwnToString(value: unknown): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Describes the type of the provided value.
|
|
31
|
+
*
|
|
32
|
+
* @param value
|
|
33
|
+
*/
|
|
34
|
+
static typeOf(value: unknown): string;
|
|
35
|
+
/**
|
|
36
|
+
* Inspired by https://davidwalsh.name/detect-native-function
|
|
37
|
+
*
|
|
38
|
+
* @param value
|
|
39
|
+
*/
|
|
40
|
+
static isNative(value: unknown): value is Function;
|
|
41
|
+
/**
|
|
42
|
+
* Checks if the value defines its own `inspect` method
|
|
43
|
+
*
|
|
44
|
+
* @param value
|
|
45
|
+
*/
|
|
46
|
+
static isInspectable(value: unknown): value is {
|
|
47
|
+
inspect: () => string;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Checks if the value defines its own [`inspect` method](https://nodejs.org/api/util.html#util_util_inspect_custom)
|
|
51
|
+
*
|
|
52
|
+
* @param value
|
|
53
|
+
*/
|
|
54
|
+
static hasCustomInspectionFunction(value: unknown): value is object;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=ValueInspector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueInspector.d.ts","sourceRoot":"","sources":["../../../src/io/reflection/ValueInspector.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACvB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI;IAI5C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ;IAIpD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM;IAoBrD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAe3C;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAOjD;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAyBrC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ;IAiClD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,MAAM,CAAA;KAAE;IAIxE;;;;OAIG;IACH,MAAM,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM;CAGtE"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValueInspector = void 0;
|
|
4
|
+
const node_util_1 = require("node:util");
|
|
5
|
+
class ValueInspector {
|
|
6
|
+
static isPromise(value) {
|
|
7
|
+
return value instanceof Promise
|
|
8
|
+
|| (Object.prototype.hasOwnProperty.call(value, 'then'));
|
|
9
|
+
}
|
|
10
|
+
static isDate(value) {
|
|
11
|
+
return value instanceof Date;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Checks if the value is a named {@apilink Function}
|
|
15
|
+
*
|
|
16
|
+
* @param value
|
|
17
|
+
*/
|
|
18
|
+
static isFunction(value) {
|
|
19
|
+
return Object.prototype.toString.call(value) === '[object Function]';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Checks if the value has a good chance of being a plain JavaScript object
|
|
23
|
+
*
|
|
24
|
+
* @param value
|
|
25
|
+
*/
|
|
26
|
+
static isPlainObject(value) {
|
|
27
|
+
// Basic check for Type object that's not null
|
|
28
|
+
if (typeof value === 'object' && value !== null) {
|
|
29
|
+
// If Object.getPrototypeOf supported, use it
|
|
30
|
+
if (typeof Object.getPrototypeOf === 'function') {
|
|
31
|
+
const proto = Object.getPrototypeOf(value);
|
|
32
|
+
return proto === Object.prototype || proto === null;
|
|
33
|
+
}
|
|
34
|
+
// Otherwise, use internal class
|
|
35
|
+
// This should be reliable as if getPrototypeOf not supported, is pre-ES5
|
|
36
|
+
return Object.prototype.toString.call(value) === '[object Object]';
|
|
37
|
+
}
|
|
38
|
+
// Not an object
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns true if `value` is a [JavaScript primitive](https://developer.mozilla.org/en-US/docs/Glossary/Primitive),
|
|
43
|
+
* false otherwise.
|
|
44
|
+
*
|
|
45
|
+
* @param value
|
|
46
|
+
*/
|
|
47
|
+
static isPrimitive(value) {
|
|
48
|
+
if (value === null) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
return [
|
|
52
|
+
'string',
|
|
53
|
+
'number',
|
|
54
|
+
'bigint',
|
|
55
|
+
'boolean',
|
|
56
|
+
'undefined',
|
|
57
|
+
'symbol'
|
|
58
|
+
].includes(typeof value);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Checks if the value defines its own `toString` method
|
|
62
|
+
*
|
|
63
|
+
* @param value
|
|
64
|
+
*/
|
|
65
|
+
static hasItsOwnToString(value) {
|
|
66
|
+
return typeof value === 'object'
|
|
67
|
+
&& !!value.toString
|
|
68
|
+
&& typeof value.toString === 'function'
|
|
69
|
+
&& !ValueInspector.isNative(value.toString);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Describes the type of the provided value.
|
|
73
|
+
*
|
|
74
|
+
* @param value
|
|
75
|
+
*/
|
|
76
|
+
static typeOf(value) {
|
|
77
|
+
switch (true) {
|
|
78
|
+
case value === null:
|
|
79
|
+
return 'null';
|
|
80
|
+
case node_util_1.types.isProxy(value):
|
|
81
|
+
return `Proxy<${Reflect.getPrototypeOf(value).constructor.name}>`;
|
|
82
|
+
case typeof value !== 'object':
|
|
83
|
+
return typeof value;
|
|
84
|
+
case value instanceof Date:
|
|
85
|
+
return `Date`;
|
|
86
|
+
case Array.isArray(value):
|
|
87
|
+
return `Array`;
|
|
88
|
+
case value instanceof RegExp:
|
|
89
|
+
return `RegExp`;
|
|
90
|
+
case value instanceof Set:
|
|
91
|
+
return 'Set';
|
|
92
|
+
case value instanceof Map:
|
|
93
|
+
return 'Map';
|
|
94
|
+
case !!value.constructor && value.constructor !== Object:
|
|
95
|
+
return value.constructor.name;
|
|
96
|
+
default:
|
|
97
|
+
return 'object';
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Inspired by https://davidwalsh.name/detect-native-function
|
|
102
|
+
*
|
|
103
|
+
* @param value
|
|
104
|
+
*/
|
|
105
|
+
static isNative(value) {
|
|
106
|
+
const toString = Object.prototype.toString, // Used to resolve the internal `{@apilink Class}` of values
|
|
107
|
+
fnToString = Function.prototype.toString, // Used to resolve the decompiled source of functions
|
|
108
|
+
hostConstructor = /^\[object .+?Constructor]$/; // Used to detect host constructors (Safari > 4; really typed array specific)
|
|
109
|
+
// Compile a regexp using a common native method as a template.
|
|
110
|
+
// We chose `Object#toString` because there's a good chance it is not being mucked with.
|
|
111
|
+
const nativeFunctionTemplate = new RegExp('^' +
|
|
112
|
+
// Coerce `Object#toString` to a string
|
|
113
|
+
String(toString)
|
|
114
|
+
// Escape any special regexp characters
|
|
115
|
+
.replaceAll(/[$()*+./?[\\\]^{|}]/g, '\\$&')
|
|
116
|
+
// Replace mentions of `toString` with `.*?` to keep the template generic.
|
|
117
|
+
// Replace thing like `for ...` to support environments like Rhino which add extra info
|
|
118
|
+
// such as method arity.
|
|
119
|
+
.replaceAll(/toString|(function).*?(?=\\\()| for .+?(?=\\])/g, '$1.*?') +
|
|
120
|
+
'$');
|
|
121
|
+
const type = typeof value;
|
|
122
|
+
return type === 'function'
|
|
123
|
+
// Use `Function#toString` to bypass the value's own `toString` method
|
|
124
|
+
// and avoid being faked out.
|
|
125
|
+
? nativeFunctionTemplate.test(fnToString.call(value))
|
|
126
|
+
// Fallback to a host object check because some environments will represent
|
|
127
|
+
// things like typed arrays as DOM methods which may not conform to the
|
|
128
|
+
// normal native pattern.
|
|
129
|
+
: (value && type === 'object' && hostConstructor.test(toString.call(value))) || false;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Checks if the value defines its own `inspect` method
|
|
133
|
+
*
|
|
134
|
+
* @param value
|
|
135
|
+
*/
|
|
136
|
+
static isInspectable(value) {
|
|
137
|
+
return !!value.inspect && typeof value.inspect === 'function';
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Checks if the value defines its own [`inspect` method](https://nodejs.org/api/util.html#util_util_inspect_custom)
|
|
141
|
+
*
|
|
142
|
+
* @param value
|
|
143
|
+
*/
|
|
144
|
+
static hasCustomInspectionFunction(value) {
|
|
145
|
+
return value && value[Symbol.for('nodejs.util.inspect.custom')];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.ValueInspector = ValueInspector;
|
|
149
|
+
//# sourceMappingURL=ValueInspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueInspector.js","sourceRoot":"","sources":["../../../src/io/reflection/ValueInspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/reflection/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/reflection/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC"}
|
|
@@ -15,6 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./has"), exports);
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./typeOf"), exports);
|
|
18
|
+
__exportStar(require("./ValueInspector"), exports);
|
|
20
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/reflection/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/reflection/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,mDAAiC"}
|
package/lib/io/stringified.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.stringified = void 0;
|
|
4
4
|
const util_1 = require("util");
|
|
5
5
|
const Question_1 = require("../screenplay/Question");
|
|
6
|
-
const
|
|
6
|
+
const ValueInspector_1 = require("./reflection/ValueInspector");
|
|
7
7
|
const indentationPrefix = ' ';
|
|
8
8
|
/**
|
|
9
9
|
* Provides a human-readable description of the {@apilink Answerable<T>}.
|
|
@@ -22,27 +22,27 @@ function stringified(value, config) {
|
|
|
22
22
|
if (Array.isArray(value)) {
|
|
23
23
|
return stringifiedArray(value, { indentationLevel, inline, markQuestions });
|
|
24
24
|
}
|
|
25
|
-
if (
|
|
25
|
+
if (ValueInspector_1.ValueInspector.isPromise(value)) {
|
|
26
26
|
return markAs('Promise', markQuestions);
|
|
27
27
|
}
|
|
28
28
|
if (Question_1.Question.isAQuestion(value)) {
|
|
29
29
|
return markAs(value.toString(), markQuestions);
|
|
30
30
|
}
|
|
31
|
-
if (
|
|
31
|
+
if (ValueInspector_1.ValueInspector.isDate(value)) {
|
|
32
32
|
return value.toISOString();
|
|
33
33
|
}
|
|
34
|
-
if (hasItsOwnToString(value)) {
|
|
34
|
+
if (ValueInspector_1.ValueInspector.hasItsOwnToString(value)) {
|
|
35
35
|
return value.toString();
|
|
36
36
|
}
|
|
37
|
-
if (isInspectable(value)) {
|
|
37
|
+
if (ValueInspector_1.ValueInspector.isInspectable(value)) {
|
|
38
38
|
return value.inspect();
|
|
39
39
|
}
|
|
40
|
-
if (
|
|
40
|
+
if (ValueInspector_1.ValueInspector.isFunction(value)) {
|
|
41
41
|
return hasName(value)
|
|
42
42
|
? value.name
|
|
43
43
|
: markAs(`Function`, true);
|
|
44
44
|
}
|
|
45
|
-
if (!hasCustomInspectionFunction(value) &&
|
|
45
|
+
if (!ValueInspector_1.ValueInspector.hasCustomInspectionFunction(value) && ValueInspector_1.ValueInspector.isPlainObject(value) && isSerialisableAsJSON(value)) {
|
|
46
46
|
return stringifiedToJson(value, { indentationLevel, inline, markQuestions });
|
|
47
47
|
}
|
|
48
48
|
return (0, util_1.inspect)(value, { breakLength: Number.POSITIVE_INFINITY, compact: inline ? 3 : false, sorted: false });
|
|
@@ -92,50 +92,6 @@ function markAs(value, markValue) {
|
|
|
92
92
|
function isDefined(v) {
|
|
93
93
|
return !!v;
|
|
94
94
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Checks if the value defines its own `toString` method
|
|
97
|
-
*
|
|
98
|
-
* @param v
|
|
99
|
-
*/
|
|
100
|
-
function hasItsOwnToString(v) {
|
|
101
|
-
return typeof v === 'object'
|
|
102
|
-
&& !!v.toString
|
|
103
|
-
&& typeof v.toString === 'function'
|
|
104
|
-
&& !isNative(v.toString);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Checks if the value defines its own `inspect` method
|
|
108
|
-
*
|
|
109
|
-
* @param v
|
|
110
|
-
*/
|
|
111
|
-
function isInspectable(v) {
|
|
112
|
-
return !!v.inspect && typeof v.inspect === 'function';
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Checks if the value is a {@apilink Date}
|
|
116
|
-
*
|
|
117
|
-
* @param v
|
|
118
|
-
*/
|
|
119
|
-
function isADate(v) {
|
|
120
|
-
return v instanceof Date;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Checks if the value is a {@apilink Promise}
|
|
124
|
-
*
|
|
125
|
-
* @param v
|
|
126
|
-
*/
|
|
127
|
-
function isAPromise(v) {
|
|
128
|
-
return typeof v === 'object'
|
|
129
|
-
&& 'then' in v;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Checks if the value is a named {@apilink Function}
|
|
133
|
-
*
|
|
134
|
-
* @param v
|
|
135
|
-
*/
|
|
136
|
-
function isAFunction(v) {
|
|
137
|
-
return Object.prototype.toString.call(v) === '[object Function]';
|
|
138
|
-
}
|
|
139
95
|
/**
|
|
140
96
|
* Checks if the value is has a property called 'name' with a non-empty value.
|
|
141
97
|
*
|
|
@@ -144,14 +100,6 @@ function isAFunction(v) {
|
|
|
144
100
|
function hasName(v) {
|
|
145
101
|
return typeof v.name === 'string' && v.name !== '';
|
|
146
102
|
}
|
|
147
|
-
/**
|
|
148
|
-
* Checks if the value defines its own [`inspect` method](https://nodejs.org/api/util.html#util_util_inspect_custom)
|
|
149
|
-
*
|
|
150
|
-
* @param v
|
|
151
|
-
*/
|
|
152
|
-
function hasCustomInspectionFunction(v) {
|
|
153
|
-
return v && v[Symbol.for('nodejs.util.inspect.custom')];
|
|
154
|
-
}
|
|
155
103
|
/**
|
|
156
104
|
* Checks if the value is a JSON object that can be stringified
|
|
157
105
|
*
|
|
@@ -166,35 +114,4 @@ function isSerialisableAsJSON(v) {
|
|
|
166
114
|
return false;
|
|
167
115
|
}
|
|
168
116
|
}
|
|
169
|
-
/**
|
|
170
|
-
* Inspired by https://davidwalsh.name/detect-native-function
|
|
171
|
-
*
|
|
172
|
-
* @param v
|
|
173
|
-
*/
|
|
174
|
-
function isNative(v) {
|
|
175
|
-
const toString = Object.prototype.toString, // Used to resolve the internal `{@apilink Class}` of values
|
|
176
|
-
fnToString = Function.prototype.toString, // Used to resolve the decompiled source of functions
|
|
177
|
-
hostConstructor = /^\[object .+?Constructor]$/; // Used to detect host constructors (Safari > 4; really typed array specific)
|
|
178
|
-
// Compile a regexp using a common native method as a template.
|
|
179
|
-
// We chose `Object#toString` because there's a good chance it is not being mucked with.
|
|
180
|
-
const nativeFunctionTemplate = new RegExp('^' +
|
|
181
|
-
// Coerce `Object#toString` to a string
|
|
182
|
-
String(toString)
|
|
183
|
-
// Escape any special regexp characters
|
|
184
|
-
.replaceAll(/[$()*+./?[\\\]^{|}]/g, '\\$&')
|
|
185
|
-
// Replace mentions of `toString` with `.*?` to keep the template generic.
|
|
186
|
-
// Replace thing like `for ...` to support environments like Rhino which add extra info
|
|
187
|
-
// such as method arity.
|
|
188
|
-
.replaceAll(/toString|(function).*?(?=\\\()| for .+?(?=\\])/g, '$1.*?') +
|
|
189
|
-
'$');
|
|
190
|
-
const type = typeof v;
|
|
191
|
-
return type === 'function'
|
|
192
|
-
// Use `Function#toString` to bypass the value's own `toString` method
|
|
193
|
-
// and avoid being faked out.
|
|
194
|
-
? nativeFunctionTemplate.test(fnToString.call(v))
|
|
195
|
-
// Fallback to a host object check because some environments will represent
|
|
196
|
-
// things like typed arrays as DOM methods which may not conform to the
|
|
197
|
-
// normal native pattern.
|
|
198
|
-
: (v && type === 'object' && hostConstructor.test(toString.call(v))) || false;
|
|
199
|
-
}
|
|
200
117
|
//# sourceMappingURL=stringified.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringified.js","sourceRoot":"","sources":["../../src/io/stringified.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAG/B,qDAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"stringified.js","sourceRoot":"","sources":["../../src/io/stringified.ts"],"names":[],"mappings":"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"}
|