Skip to content
This repository was archived by the owner on Aug 2, 2024. It is now read-only.

Commit be4ac9a

Browse files
author
Valerii Radchenko
committedJul 12, 2020
Fixed overide constructor on set
1 parent aa422b6 commit be4ac9a

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed
 

‎package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ambary",
3-
"version": "1.2.0",
3+
"version": "1.2.1",
44
"description": "Plain object in memory database",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",

‎src/base-ambary.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ export class BaseAmbary {
3232
let parent = this.model;
3333

3434
for (const pathKey of path) {
35-
const level = parent[pathKey];
35+
const result = this.overrideKeyConstructor(pathKey, Constructor);
3636

37-
if (!level) {
38-
const result = this.overrideKeyConstructor(pathKey, Constructor);
37+
const level = parent[result.key];
3938

39+
if (!level) {
4040
parent[result.key] = new result.Constructor();
4141
parent = parent[result.key];
4242
continue;

‎src/specs/base-ambary.spec.ts

+14-2
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,25 @@ describe('BaseAmbary', () => {
8787
it('should set ambary item to non-existing parent(Array)', () => {
8888
ambary.set({
8989
key: 'level4_1',
90-
value: 'test set',
90+
value: 'test set1',
91+
path: ['[level1_3]', '0', 'level3_1'],
92+
});
93+
94+
ambary.set({
95+
key: 'level4_2',
96+
value: 'test set2',
9197
path: ['[level1_3]', '0', 'level3_1'],
9298
});
9399

100+
ambary.set({
101+
key: 'level4_1',
102+
value: 'test set3',
103+
path: ['[level1_3]', '0', 'level3_2'],
104+
});
105+
94106
const result = ambary.get('level1_3.0.level3_1.level4_1');
95107

96-
expect(result).toEqual('test set');
108+
expect(result).toEqual('test set1');
97109
expect(Array.isArray(ambary.get('level1_3'))).toBeTruthy();
98110
});
99111

0 commit comments

Comments
 (0)
This repository has been archived.