@nymphjs/server 1.0.0-beta.1 → 1.0.0-beta.11
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/HttpError.d.ts +5 -0
- package/dist/HttpError.js +13 -0
- package/dist/HttpError.js.map +1 -0
- package/dist/cache.test.js +5 -5
- package/dist/cache.test.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +144 -66
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +67 -39
- package/dist/index.test.js.map +1 -1
- package/dist/testArtifacts.d.ts +4 -0
- package/dist/testArtifacts.js +18 -3
- package/dist/testArtifacts.js.map +1 -1
- package/package.json +12 -12
- package/src/HttpError.ts +12 -0
- package/src/cache.test.ts +6 -3
- package/src/index.test.ts +38 -5
- package/src/index.ts +151 -71
- package/src/testArtifacts.ts +23 -3
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.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2023-02-27)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- allow customizing HTTP status codes in response from server called methods ([8c5c3d4](https://github.com/sciactive/nymphjs/commit/8c5c3d4af741edabc1a8947aaebf026ba546c46a))
|
|
11
|
+
|
|
12
|
+
# [1.0.0-beta.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2023-01-19)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
15
|
+
|
|
16
|
+
# [1.0.0-beta.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2023-01-09)
|
|
17
|
+
|
|
18
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
19
|
+
|
|
20
|
+
# [1.0.0-beta.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2023-01-09)
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
- make entities in nymph client instance specific too ([1029f06](https://github.com/sciactive/nymphjs/commit/1029f061a1ad193e4a8a2dab0186b9a4b517f646))
|
|
25
|
+
|
|
26
|
+
# [1.0.0-beta.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2023-01-05)
|
|
27
|
+
|
|
28
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
29
|
+
|
|
30
|
+
# [1.0.0-beta.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2023-01-05)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
33
|
+
|
|
34
|
+
# [1.0.0-beta.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2022-11-24)
|
|
35
|
+
|
|
36
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
37
|
+
|
|
38
|
+
# [1.0.0-beta.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2022-11-23)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
41
|
+
|
|
42
|
+
# [1.0.0-beta.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2022-11-21)
|
|
43
|
+
|
|
44
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
45
|
+
|
|
46
|
+
# [1.0.0-beta.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2022-11-21)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @nymphjs/server
|
|
49
|
+
|
|
6
50
|
# [1.0.0-beta.1](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2022-11-21)
|
|
7
51
|
|
|
8
52
|
### Bug Fixes
|
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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpError = void 0;
|
|
4
|
+
class HttpError extends Error {
|
|
5
|
+
constructor(message, status, statusText) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'HttpError';
|
|
8
|
+
this.status = status;
|
|
9
|
+
this.statusText = statusText;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.HttpError = HttpError;
|
|
13
|
+
//# sourceMappingURL=HttpError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpError.js","sourceRoot":"","sources":["../src/HttpError.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAU,SAAQ,KAAK;IAIlC,YAAY,OAAe,EAAE,MAAe,EAAE,UAAmB;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAXD,8BAWC"}
|
package/dist/cache.test.js
CHANGED
|
@@ -13,7 +13,7 @@ const sqliteConfig = {
|
|
|
13
13
|
filename: ':memory:',
|
|
14
14
|
};
|
|
15
15
|
const nymphServer = new nymph_1.Nymph({}, new driver_sqlite3_1.default(sqliteConfig));
|
|
16
|
-
nymphServer.addEntityClass(testArtifacts_1.EmployeeModel);
|
|
16
|
+
const EmployeeModel = nymphServer.addEntityClass(testArtifacts_1.EmployeeModel);
|
|
17
17
|
const app = (0, express_1.default)();
|
|
18
18
|
app.use('/test', (0, index_1.default)(nymphServer));
|
|
19
19
|
const server = app.listen(5081);
|
|
@@ -21,10 +21,10 @@ const nymph = new client_node_1.Nymph({
|
|
|
21
21
|
restUrl: 'http://localhost:5081/test/',
|
|
22
22
|
weakCache: true,
|
|
23
23
|
});
|
|
24
|
-
nymph.addEntityClass(testArtifacts_1.Employee);
|
|
24
|
+
const Employee = nymph.addEntityClass(testArtifacts_1.Employee);
|
|
25
25
|
describe('Nymph REST Server and Client with Client Weak Ref Cache', () => {
|
|
26
26
|
async function createJane() {
|
|
27
|
-
const jane = await
|
|
27
|
+
const jane = await Employee.factory();
|
|
28
28
|
jane.name = 'Jane Doe';
|
|
29
29
|
jane.current = true;
|
|
30
30
|
jane.salary = 8000000;
|
|
@@ -48,8 +48,8 @@ describe('Nymph REST Server and Client with Client Weak Ref Cache', () => {
|
|
|
48
48
|
if (employee.guid == null) {
|
|
49
49
|
throw new Error('Entity is null.');
|
|
50
50
|
}
|
|
51
|
-
const checkA = await
|
|
52
|
-
const checkB = await nymph.getEntity({ class:
|
|
51
|
+
const checkA = await Employee.factory(employee.guid);
|
|
52
|
+
const checkB = await nymph.getEntity({ class: Employee }, { type: '&', guid: employee.guid });
|
|
53
53
|
if (!checkB) {
|
|
54
54
|
throw new Error("Couldn't fetch entity.");
|
|
55
55
|
}
|
package/dist/cache.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { OptionsJson } from 'body-parser';
|
|
2
2
|
import { Nymph } from '@nymphjs/nymph';
|
|
3
|
+
import { HttpError } from './HttpError';
|
|
4
|
+
export { HttpError };
|
|
3
5
|
export default function createServer(nymph: Nymph, { jsonOptions }?: {
|
|
4
6
|
jsonOptions?: OptionsJson;
|
|
5
7
|
}): import("express-serve-static-core").Express;
|