@nymphjs/client 1.0.0-beta.9 → 1.0.0-beta.91

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 (70) hide show
  1. package/CHANGELOG.md +378 -0
  2. package/README.md +6 -6
  3. package/asyncitertest.js +53 -0
  4. package/dist/Entity.d.ts +156 -0
  5. package/{lib → dist}/Entity.js +202 -104
  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/{lib → dist}/EntityWeakCache.d.ts +1 -1
  10. package/{lib → dist}/EntityWeakCache.js +5 -9
  11. package/dist/EntityWeakCache.js.map +1 -0
  12. package/dist/HttpRequester.d.ts +78 -0
  13. package/dist/HttpRequester.js +365 -0
  14. package/dist/HttpRequester.js.map +1 -0
  15. package/{lib → dist}/Nymph.d.ts +44 -11
  16. package/{lib → dist}/Nymph.js +118 -39
  17. package/dist/Nymph.js.map +1 -0
  18. package/{lib → dist}/Nymph.types.d.ts +74 -2
  19. package/dist/Nymph.types.js +2 -0
  20. package/{lib → dist}/PubSub.d.ts +16 -10
  21. package/{lib → dist}/PubSub.js +172 -108
  22. package/dist/PubSub.js.map +1 -0
  23. package/{lib → dist}/PubSub.types.d.ts +8 -3
  24. package/dist/PubSub.types.js +2 -0
  25. package/{lib → dist}/entityRefresh.d.ts +1 -1
  26. package/{lib → dist}/entityRefresh.js +21 -13
  27. package/dist/entityRefresh.js.map +1 -0
  28. package/dist/index.d.ts +13 -0
  29. package/dist/index.js +13 -2
  30. package/dist/index.js.map +1 -1
  31. package/{lib → dist}/utils.d.ts +1 -1
  32. package/{lib → dist}/utils.js +28 -21
  33. package/dist/utils.js.map +1 -0
  34. package/jest.config.js +11 -2
  35. package/package.json +23 -27
  36. package/src/Entity.ts +170 -104
  37. package/src/Entity.types.ts +29 -47
  38. package/src/EntityWeakCache.ts +8 -6
  39. package/src/HttpRequester.ts +308 -35
  40. package/src/Nymph.ts +134 -70
  41. package/src/Nymph.types.ts +41 -2
  42. package/src/PubSub.ts +214 -141
  43. package/src/PubSub.types.ts +10 -5
  44. package/src/entityRefresh.ts +6 -6
  45. package/src/index.ts +10 -10
  46. package/src/utils.ts +12 -5
  47. package/tsconfig.json +6 -4
  48. package/typedoc.json +4 -0
  49. package/dist/index.js.LICENSE.txt +0 -8
  50. package/lib/Entity.d.ts +0 -51
  51. package/lib/Entity.js.map +0 -1
  52. package/lib/Entity.types.d.ts +0 -65
  53. package/lib/Entity.types.js +0 -3
  54. package/lib/EntityWeakCache.js.map +0 -1
  55. package/lib/HttpRequester.d.ts +0 -42
  56. package/lib/HttpRequester.js +0 -160
  57. package/lib/HttpRequester.js.map +0 -1
  58. package/lib/Nymph.js.map +0 -1
  59. package/lib/Nymph.types.js +0 -3
  60. package/lib/PubSub.js.map +0 -1
  61. package/lib/PubSub.types.js +0 -3
  62. package/lib/entityRefresh.js.map +0 -1
  63. package/lib/index.d.ts +0 -13
  64. package/lib/index.js +0 -34
  65. package/lib/index.js.map +0 -1
  66. package/lib/utils.js.map +0 -1
  67. package/webpack.config.js +0 -28
  68. /package/{lib → dist}/Entity.types.js.map +0 -0
  69. /package/{lib → dist}/Nymph.types.js.map +0 -0
  70. /package/{lib → dist}/PubSub.types.js.map +0 -0
@@ -1,4 +1,4 @@
1
- import Nymph from './Nymph';
1
+ import Nymph from './Nymph.js';
2
2
  export declare function uniqueStrings(array: string[]): string[];
3
3
  export declare function entityConstructorsToClassNames(item: any): any;
4
4
  export declare function entitiesToReferences(item: any): any;
