@nymphjs/nymph 1.0.0-beta.1 → 1.0.0-beta.10
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 +52 -0
- package/README.md +4 -2
- package/dist/Entity.js +10 -3
- package/dist/Entity.js.map +1 -1
- package/dist/Entity.test.js +17 -15
- package/dist/Entity.test.js.map +1 -1
- package/dist/Entity.types.d.ts +1 -1
- package/dist/Nymph.d.ts +3 -3
- package/dist/Nymph.js +38 -38
- package/dist/Nymph.js.map +1 -1
- package/dist/Nymph.types.d.ts +18 -18
- package/dist/Nymph.types.js.map +1 -1
- package/dist/driver/NymphDriver.d.ts +8 -4
- package/dist/driver/NymphDriver.js +81 -64
- package/dist/driver/NymphDriver.js.map +1 -1
- package/dist/driver/testArtifacts.js +147 -149
- package/dist/driver/testArtifacts.js.map +1 -1
- package/dist/testMocks.d.ts +3 -1
- package/dist/testMocks.js +11 -6
- package/dist/testMocks.js.map +1 -1
- package/package.json +7 -7
- package/src/Entity.test.ts +14 -7
- package/src/Entity.ts +15 -9
- package/src/Entity.types.ts +1 -1
- package/src/Nymph.ts +67 -45
- package/src/Nymph.types.ts +35 -19
- package/src/driver/NymphDriver.ts +116 -74
- package/src/driver/testArtifacts.ts +14 -13
- package/src/testMocks.ts +14 -7
|
@@ -3,16 +3,20 @@ import strtotime from 'locutus/php/datetime/strtotime';
|
|
|
3
3
|
import { guid } from '@nymphjs/guid';
|
|
4
4
|
|
|
5
5
|
import type Nymph from '../Nymph';
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
TestBModel as TestBModelClass,
|
|
8
|
+
TestModel as TestModelClass,
|
|
9
|
+
TestModelData,
|
|
10
|
+
} from '../testArtifacts';
|
|
7
11
|
|
|
8
12
|
export function QueriesTest(
|
|
9
13
|
nymph: Nymph,
|
|
10
14
|
it: (name: string, fn: () => void) => void
|
|
11
15
|
) {
|
|
12
|
-
nymph.addEntityClass(
|
|
13
|
-
nymph.addEntityClass(
|
|
16
|
+
const TestModel = nymph.addEntityClass(TestModelClass);
|
|
17
|
+
const TestBModel = nymph.addEntityClass(TestBModelClass);
|
|
14
18
|
|
|
15
|
-
let testEntity:
|
|
19
|
+
let testEntity: TestModelClass & TestModelData;
|
|
16
20
|
let testGuid: string;
|
|
17
21
|
let refGuid: string;
|
|
18
22
|
let createdMultiple = false;
|
|
@@ -43,7 +47,7 @@ This one's zip code is 92064.`;
|
|
|
43
47
|
expect(testEntity.guid).not.toBeNull();
|
|
44
48
|
testGuid = testEntity.guid as string;
|
|
45
49
|
|
|
46
|
-
const entityReferenceTest:
|
|
50
|
+
const entityReferenceTest: TestModelClass & TestModelData = new TestModel();
|
|
47
51
|
entityReferenceTest.string = 'wrong';
|
|
48
52
|
entityReferenceTest.timestamp = strtotime('-2 days') * 1000;
|
|
49
53
|
expect(await entityReferenceTest.$save()).toEqual(true);
|
|
@@ -59,7 +63,7 @@ This one's zip code is 92064.`;
|
|
|
59
63
|
testEntity = nymph.driver.getEntitySync(
|
|
60
64
|
{ class: TestModel },
|
|
61
65
|
testGuid
|
|
62
|
-
) as
|
|
66
|
+
) as TestModelClass & TestModelData;
|
|
63
67
|
expect(testEntity).toBeInstanceOf(TestModel);
|
|
64
68
|
expect(testEntity.guid).toEqual(testGuid);
|
|
65
69
|
|
|
@@ -67,7 +71,7 @@ This one's zip code is 92064.`;
|
|
|
67
71
|
testEntity = (await nymph.getEntity(
|
|
68
72
|
{ class: TestModel },
|
|
69
73
|
testGuid
|
|
70
|
-
)) as
|
|
74
|
+
)) as TestModelClass & TestModelData;
|
|
71
75
|
expect(testEntity).toBeInstanceOf(TestModel);
|
|
72
76
|
expect(testEntity.guid).toEqual(testGuid);
|
|
73
77
|
}
|
|
@@ -191,7 +195,7 @@ This one's zip code is 92064.`;
|
|
|
191
195
|
testEntity = (await transaction.getEntity(
|
|
192
196
|
{ class: TestModel },
|
|
193
197
|
testGuid
|
|
194
|
-
)) as
|
|
198
|
+
)) as TestModelClass & TestModelData;
|
|
195
199
|
|
|
196
200
|
expect(testEntity.guid).toEqual(testGuid);
|
|
197
201
|
|
|
@@ -1728,9 +1732,6 @@ export function UIDTest(
|
|
|
1728
1732
|
nymph: Nymph,
|
|
1729
1733
|
it: (name: string, fn: () => void) => void
|
|
1730
1734
|
) {
|
|
1731
|
-
nymph.addEntityClass(TestModel);
|
|
1732
|
-
nymph.addEntityClass(TestBModel);
|
|
1733
|
-
|
|
1734
1735
|
it('delete old test data', async () => {
|
|
1735
1736
|
expect(await nymph.deleteUID('TestUID')).toEqual(true);
|
|
1736
1737
|
expect(await nymph.deleteUID('NewUID')).toEqual(true);
|
|
@@ -1772,8 +1773,8 @@ export function ExportImportTest(
|
|
|
1772
1773
|
nymph: Nymph,
|
|
1773
1774
|
it: (name: string, fn: () => void) => void
|
|
1774
1775
|
) {
|
|
1775
|
-
nymph.addEntityClass(
|
|
1776
|
-
nymph.addEntityClass(
|
|
1776
|
+
const TestModel = nymph.addEntityClass(TestModelClass);
|
|
1777
|
+
const TestBModel = nymph.addEntityClass(TestBModelClass);
|
|
1777
1778
|
|
|
1778
1779
|
async function deleteTestData() {
|
|
1779
1780
|
let all = await nymph.getEntities({ class: TestModel });
|
package/src/testMocks.ts
CHANGED
|
@@ -59,24 +59,31 @@ export class MockNymph {
|
|
|
59
59
|
private entityClasses: { [k: string]: EntityConstructor } = {};
|
|
60
60
|
public driver: MockNymphDriver;
|
|
61
61
|
public Tilmeld: any = undefined;
|
|
62
|
+
public Entity: typeof Entity;
|
|
62
63
|
|
|
63
64
|
public constructor() {
|
|
64
65
|
this.driver = new MockNymphDriver(this);
|
|
65
66
|
|
|
66
67
|
// class NymphEntity extends Entity {}
|
|
67
|
-
this.addEntityClass(Entity);
|
|
68
|
+
this.Entity = this.addEntityClass(Entity);
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
public addEntityClass(entityClass:
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
public addEntityClass<T extends EntityConstructor>(entityClass: T): T {
|
|
72
|
+
const nymph = this;
|
|
73
|
+
class NymphEntity extends entityClass {
|
|
74
|
+
static nymph: Nymph = nymph as unknown as Nymph;
|
|
75
|
+
|
|
76
|
+
constructor(...args: any[]) {
|
|
77
|
+
super(...args);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
this.entityClasses[entityClass.class] = NymphEntity;
|
|
81
|
+
return NymphEntity;
|
|
73
82
|
}
|
|
74
83
|
|
|
75
84
|
public getEntityClass(className: string): EntityConstructor {
|
|
76
85
|
if (className in this.entityClasses) {
|
|
77
|
-
|
|
78
|
-
EntityClass.nymph = this as unknown as Nymph;
|
|
79
|
-
return EntityClass;
|
|
86
|
+
return this.entityClasses[className];
|
|
80
87
|
}
|
|
81
88
|
throw new ClassNotAvailableError('Tried to use class: ' + className);
|
|
82
89
|
}
|