fix(keys): improve perf by avoiding excessive array allocations #15
Annotations
20 errors
src/object/tests/crush.test.ts > crush function > handles bad input:
src/object/tests/crush.test.ts#L5
AssertionError: expected { '': {} } to deeply equal {}
- Expected
+ Received
- Object {}
+ Object {
+ "": Object {},
+ }
❯ src/object/tests/crush.test.ts:5:25
|
src/object/tests/crush.test.ts > crush function > returns correctly crushed object:
src/object/tests/crush.test.ts#L26
AssertionError: expected { name: 'ra', power: 100, …(9) } to deeply equal { name: 'ra', power: 100, …(5) }
- Expected
+ Received
Object {
+ "": Object {
+ "enemies": Array [
+ Object {
+ "name": "hathor",
+ "power": 12,
+ },
+ ],
+ "friend": Object {
+ "name": "loki",
+ "power": 80,
+ },
+ "name": "ra",
+ "power": 100,
+ "timestamp": 2024-06-26T01:17:37.119Z,
+ },
+ "enemies": Array [
+ Object {
+ "name": "hathor",
+ "power": 12,
+ },
+ ],
+ "enemies.0": Object {
+ "name": "hathor",
+ "power": 12,
+ },
"enemies.0.name": "hathor",
"enemies.0.power": 12,
+ "friend": Object {
+ "name": "loki",
+ "power": 80,
+ },
"friend.name": "loki",
"friend.power": 80,
"name": "ra",
"power": 100,
"timestamp": 2024-06-26T01:17:37.119Z,
}
❯ src/object/tests/crush.test.ts:26:25
|
src/object/tests/keys.test.ts > keys function > handles bad input:
src/object/tests/keys.test.ts#L5
AssertionError: expected [ '' ] to deeply equal []
- Expected
+ Received
- Array []
+ Array [
+ "",
+ ]
❯ src/object/tests/keys.test.ts:5:24
|
src/object/tests/keys.test.ts > keys function > returns correct list of keys:
src/object/tests/keys.test.ts#L24
AssertionError: expected [ Array(10) ] to deeply equal [ Array(6) ]
- Expected
+ Received
Array [
"name",
"power",
"friend.name",
"friend.power",
+ "friend",
"enemies.0.name",
"enemies.0.power",
+ "enemies.0",
+ "enemies",
+ "",
]
❯ src/object/tests/keys.test.ts:24:24
|
src/object/tests/keys.test.ts > keys function > works with Object.create(null):
src/object/tests/keys.test.ts#L39
AssertionError: expected [ 'a', 'b.0', 'b', 'c.d', 'c', '' ] to deeply equal [ 'a', 'b.0', 'c.d' ]
- Expected
+ Received
Array [
"a",
"b.0",
+ "b",
"c.d",
+ "c",
+ "",
]
❯ src/object/tests/keys.test.ts:39:20
|
Test (20.x)
Process completed with exit code 1.
|
Test (18.x)
The job was canceled because "_20_x" failed.
|
src/object/tests/crush.test.ts > crush function > handles bad input:
src/object/tests/crush.test.ts#L5
AssertionError: expected { '': {} } to deeply equal {}
- Expected
+ Received
- Object {}
+ Object {
+ "": Object {},
+ }
❯ src/object/tests/crush.test.ts:5:25
|
src/object/tests/crush.test.ts > crush function > returns correctly crushed object:
src/object/tests/crush.test.ts#L26
AssertionError: expected { name: 'ra', power: 100, …(9) } to deeply equal { name: 'ra', power: 100, …(5) }
- Expected
+ Received
Object {
+ "": Object {
+ "enemies": Array [
+ Object {
+ "name": "hathor",
+ "power": 12,
+ },
+ ],
+ "friend": Object {
+ "name": "loki",
+ "power": 80,
+ },
+ "name": "ra",
+ "power": 100,
+ "timestamp": 2024-06-26T01:17:37.628Z,
+ },
+ "enemies": Array [
+ Object {
+ "name": "hathor",
+ "power": 12,
+ },
+ ],
+ "enemies.0": Object {
+ "name": "hathor",
+ "power": 12,
+ },
"enemies.0.name": "hathor",
"enemies.0.power": 12,
+ "friend": Object {
+ "name": "loki",
+ "power": 80,
+ },
"friend.name": "loki",
"friend.power": 80,
"name": "ra",
"power": 100,
"timestamp": 2024-06-26T01:17:37.628Z,
}
❯ src/object/tests/crush.test.ts:26:25
|
src/object/tests/keys.test.ts > keys function > handles bad input:
src/object/tests/keys.test.ts#L5
AssertionError: expected [ '' ] to deeply equal []
- Expected
+ Received
- Array []
+ Array [
+ "",
+ ]
❯ src/object/tests/keys.test.ts:5:24
|
src/object/tests/keys.test.ts > keys function > returns correct list of keys:
src/object/tests/keys.test.ts#L24
AssertionError: expected [ Array(10) ] to deeply equal [ Array(6) ]
- Expected
+ Received
Array [
"name",
"power",
"friend.name",
"friend.power",
+ "friend",
"enemies.0.name",
"enemies.0.power",
+ "enemies.0",
+ "enemies",
+ "",
]
❯ src/object/tests/keys.test.ts:24:24
|
src/object/tests/keys.test.ts > keys function > works with Object.create(null):
src/object/tests/keys.test.ts#L39
AssertionError: expected [ 'a', 'b.0', 'b', 'c.d', 'c', '' ] to deeply equal [ 'a', 'b.0', 'c.d' ]
- Expected
+ Received
Array [
"a",
"b.0",
+ "b",
"c.d",
+ "c",
+ "",
]
❯ src/object/tests/keys.test.ts:39:20
|
Test (18.x)
Process completed with exit code 1.
|
Test (22.x)
The job was canceled because "_20_x" failed.
|
src/object/tests/crush.test.ts > crush function > handles bad input:
src/object/tests/crush.test.ts#L5
AssertionError: expected { '': {} } to deeply equal {}
- Expected
+ Received
- Object {}
+ Object {
+ "": Object {},
+ }
❯ src/object/tests/crush.test.ts:5:25
|
src/object/tests/crush.test.ts > crush function > returns correctly crushed object:
src/object/tests/crush.test.ts#L26
AssertionError: expected { name: 'ra', power: 100, …(9) } to deeply equal { name: 'ra', power: 100, …(5) }
- Expected
+ Received
Object {
+ "": Object {
+ "enemies": Array [
+ Object {
+ "name": "hathor",
+ "power": 12,
+ },
+ ],
+ "friend": Object {
+ "name": "loki",
+ "power": 80,
+ },
+ "name": "ra",
+ "power": 100,
+ "timestamp": 2024-06-26T01:17:39.805Z,
+ },
+ "enemies": Array [
+ Object {
+ "name": "hathor",
+ "power": 12,
+ },
+ ],
+ "enemies.0": Object {
+ "name": "hathor",
+ "power": 12,
+ },
"enemies.0.name": "hathor",
"enemies.0.power": 12,
+ "friend": Object {
+ "name": "loki",
+ "power": 80,
+ },
"friend.name": "loki",
"friend.power": 80,
"name": "ra",
"power": 100,
"timestamp": 2024-06-26T01:17:39.805Z,
}
❯ src/object/tests/crush.test.ts:26:25
|
src/object/tests/keys.test.ts > keys function > handles bad input:
src/object/tests/keys.test.ts#L5
AssertionError: expected [ '' ] to deeply equal []
- Expected
+ Received
- Array []
+ Array [
+ "",
+ ]
❯ src/object/tests/keys.test.ts:5:24
|
src/object/tests/keys.test.ts > keys function > returns correct list of keys:
src/object/tests/keys.test.ts#L24
AssertionError: expected [ Array(10) ] to deeply equal [ Array(6) ]
- Expected
+ Received
Array [
"name",
"power",
"friend.name",
"friend.power",
+ "friend",
"enemies.0.name",
"enemies.0.power",
+ "enemies.0",
+ "enemies",
+ "",
]
❯ src/object/tests/keys.test.ts:24:24
|
src/object/tests/keys.test.ts > keys function > works with Object.create(null):
src/object/tests/keys.test.ts#L39
AssertionError: expected [ 'a', 'b.0', 'b', 'c.d', 'c', '' ] to deeply equal [ 'a', 'b.0', 'c.d' ]
- Expected
+ Received
Array [
"a",
"b.0",
+ "b",
"c.d",
+ "c",
+ "",
]
❯ src/object/tests/keys.test.ts:39:20
|
Test (22.x)
Process completed with exit code 1.
|