@nymphjs/server 1.0.0-beta.0 → 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 +44 -0
- package/README.md +4 -4
- package/dist/cache.test.js +23 -34
- package/dist/cache.test.js.map +1 -1
- package/dist/index.js +152 -161
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +188 -202
- package/dist/index.test.js.map +1 -1
- package/dist/testArtifacts.js +25 -50
- package/dist/testArtifacts.js.map +1 -1
- package/package.json +9 -9
- package/src/cache.test.ts +6 -3
- package/src/index.test.ts +6 -3
- package/src/testArtifacts.ts +3 -3
- package/tsconfig.json +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,50 @@
|
|
|
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
|
+
# [1.0.0-beta.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2023-01-19)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
9
|
+
|
|
10
|
+
# [1.0.0-beta.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2023-01-09)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
13
|
+
|
|
14
|
+
# [1.0.0-beta.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2023-01-09)
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
- make entities in nymph client instance specific too ([1029f06](https://github.com/sciactive/nymphjs/commit/1029f061a1ad193e4a8a2dab0186b9a4b517f646))
|
|
19
|
+
|
|
20
|
+
# [1.0.0-beta.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2023-01-05)
|
|
21
|
+
|
|
22
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
23
|
+
|
|
24
|
+
# [1.0.0-beta.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2023-01-05)
|
|
25
|
+
|
|
26
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
27
|
+
|
|
28
|
+
# [1.0.0-beta.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2022-11-24)
|
|
29
|
+
|
|
30
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
31
|
+
|
|
32
|
+
# [1.0.0-beta.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2022-11-23)
|
|
33
|
+
|
|
34
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
35
|
+
|
|
36
|
+
# [1.0.0-beta.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2022-11-21)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
39
|
+
|
|
40
|
+
# [1.0.0-beta.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2022-11-21)
|
|
41
|
+
|
|
42
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
43
|
+
|
|
44
|
+
# [1.0.0-beta.1](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2022-11-21)
|
|
45
|
+
|
|
46
|
+
### Bug Fixes
|
|
47
|
+
|
|
48
|
+
- adjust typescript targets to output node 16 code ([36f15a6](https://github.com/sciactive/nymphjs/commit/36f15a601362ed54f4465ef6527402c026bbcf61))
|
|
49
|
+
|
|
6
50
|
# [1.0.0-beta.0](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.43...v1.0.0-beta.0) (2022-11-16)
|
|
7
51
|
|
|
8
52
|
### Features
|
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ import SQLite3Driver from '@nymphjs/driver-sqlite3';
|
|
|
21
21
|
import createServer from '@nymphjs/server';
|
|
22
22
|
|
|
23
23
|
// Import all the entities you will be using on the server.
|
|
24
|
-
import
|
|
24
|
+
import MyEntityClass from './entities/MyEntity';
|
|
25
25
|
|
|
26
26
|
// Configure Nymph.
|
|
27
27
|
const nymph = new Nymph(
|
|
@@ -30,7 +30,7 @@ const nymph = new Nymph(
|
|
|
30
30
|
filename: ':memory:',
|
|
31
31
|
})
|
|
32
32
|
);
|
|
33
|
-
nymph.addEntityClass(
|
|
33
|
+
const MyEntity = nymph.addEntityClass(MyEntityClass);
|
|
34
34
|
|
|
35
35
|
// Create your Express app.
|
|
36
36
|
const app = express();
|
|
@@ -51,14 +51,14 @@ Now you can configure your client using your server's address (and the optional
|
|
|
51
51
|
```ts
|
|
52
52
|
import { Nymph } from '@nymphjs/client';
|
|
53
53
|
|
|
54
|
-
import
|
|
54
|
+
import MyEntityClass from './entities/MyEntityClient';
|
|
55
55
|
|
|
56
56
|
const nymph = new Nymph({
|
|
57
57
|
// You should configure your Express server to
|
|
58
58
|
// use HTTPS, but you don't have to.
|
|
59
59
|
restUrl: 'https://mydomain.tld/rest',
|
|
60
60
|
});
|
|
61
|
-
nymph.addEntityClass(
|
|
61
|
+
const MyEntity = nymph.addEntityClass(MyEntityClass);
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
# License
|
package/dist/cache.test.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -22,7 +13,7 @@ const sqliteConfig = {
|
|
|
22
13
|
filename: ':memory:',
|
|
23
14
|
};
|
|
24
15
|
const nymphServer = new nymph_1.Nymph({}, new driver_sqlite3_1.default(sqliteConfig));
|
|
25
|
-
nymphServer.addEntityClass(testArtifacts_1.EmployeeModel);
|
|
16
|
+
const EmployeeModel = nymphServer.addEntityClass(testArtifacts_1.EmployeeModel);
|
|
26
17
|
const app = (0, express_1.default)();
|
|
27
18
|
app.use('/test', (0, index_1.default)(nymphServer));
|
|
28
19
|
const server = app.listen(5081);
|
|
@@ -30,44 +21,42 @@ const nymph = new client_node_1.Nymph({
|
|
|
30
21
|
restUrl: 'http://localhost:5081/test/',
|
|
31
22
|
weakCache: true,
|
|
32
23
|
});
|
|
33
|
-
nymph.addEntityClass(testArtifacts_1.Employee);
|
|
24
|
+
const Employee = nymph.addEntityClass(testArtifacts_1.Employee);
|
|
34
25
|
describe('Nymph REST Server and Client with Client Weak Ref Cache', () => {
|
|
35
|
-
function createJane() {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return jane;
|
|
52
|
-
});
|
|
26
|
+
async function createJane() {
|
|
27
|
+
const jane = await Employee.factory();
|
|
28
|
+
jane.name = 'Jane Doe';
|
|
29
|
+
jane.current = true;
|
|
30
|
+
jane.salary = 8000000;
|
|
31
|
+
jane.startDate = Date.now();
|
|
32
|
+
jane.subordinates = [];
|
|
33
|
+
jane.title = 'Seniorer Person';
|
|
34
|
+
try {
|
|
35
|
+
await jane.$save();
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
console.error('Error creating entity: ', e);
|
|
39
|
+
throw e;
|
|
40
|
+
}
|
|
41
|
+
return jane;
|
|
53
42
|
}
|
|
54
|
-
it('change an entity and check weakCache', () =>
|
|
43
|
+
it('change an entity and check weakCache', async () => {
|
|
55
44
|
if (typeof WeakRef === 'undefined') {
|
|
56
45
|
throw new Error('You must run this test in an environment that includes WeakRef.');
|
|
57
46
|
}
|
|
58
|
-
const employee =
|
|
47
|
+
const employee = await createJane();
|
|
59
48
|
if (employee.guid == null) {
|
|
60
49
|
throw new Error('Entity is null.');
|
|
61
50
|
}
|
|
62
|
-
const checkA =
|
|
63
|
-
const checkB =
|
|
51
|
+
const checkA = await Employee.factory(employee.guid);
|
|
52
|
+
const checkB = await nymph.getEntity({ class: Employee }, { type: '&', guid: employee.guid });
|
|
64
53
|
if (!checkB) {
|
|
65
54
|
throw new Error("Couldn't fetch entity.");
|
|
66
55
|
}
|
|
67
56
|
employee.current = false;
|
|
68
57
|
expect(checkA.current).toEqual(false);
|
|
69
58
|
expect(checkB.current).toEqual(false);
|
|
70
|
-
})
|
|
59
|
+
});
|
|
71
60
|
afterAll(() => {
|
|
72
61
|
server.close();
|
|
73
62
|
});
|
package/dist/cache.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.test.js","sourceRoot":"","sources":["../src/cache.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.test.js","sourceRoot":"","sources":["../src/cache.test.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,6EAAoD;AACpD,0CAAsD;AACtD,sDAA6C;AAE7C,oDAAmC;AACnC,mDAGyB;AAEzB,MAAM,YAAY,GAAG;IACnB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,aAAW,CAAC,EAAE,EAAE,IAAI,wBAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AACzE,MAAM,aAAa,GAAG,WAAW,CAAC,cAAc,CAAC,6BAAkB,CAAC,CAAC;AAErE,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AACtB,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAA,eAAY,EAAC,WAAW,CAAC,CAAC,CAAC;AAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEhC,MAAM,KAAK,GAAG,IAAI,mBAAK,CAAC;IACtB,OAAO,EAAE,6BAA6B;IACtC,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AACH,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,wBAAa,CAAC,CAAC;AAErD,QAAQ,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACvE,KAAK,UAAU,UAAU;QACvB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC;QAC/B,IAAI;YACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,CAAC;SACT;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAEpD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;QAEpC,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACpC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAClC,EAAE,KAAK,EAAE,QAAQ,EAAE,EACnB,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CACnC,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|