@nymphjs/client 1.0.0-beta.1 → 1.0.0-beta.100
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 +456 -0
- package/README.md +7 -7
- package/asyncitertest.js +53 -0
- package/dist/Entity.d.ts +156 -0
- package/dist/Entity.js +598 -0
- package/dist/Entity.js.map +1 -0
- package/dist/Entity.types.d.ts +218 -0
- package/dist/Entity.types.js +2 -0
- package/dist/Entity.types.js.map +1 -0
- package/dist/EntityWeakCache.d.ts +6 -0
- package/dist/EntityWeakCache.js +27 -0
- package/dist/EntityWeakCache.js.map +1 -0
- package/dist/HttpRequester.d.ts +78 -0
- package/dist/HttpRequester.js +365 -0
- package/dist/HttpRequester.js.map +1 -0
- package/dist/Nymph.d.ts +116 -0
- package/dist/Nymph.js +459 -0
- package/dist/Nymph.js.map +1 -0
- package/dist/Nymph.types.d.ts +177 -0
- package/dist/Nymph.types.js +2 -0
- package/dist/Nymph.types.js.map +1 -0
- package/dist/PubSub.d.ts +63 -0
- package/dist/PubSub.js +599 -0
- package/dist/PubSub.js.map +1 -0
- package/dist/PubSub.types.d.ts +31 -0
- package/dist/PubSub.types.js +2 -0
- package/dist/PubSub.types.js.map +1 -0
- package/dist/entityRefresh.d.ts +5 -0
- package/dist/entityRefresh.js +75 -0
- package/dist/entityRefresh.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.js +93 -0
- package/dist/utils.js.map +1 -0
- package/jest.config.js +11 -2
- package/lib/Entity.d.ts +112 -8
- package/lib/Entity.js +159 -77
- package/lib/Entity.js.map +1 -1
- package/lib/Entity.types.d.ts +144 -9
- package/lib/EntityWeakCache.js +3 -2
- package/lib/EntityWeakCache.js.map +1 -1
- package/lib/HttpRequester.d.ts +44 -8
- package/lib/HttpRequester.js +236 -21
- package/lib/HttpRequester.js.map +1 -1
- package/lib/Nymph.d.ts +43 -11
- package/lib/Nymph.js +102 -19
- package/lib/Nymph.js.map +1 -1
- package/lib/Nymph.types.d.ts +73 -1
- package/lib/PubSub.d.ts +15 -9
- package/lib/PubSub.js +148 -87
- package/lib/PubSub.js.map +1 -1
- package/lib/PubSub.types.d.ts +6 -1
- package/lib/entityRefresh.js +16 -0
- package/lib/entityRefresh.js.map +1 -1
- package/lib/utils.js +11 -0
- package/lib/utils.js.map +1 -1
- package/package.json +23 -27
- package/src/Entity.ts +171 -108
- package/src/Entity.types.ts +29 -47
- package/src/EntityWeakCache.ts +8 -6
- package/src/HttpRequester.ts +308 -35
- package/src/Nymph.ts +212 -96
- package/src/Nymph.types.ts +51 -2
- package/src/PubSub.ts +214 -141
- package/src/PubSub.types.ts +10 -5
- package/src/entityRefresh.ts +6 -6
- package/src/index.ts +10 -10
- package/src/utils.ts +12 -5
- package/tsconfig.json +6 -4
- package/typedoc.json +4 -0
- package/dist/index.js.LICENSE.txt +0 -8
- package/webpack.config.js +0 -28
package/lib/utils.js
CHANGED
|
@@ -17,9 +17,11 @@ function entityConstructorsToClassNames(item) {
|
|
|
17
17
|
if (typeof item === 'function' &&
|
|
18
18
|
item.prototype instanceof Entity_1.default &&
|
|
19
19
|
typeof item.class === 'string') {
|
|
20
|
+
// Convert entity classes to strings.
|
|
20
21
|
return item.class;
|
|
21
22
|
}
|
|
22
23
|
else if (Array.isArray(item)) {
|
|
24
|
+
// Recurse into lower arrays.
|
|
23
25
|
return item.map((entry) => entityConstructorsToClassNames(entry));
|
|
24
26
|
}
|
|
25
27
|
else if (item instanceof Object) {
|
|
@@ -29,14 +31,17 @@ function entityConstructorsToClassNames(item) {
|
|
|
29
31
|
}
|
|
30
32
|
return newObj;
|
|
31
33
|
}
|
|
34
|
+
// Not an entity or array, just return it.
|
|
32
35
|
return item;
|
|
33
36
|
}
|
|
34
37
|
exports.entityConstructorsToClassNames = entityConstructorsToClassNames;
|
|
35
38
|
function entitiesToReferences(item) {
|
|
36
39
|
if (item instanceof Entity_1.default && typeof item.$toReference === 'function') {
|
|
40
|
+
// Convert entities to references.
|
|
37
41
|
return item.$toReference();
|
|
38
42
|
}
|
|
39
43
|
else if (Array.isArray(item)) {
|
|
44
|
+
// Recurse into lower arrays.
|
|
40
45
|
return item.map((entry) => entitiesToReferences(entry));
|
|
41
46
|
}
|
|
42
47
|
else if (item instanceof Object) {
|
|
@@ -46,11 +51,13 @@ function entitiesToReferences(item) {
|
|
|
46
51
|
}
|
|
47
52
|
return newObj;
|
|
48
53
|
}
|
|
54
|
+
// Not an entity or array, just return it.
|
|
49
55
|
return item;
|
|
50
56
|
}
|
|
51
57
|
exports.entitiesToReferences = entitiesToReferences;
|
|
52
58
|
function referencesToEntities(item, nymph) {
|
|
53
59
|
if (Array.isArray(item)) {
|
|
60
|
+
// Check if it's a reference.
|
|
54
61
|
if (item[0] === 'nymph_entity_reference') {
|
|
55
62
|
try {
|
|
56
63
|
const EntityClass = nymph.getEntityClass(item[2]);
|
|
@@ -61,6 +68,7 @@ function referencesToEntities(item, nymph) {
|
|
|
61
68
|
}
|
|
62
69
|
}
|
|
63
70
|
else {
|
|
71
|
+
// Recurse into lower arrays.
|
|
64
72
|
return item.map((item) => referencesToEntities(item, nymph));
|
|
65
73
|
}
|
|
66
74
|
}
|
|
@@ -69,10 +77,13 @@ function referencesToEntities(item, nymph) {
|
|
|
69
77
|
item[key] = referencesToEntities(value, nymph);
|
|
70
78
|
}
|
|
71
79
|
}
|
|
80
|
+
// Not an array, just return it.
|
|
72
81
|
return item;
|
|
73
82
|
}
|
|
74
83
|
exports.referencesToEntities = referencesToEntities;
|
|
75
84
|
function sortObj(obj) {
|
|
85
|
+
// adapted from
|
|
86
|
+
// http://am.aurlien.net/post/1221493460/sorting-javascript-objects
|
|
76
87
|
const tempArray = Object.keys(obj);
|
|
77
88
|
tempArray.sort();
|
|
78
89
|
for (let i = 0; i < tempArray.length; i++) {
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AAEA,sDAA8B;AAE9B,SAAgB,aAAa,CAAC,KAAe;IAC3C,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nymphjs/client",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
"main": "
|
|
7
|
-
"types": "
|
|
3
|
+
"version": "1.0.0-beta.100",
|
|
4
|
+
"description": "Nymph.js - Client",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"nymph",
|
|
10
10
|
"ORM",
|
|
11
11
|
"object relational mapper"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"clean": "
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"watch:ts": "tsc --watch",
|
|
21
|
-
"watch:js": "webpack --watch",
|
|
22
|
-
"prepare": "npm run clean && npm run build",
|
|
23
|
-
"test": "jest --detectOpenHandles",
|
|
24
|
-
"test:watch": "jest --watch"
|
|
14
|
+
"clean": "test -d dist && rm -r dist || true",
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"watch": "tsc --watch",
|
|
17
|
+
"prepublish": "npm run clean && npm run build",
|
|
18
|
+
"test": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" npx jest",
|
|
19
|
+
"test:watch": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" npx jest --watch"
|
|
25
20
|
},
|
|
26
21
|
"publishConfig": {
|
|
27
22
|
"access": "public"
|
|
@@ -35,17 +30,18 @@
|
|
|
35
30
|
"url": "https://github.com/sciactive/nymphjs/issues"
|
|
36
31
|
},
|
|
37
32
|
"license": "Apache-2.0",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"fetch-event-source-hperrin": "^3.0.0",
|
|
35
|
+
"lodash-es": "^4.17.21"
|
|
36
|
+
},
|
|
38
37
|
"devDependencies": {
|
|
39
|
-
"@tsconfig/recommended": "^1.0.
|
|
40
|
-
"@types/jest": "^29.
|
|
41
|
-
"@types/lodash": "^4.
|
|
42
|
-
"jest": "^29.
|
|
43
|
-
"
|
|
44
|
-
"ts-
|
|
45
|
-
"
|
|
46
|
-
"typescript": "^4.9.3",
|
|
47
|
-
"webpack": "^5.75.0",
|
|
48
|
-
"webpack-cli": "^4.10.0"
|
|
38
|
+
"@tsconfig/recommended": "^1.0.8",
|
|
39
|
+
"@types/jest": "^29.5.14",
|
|
40
|
+
"@types/lodash-es": "^4.17.12",
|
|
41
|
+
"jest": "^29.7.0",
|
|
42
|
+
"ts-jest": "^29.2.5",
|
|
43
|
+
"ts-node": "^10.9.2",
|
|
44
|
+
"typescript": "^5.7.2"
|
|
49
45
|
},
|
|
50
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "254b2ccd1cc7838dcbf08e860d2833475a15b244"
|
|
51
47
|
}
|