@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.
Files changed (74) hide show
  1. package/CHANGELOG.md +456 -0
  2. package/README.md +7 -7
  3. package/asyncitertest.js +53 -0
  4. package/dist/Entity.d.ts +156 -0
  5. package/dist/Entity.js +598 -0
  6. package/dist/Entity.js.map +1 -0
  7. package/dist/Entity.types.d.ts +218 -0
  8. package/dist/Entity.types.js +2 -0
  9. package/dist/Entity.types.js.map +1 -0
  10. package/dist/EntityWeakCache.d.ts +6 -0
  11. package/dist/EntityWeakCache.js +27 -0
  12. package/dist/EntityWeakCache.js.map +1 -0
  13. package/dist/HttpRequester.d.ts +78 -0
  14. package/dist/HttpRequester.js +365 -0
  15. package/dist/HttpRequester.js.map +1 -0
  16. package/dist/Nymph.d.ts +116 -0
  17. package/dist/Nymph.js +459 -0
  18. package/dist/Nymph.js.map +1 -0
  19. package/dist/Nymph.types.d.ts +177 -0
  20. package/dist/Nymph.types.js +2 -0
  21. package/dist/Nymph.types.js.map +1 -0
  22. package/dist/PubSub.d.ts +63 -0
  23. package/dist/PubSub.js +599 -0
  24. package/dist/PubSub.js.map +1 -0
  25. package/dist/PubSub.types.d.ts +31 -0
  26. package/dist/PubSub.types.js +2 -0
  27. package/dist/PubSub.types.js.map +1 -0
  28. package/dist/entityRefresh.d.ts +5 -0
  29. package/dist/entityRefresh.js +75 -0
  30. package/dist/entityRefresh.js.map +1 -0
  31. package/dist/index.d.ts +13 -0
  32. package/dist/index.js +13 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/utils.d.ts +8 -0
  35. package/dist/utils.js +93 -0
  36. package/dist/utils.js.map +1 -0
  37. package/jest.config.js +11 -2
  38. package/lib/Entity.d.ts +112 -8
  39. package/lib/Entity.js +159 -77
  40. package/lib/Entity.js.map +1 -1
  41. package/lib/Entity.types.d.ts +144 -9
  42. package/lib/EntityWeakCache.js +3 -2
  43. package/lib/EntityWeakCache.js.map +1 -1
  44. package/lib/HttpRequester.d.ts +44 -8
  45. package/lib/HttpRequester.js +236 -21
  46. package/lib/HttpRequester.js.map +1 -1
  47. package/lib/Nymph.d.ts +43 -11
  48. package/lib/Nymph.js +102 -19
  49. package/lib/Nymph.js.map +1 -1
  50. package/lib/Nymph.types.d.ts +73 -1
  51. package/lib/PubSub.d.ts +15 -9
  52. package/lib/PubSub.js +148 -87
  53. package/lib/PubSub.js.map +1 -1
  54. package/lib/PubSub.types.d.ts +6 -1
  55. package/lib/entityRefresh.js +16 -0
  56. package/lib/entityRefresh.js.map +1 -1
  57. package/lib/utils.js +11 -0
  58. package/lib/utils.js.map +1 -1
  59. package/package.json +23 -27
  60. package/src/Entity.ts +171 -108
  61. package/src/Entity.types.ts +29 -47
  62. package/src/EntityWeakCache.ts +8 -6
  63. package/src/HttpRequester.ts +308 -35
  64. package/src/Nymph.ts +212 -96
  65. package/src/Nymph.types.ts +51 -2
  66. package/src/PubSub.ts +214 -141
  67. package/src/PubSub.types.ts +10 -5
  68. package/src/entityRefresh.ts +6 -6
  69. package/src/index.ts +10 -10
  70. package/src/utils.ts +12 -5
  71. package/tsconfig.json +6 -4
  72. package/typedoc.json +4 -0
  73. package/dist/index.js.LICENSE.txt +0 -8
  74. 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;QACrC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KACtB;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAND,sCAMC;AAED,SAAgB,8BAA8B,CAAC,IAAS;IACtD,IACE,OAAO,IAAI,KAAK,UAAU;QAC1B,IAAI,CAAC,SAAS,YAAY,gBAAM;QAChC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAC9B;QAEA,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAE9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;KACnE;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE;QACjC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;KACf;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AApBD,wEAoBC;AAED,SAAgB,oBAAoB,CAAC,IAAS;IAC5C,IAAI,IAAI,YAAY,gBAAM,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE;QAErE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;KAC5B;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAE9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;KACzD;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE;QACjC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;KACf;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAhBD,oDAgBC;AAED,SAAgB,oBAAoB,CAAC,IAAS,EAAE,KAAY;IAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAEvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,wBAAwB,EAAE;YACxC,IAAI;gBACF,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,OAAO,WAAW,CAAC,gBAAgB,CAAC,IAAuB,CAAC,CAAC;aAC9D;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YAEL,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SAC9D;KACF;SAAM,IAAI,gBAAM,IAAI,IAAI,YAAY,MAAM,IAAI,CAAC,CAAC,IAAI,YAAY,gBAAM,CAAC,EAAE;QACxE,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAChD;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AArBD,oDAqBC;AAED,SAAgB,OAAO,CAAiC,GAAM;IAG5D,MAAM,SAAS,GAAyB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KAC1B;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,0BAWC"}
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.1",
4
- "description": "NymphJS - Client",
5
- "browser": "dist/index.js",
6
- "main": "lib/index.js",
7
- "types": "lib/index.d.ts",
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": "npm run clean:ts && npm run clean:js",
15
- "clean:ts": "test -d lib && rm -r lib || true",
16
- "clean:js": "test -d dist && rm -r dist || true",
17
- "build": "npm run build:ts && npm run build:js",
18
- "build:ts": "tsc",
19
- "build:js": "webpack",
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.1",
40
- "@types/jest": "^29.2.3",
41
- "@types/lodash": "^4.14.189",
42
- "jest": "^29.3.1",
43
- "lodash": "^4.17.21",
44
- "ts-jest": "^29.0.3",
45
- "ts-loader": "^9.4.1",
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": "648d901c504d57f2d439cd751b60af0ebd4d63b8"
46
+ "gitHead": "254b2ccd1cc7838dcbf08e860d2833475a15b244"
51
47
  }