norn-cli 1.3.13 → 1.3.15
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 +15 -0
- package/dist/cli.js +48 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the "Norn" extension will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.3.15] - 2026-02-13
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **IntelliSense**: Applied fixes to improve completion reliability and keyword suggestions
|
|
9
|
+
- **Regression Stability**: Updated Petstore contract schema for `findByStatus` to handle responses where `photoUrls` may be omitted
|
|
10
|
+
|
|
11
|
+
## [1.3.14] - 2026-02-12
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- **Assertion Equality for Objects/Arrays**: `==` and `!=` now perform deep structural comparison for objects and arrays
|
|
15
|
+
- `assert $1.body.args == {}` now correctly passes for empty-object payloads
|
|
16
|
+
- Scalar comparisons retain existing coercion behavior
|
|
17
|
+
- **Regression Stability**: Updated empty-literals regression coverage for current `httpbin` behavior
|
|
18
|
+
- `files` in `GET /get` may be omitted, so the test now asserts `!exists`
|
|
19
|
+
|
|
5
20
|
## [1.3.13] - 2026-02-10
|
|
6
21
|
|
|
7
22
|
### Fixed
|
package/dist/cli.js
CHANGED
|
@@ -18983,6 +18983,52 @@ function getNestedValue2(obj, path5) {
|
|
|
18983
18983
|
}
|
|
18984
18984
|
return current;
|
|
18985
18985
|
}
|
|
18986
|
+
function areValuesEqual(leftValue, rightValue) {
|
|
18987
|
+
if (leftValue === rightValue) {
|
|
18988
|
+
return true;
|
|
18989
|
+
}
|
|
18990
|
+
if (leftValue === null || rightValue === null || leftValue === void 0 || rightValue === void 0) {
|
|
18991
|
+
return leftValue === rightValue;
|
|
18992
|
+
}
|
|
18993
|
+
const leftIsArray = Array.isArray(leftValue);
|
|
18994
|
+
const rightIsArray = Array.isArray(rightValue);
|
|
18995
|
+
if (leftIsArray || rightIsArray) {
|
|
18996
|
+
if (!leftIsArray || !rightIsArray) {
|
|
18997
|
+
return false;
|
|
18998
|
+
}
|
|
18999
|
+
if (leftValue.length !== rightValue.length) {
|
|
19000
|
+
return false;
|
|
19001
|
+
}
|
|
19002
|
+
for (let i = 0; i < leftValue.length; i++) {
|
|
19003
|
+
if (!areValuesEqual(leftValue[i], rightValue[i])) {
|
|
19004
|
+
return false;
|
|
19005
|
+
}
|
|
19006
|
+
}
|
|
19007
|
+
return true;
|
|
19008
|
+
}
|
|
19009
|
+
const leftIsObject = typeof leftValue === "object";
|
|
19010
|
+
const rightIsObject = typeof rightValue === "object";
|
|
19011
|
+
if (leftIsObject || rightIsObject) {
|
|
19012
|
+
if (!leftIsObject || !rightIsObject) {
|
|
19013
|
+
return false;
|
|
19014
|
+
}
|
|
19015
|
+
const leftKeys = Object.keys(leftValue);
|
|
19016
|
+
const rightKeys = Object.keys(rightValue);
|
|
19017
|
+
if (leftKeys.length !== rightKeys.length) {
|
|
19018
|
+
return false;
|
|
19019
|
+
}
|
|
19020
|
+
for (const key of leftKeys) {
|
|
19021
|
+
if (!Object.prototype.hasOwnProperty.call(rightValue, key)) {
|
|
19022
|
+
return false;
|
|
19023
|
+
}
|
|
19024
|
+
if (!areValuesEqual(leftValue[key], rightValue[key])) {
|
|
19025
|
+
return false;
|
|
19026
|
+
}
|
|
19027
|
+
}
|
|
19028
|
+
return true;
|
|
19029
|
+
}
|
|
19030
|
+
return leftValue == rightValue;
|
|
19031
|
+
}
|
|
18986
19032
|
function evaluateAssertion(assertion, responses, variables, getValueByPath2, responseIndexToVariable, basePath) {
|
|
18987
19033
|
const leftResult = resolveValue(assertion.leftExpr, responses, variables, getValueByPath2, responseIndexToVariable);
|
|
18988
19034
|
const buildFailureContext = () => ({
|
|
@@ -19106,10 +19152,10 @@ function evaluateAssertion(assertion, responses, variables, getValueByPath2, res
|
|
|
19106
19152
|
let passed = false;
|
|
19107
19153
|
switch (assertion.operator) {
|
|
19108
19154
|
case "==":
|
|
19109
|
-
passed = leftValue
|
|
19155
|
+
passed = areValuesEqual(leftValue, rightValue);
|
|
19110
19156
|
break;
|
|
19111
19157
|
case "!=":
|
|
19112
|
-
passed = leftValue
|
|
19158
|
+
passed = !areValuesEqual(leftValue, rightValue);
|
|
19113
19159
|
break;
|
|
19114
19160
|
case ">":
|
|
19115
19161
|
passed = Number(leftValue) > Number(rightValue);
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "norn-cli",
|
|
3
3
|
"displayName": "Norn - REST Client",
|
|
4
4
|
"description": "A powerful REST client for making HTTP requests with sequences, variables, scripts, and cookie support",
|
|
5
|
-
"version": "1.3.
|
|
5
|
+
"version": "1.3.15",
|
|
6
6
|
"publisher": "Norn-PeterKrustanov",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Peter Krastanov"
|