@@ -1,25 +1,20 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sortObj = exports.referencesToEntities = exports.entitiesToReferences = exports.entityConstructorsToClassNames = exports.uniqueStrings = void 0;
7
- const Entity_1 = __importDefault(require("./Entity"));
8
- function uniqueStrings(array) {
1
+ import Entity from './Entity.js';
2
+ export function uniqueStrings(array) {
9
3
  const obj = {};
10
4
  for (let i = 0; i < array.length; ++i) {
11
5
  obj[array[i]] = true;
12
6
  }
13
7
  return Object.keys(obj);
14
8
  }
15
- exports.uniqueStrings = uniqueStrings;
16
- function entityConstructorsToClassNames(item) {
9
+ export function entityConstructorsToClassNames(item) {
17
10
  if (typeof item === 'function' &&
18
- item.prototype instanceof Entity_1.default &&
11
+ item.prototype instanceof Entity &&
19
12
  typeof item.class === 'string') {
13
+ // Convert entity classes to strings.
20
14
  return item.class;
21
15
  }
22
16
  else if (Array.isArray(item)) {
17
+ // Recurse into lower arrays.
23
18
  return item.map((entry) => entityConstructorsToClassNames(entry));
24
19
  }
25
20
  else if (item instanceof Object) {
@@ -29,14 +24,20 @@ function entityConstructorsToClassNames(item) {
29
24
  }
30
25
  return newObj;
31
26
  }
27
+ // Not an entity or array, just return it.
32
28
  return item;
33
29
  }
34
- exports.entityConstructorsToClassNames = entityConstructorsToClassNames;
35
- function entitiesToReferences(item) {
36
- if (item instanceof Entity_1.default && typeof item.$toReference === 'function') {
30
+ export function entitiesToReferences(item) {
31
+ if (item == null) {
32
+ return item;
33
+ }
34
+ else if (item instanceof Entity &&
35
+ typeof item.$toReference === 'function') {
36
+ // Convert entities to references.
37
37
  return item.$toReference();
38
38
  }
39
39
  else if (Array.isArray(item)) {
40
+ // Recurse into lower arrays.
40
41
  return item.map((entry) => entitiesToReferences(entry));
41
42
  }
42
43
  else if (item instanceof Object) {
@@ -46,11 +47,15 @@ function entitiesToReferences(item) {
46
47
  }
47
48
  return newObj;
48
49
  }
50
+ // Not an entity or array, just return it.
49
51
  return item;
50
52
  }
51
- exports.entitiesToReferences = entitiesToReferences;
52
- function referencesToEntities(item, nymph) {
53
- if (Array.isArray(item)) {
53
+ export function referencesToEntities(item, nymph) {
54
+ if (item == null) {
55
+ return item;
56
+ }
57
+ else if (Array.isArray(item)) {
58
+ // Check if it's a reference.
54
59
  if (item[0] === 'nymph_entity_reference') {
55
60
  try {
56
61
  const EntityClass = nymph.getEntityClass(item[2]);
@@ -61,18 +66,21 @@ function referencesToEntities(item, nymph) {
61
66
  }
62
67
  }
63
68
  else {
69
+ // Recurse into lower arrays.
64
70
  return item.map((item) => referencesToEntities(item, nymph));
65
71
  }
66
72
  }
67
- else if (Entity_1.default && item instanceof Object && !(item instanceof Entity_1.default)) {
73
+ else if (Entity && item instanceof Object && !(item instanceof Entity)) {
68
74
  for (let [key, value] of Object.entries(item)) {
69
75
  item[key] = referencesToEntities(value, nymph);
70
76
  }
71
77
  }
78
+ // Not an array, just return it.
72
79
  return item;
73
80
  }
74
- exports.referencesToEntities = referencesToEntities;
75
- function sortObj(obj) {
81
+ export function sortObj(obj) {
82
+ // adapted from
83
+ // http://am.aurlien.net/post/1221493460/sorting-javascript-objects
76
84
  const tempArray = Object.keys(obj);
77
85
  tempArray.sort();
78
86
  for (let i = 0; i < tempArray.length; i++) {
@@ -82,5 +90,4 @@ function sortObj(obj) {
82
90
  }
83
91
  return obj;
84
92
  }
85
- exports.sortObj = sortObj;
86
93
  //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,UAAU,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,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,IACE,OAAO,IAAI,KAAK,UAAU;QAC1B,IAAI,CAAC,SAAS,YAAY,MAAM;QAChC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAC9B,CAAC;QACD,qCAAqC;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,6BAA6B;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAClC,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,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,0CAA0C;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAS;IAC5C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IACL,IAAI,YAAY,MAAM;QACtB,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,EACvC,CAAC;QACD,kCAAkC;QAClC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,6BAA6B;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAClC,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,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,0CAA0C;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAS,EAAE,KAAY;IAC1D,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,6BAA6B;QAC7B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,wBAAwB,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,OAAO,WAAW,CAAC,gBAAgB,CAAC,IAAuB,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,IAAI,YAAY,MAAM,IAAI,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,EAAE,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,gCAAgC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAiC,GAAM;IAC5D,eAAe;IACf,mEAAmE;IACnE,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,CAAC;QAC1C,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;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/jest.config.js CHANGED
@@ -1,6 +1,15 @@
1
+ import { createDefaultEsmPreset } from 'ts-jest';
2
+
3
+ const presetConfig = createDefaultEsmPreset();
4
+
1
5
  /** @type {import('ts-jest').JestConfigWithTsJest} */
2
- module.exports = {
3
- preset: 'ts-jest',
6
+ const jestConfig = {
7
+ ...presetConfig,
4
8
  testEnvironment: 'node',
5
9
  rootDir: 'src/',
10
+ moduleNameMapper: {
11
+ '^(\\.|\\.\\.)\\/(.+)\\.js': '$1/$2',
12
+ },
6
13
  };
14
+
15
+ export default jestConfig;
package/package.json CHANGED
@@ -1,27 +1,22 @@
1
1
  {
2
2
  "name": "@nymphjs/client",
3
- "version": "1.0.0-beta.9",
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.91",
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.5",
41
- "@types/lodash": "^4.14.191",
42
- "jest": "^29.3.1",
43
- "lodash": "^4.17.21",
44
- "ts-jest": "^29.0.3",
45
- "ts-loader": "^9.4.2",
46
- "typescript": "^4.9.4",
47
- "webpack": "^5.75.0",
48
- "webpack-cli": "^5.0.1"
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": "dd7ad255610e1028dc232c818b1af0b627847764"
46
+ "gitHead": "45074e1da0e7879625382a3d35134cde45793f24"
51
47
  }