@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.
- package/CHANGELOG.md +378 -0
- package/README.md +6 -6
- package/asyncitertest.js +53 -0
- package/dist/Entity.d.ts +156 -0
- package/{lib → dist}/Entity.js +202 -104
- package/dist/Entity.js.map +1 -0
- package/dist/Entity.types.d.ts +218 -0
- package/dist/Entity.types.js +2 -0
- package/{lib → dist}/EntityWeakCache.d.ts +1 -1
- package/{lib → dist}/EntityWeakCache.js +5 -9
- 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/{lib → dist}/Nymph.d.ts +44 -11
- package/{lib → dist}/Nymph.js +118 -39
- package/dist/Nymph.js.map +1 -0
- package/{lib → dist}/Nymph.types.d.ts +74 -2
- package/dist/Nymph.types.js +2 -0
- package/{lib → dist}/PubSub.d.ts +16 -10
- package/{lib → dist}/PubSub.js +172 -108
- package/dist/PubSub.js.map +1 -0
- package/{lib → dist}/PubSub.types.d.ts +8 -3
- package/dist/PubSub.types.js +2 -0
- package/{lib → dist}/entityRefresh.d.ts +1 -1
- package/{lib → dist}/entityRefresh.js +21 -13
- 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/{lib → dist}/utils.d.ts +1 -1
- package/{lib → dist}/utils.js +28 -21
- package/dist/utils.js.map +1 -0
- package/jest.config.js +11 -2
- package/package.json +23 -27
- package/src/Entity.ts +170 -104
- package/src/Entity.types.ts +29 -47
- package/src/EntityWeakCache.ts +8 -6
- package/src/HttpRequester.ts +308 -35
- package/src/Nymph.ts +134 -70
- package/src/Nymph.types.ts +41 -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/lib/Entity.d.ts +0 -51
- package/lib/Entity.js.map +0 -1
- package/lib/Entity.types.d.ts +0 -65
- package/lib/Entity.types.js +0 -3
- package/lib/EntityWeakCache.js.map +0 -1
- package/lib/HttpRequester.d.ts +0 -42
- package/lib/HttpRequester.js +0 -160
- package/lib/HttpRequester.js.map +0 -1
- package/lib/Nymph.js.map +0 -1
- package/lib/Nymph.types.js +0 -3
- package/lib/PubSub.js.map +0 -1
- package/lib/PubSub.types.js +0 -3
- package/lib/entityRefresh.js.map +0 -1
- package/lib/index.d.ts +0 -13
- package/lib/index.js +0 -34
- package/lib/index.js.map +0 -1
- package/lib/utils.js.map +0 -1
- package/webpack.config.js +0 -28
- /package/{lib → dist}/Entity.types.js.map +0 -0
- /package/{lib → dist}/Nymph.types.js.map +0 -0
- /package/{lib → dist}/PubSub.types.js.map +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,384 @@
|
|
|
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.91](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.90...v1.0.0-beta.91) (2025-03-07)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
9
|
+
|
|
10
|
+
# [1.0.0-beta.90](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.89...v1.0.0-beta.90) (2025-02-09)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
13
|
+
|
|
14
|
+
# [1.0.0-beta.89](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.88...v1.0.0-beta.89) (2025-02-09)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
17
|
+
|
|
18
|
+
# [1.0.0-beta.88](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.87...v1.0.0-beta.88) (2025-01-30)
|
|
19
|
+
|
|
20
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
21
|
+
|
|
22
|
+
# [1.0.0-beta.87](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.86...v1.0.0-beta.87) (2025-01-20)
|
|
23
|
+
|
|
24
|
+
### Features
|
|
25
|
+
|
|
26
|
+
- deprecate node client and allow multiple client instances to each log in own users ([17b42f4](https://github.com/sciactive/nymphjs/commit/17b42f449f2355a3ce896b8e86a47edd660e9277))
|
|
27
|
+
|
|
28
|
+
# [1.0.0-beta.86](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.85...v1.0.0-beta.86) (2024-12-28)
|
|
29
|
+
|
|
30
|
+
### Bug Fixes
|
|
31
|
+
|
|
32
|
+
- entity search functions handling of null values ([6ac0335](https://github.com/sciactive/nymphjs/commit/6ac0335ecb792979ecfb621395a55b68a607429f))
|
|
33
|
+
|
|
34
|
+
# [1.0.0-beta.85](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.84...v1.0.0-beta.85) (2024-12-27)
|
|
35
|
+
|
|
36
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
37
|
+
|
|
38
|
+
# [1.0.0-beta.84](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.83...v1.0.0-beta.84) (2024-12-21)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
41
|
+
|
|
42
|
+
# [1.0.0-beta.83](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.82...v1.0.0-beta.83) (2024-12-20)
|
|
43
|
+
|
|
44
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
45
|
+
|
|
46
|
+
# [1.0.0-beta.82](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.81...v1.0.0-beta.82) (2024-12-15)
|
|
47
|
+
|
|
48
|
+
### Features
|
|
49
|
+
|
|
50
|
+
- migrate to es modules, upgrade all packages, migrate to Svelte 5 ([3f2b9e5](https://github.com/sciactive/nymphjs/commit/3f2b9e517b39934eddce66601d7fc747fbf3f9e6))
|
|
51
|
+
|
|
52
|
+
# [1.0.0-beta.81](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.80...v1.0.0-beta.81) (2024-09-28)
|
|
53
|
+
|
|
54
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
55
|
+
|
|
56
|
+
# [1.0.0-beta.80](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.79...v1.0.0-beta.80) (2024-09-28)
|
|
57
|
+
|
|
58
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
59
|
+
|
|
60
|
+
# [1.0.0-beta.79](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.78...v1.0.0-beta.79) (2024-09-28)
|
|
61
|
+
|
|
62
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
63
|
+
|
|
64
|
+
# [1.0.0-beta.78](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.77...v1.0.0-beta.78) (2024-09-27)
|
|
65
|
+
|
|
66
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
67
|
+
|
|
68
|
+
# [1.0.0-beta.77](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.76...v1.0.0-beta.77) (2024-09-26)
|
|
69
|
+
|
|
70
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
71
|
+
|
|
72
|
+
# [1.0.0-beta.76](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.75...v1.0.0-beta.76) (2024-09-25)
|
|
73
|
+
|
|
74
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
75
|
+
|
|
76
|
+
# [1.0.0-beta.75](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.74...v1.0.0-beta.75) (2024-09-24)
|
|
77
|
+
|
|
78
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
79
|
+
|
|
80
|
+
# [1.0.0-beta.74](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.73...v1.0.0-beta.74) (2024-09-21)
|
|
81
|
+
|
|
82
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
83
|
+
|
|
84
|
+
# [1.0.0-beta.73](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.72...v1.0.0-beta.73) (2024-09-20)
|
|
85
|
+
|
|
86
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
87
|
+
|
|
88
|
+
# [1.0.0-beta.72](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.71...v1.0.0-beta.72) (2024-09-20)
|
|
89
|
+
|
|
90
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
91
|
+
|
|
92
|
+
# [1.0.0-beta.71](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.70...v1.0.0-beta.71) (2024-09-20)
|
|
93
|
+
|
|
94
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
95
|
+
|
|
96
|
+
# [1.0.0-beta.70](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.69...v1.0.0-beta.70) (2024-09-20)
|
|
97
|
+
|
|
98
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
99
|
+
|
|
100
|
+
# [1.0.0-beta.69](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.68...v1.0.0-beta.69) (2024-09-19)
|
|
101
|
+
|
|
102
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
103
|
+
|
|
104
|
+
# [1.0.0-beta.68](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.67...v1.0.0-beta.68) (2024-09-19)
|
|
105
|
+
|
|
106
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
107
|
+
|
|
108
|
+
# [1.0.0-beta.67](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.66...v1.0.0-beta.67) (2024-09-03)
|
|
109
|
+
|
|
110
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
111
|
+
|
|
112
|
+
# [1.0.0-beta.66](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.65...v1.0.0-beta.66) (2024-08-06)
|
|
113
|
+
|
|
114
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
115
|
+
|
|
116
|
+
# [1.0.0-beta.65](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.64...v1.0.0-beta.65) (2024-08-05)
|
|
117
|
+
|
|
118
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
119
|
+
|
|
120
|
+
# [1.0.0-beta.64](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.63...v1.0.0-beta.64) (2024-08-04)
|
|
121
|
+
|
|
122
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
123
|
+
|
|
124
|
+
# [1.0.0-beta.63](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.62...v1.0.0-beta.63) (2024-06-18)
|
|
125
|
+
|
|
126
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
127
|
+
|
|
128
|
+
# [1.0.0-beta.62](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.61...v1.0.0-beta.62) (2024-06-15)
|
|
129
|
+
|
|
130
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
131
|
+
|
|
132
|
+
# [1.0.0-beta.61](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.60...v1.0.0-beta.61) (2024-06-14)
|
|
133
|
+
|
|
134
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
135
|
+
|
|
136
|
+
# [1.0.0-beta.60](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.59...v1.0.0-beta.60) (2024-06-14)
|
|
137
|
+
|
|
138
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
139
|
+
|
|
140
|
+
# [1.0.0-beta.59](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.58...v1.0.0-beta.59) (2024-06-14)
|
|
141
|
+
|
|
142
|
+
### Features
|
|
143
|
+
|
|
144
|
+
- add uniqueness constraint feature, refactor some types ([8133d32](https://github.com/sciactive/nymphjs/commit/8133d32b2c04907182dca2e9171b8217ed1b57e4))
|
|
145
|
+
|
|
146
|
+
# [1.0.0-beta.58](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.57...v1.0.0-beta.58) (2024-06-12)
|
|
147
|
+
|
|
148
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
149
|
+
|
|
150
|
+
# [1.0.0-beta.57](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.56...v1.0.0-beta.57) (2024-06-12)
|
|
151
|
+
|
|
152
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
153
|
+
|
|
154
|
+
# [1.0.0-beta.56](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.55...v1.0.0-beta.56) (2024-06-11)
|
|
155
|
+
|
|
156
|
+
### Features
|
|
157
|
+
|
|
158
|
+
- allow connections where tokens are not renewed ([39071a5](https://github.com/sciactive/nymphjs/commit/39071a545644075190bd8213be25e0a0c46d2b5d))
|
|
159
|
+
|
|
160
|
+
# [1.0.0-beta.55](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.54...v1.0.0-beta.55) (2024-05-26)
|
|
161
|
+
|
|
162
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
163
|
+
|
|
164
|
+
# [1.0.0-beta.54](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.53...v1.0.0-beta.54) (2024-05-26)
|
|
165
|
+
|
|
166
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
167
|
+
|
|
168
|
+
# [1.0.0-beta.53](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.52...v1.0.0-beta.53) (2024-05-26)
|
|
169
|
+
|
|
170
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
171
|
+
|
|
172
|
+
# [1.0.0-beta.52](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.51...v1.0.0-beta.52) (2024-05-25)
|
|
173
|
+
|
|
174
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
175
|
+
|
|
176
|
+
# [1.0.0-beta.51](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.50...v1.0.0-beta.51) (2024-04-12)
|
|
177
|
+
|
|
178
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
179
|
+
|
|
180
|
+
# [1.0.0-beta.50](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.49...v1.0.0-beta.50) (2024-04-08)
|
|
181
|
+
|
|
182
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
183
|
+
|
|
184
|
+
# [1.0.0-beta.49](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.48...v1.0.0-beta.49) (2024-03-04)
|
|
185
|
+
|
|
186
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
187
|
+
|
|
188
|
+
# [1.0.0-beta.48](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.47...v1.0.0-beta.48) (2023-11-10)
|
|
189
|
+
|
|
190
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
191
|
+
|
|
192
|
+
# [1.0.0-beta.47](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.46...v1.0.0-beta.47) (2023-11-10)
|
|
193
|
+
|
|
194
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
195
|
+
|
|
196
|
+
# [1.0.0-beta.46](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.45...v1.0.0-beta.46) (2023-08-29)
|
|
197
|
+
|
|
198
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
199
|
+
|
|
200
|
+
# [1.0.0-beta.45](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.44...v1.0.0-beta.45) (2023-07-17)
|
|
201
|
+
|
|
202
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
203
|
+
|
|
204
|
+
# [1.0.0-beta.44](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.43...v1.0.0-beta.44) (2023-07-13)
|
|
205
|
+
|
|
206
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
207
|
+
|
|
208
|
+
# [1.0.0-beta.43](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.42...v1.0.0-beta.43) (2023-07-12)
|
|
209
|
+
|
|
210
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
211
|
+
|
|
212
|
+
# [1.0.0-beta.42](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.41...v1.0.0-beta.42) (2023-07-12)
|
|
213
|
+
|
|
214
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
215
|
+
|
|
216
|
+
# [1.0.0-beta.41](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.40...v1.0.0-beta.41) (2023-07-12)
|
|
217
|
+
|
|
218
|
+
### Features
|
|
219
|
+
|
|
220
|
+
- remove synchronous database queries ([b579fb2](https://github.com/sciactive/nymphjs/commit/b579fb2eacd96cdd1b386a62c5c00cdbb2438f6e))
|
|
221
|
+
- rewrite server side async api to match client side api ([9c537a8](https://github.com/sciactive/nymphjs/commit/9c537a8be49e9b989af0822a4c2236e8c2d20f87))
|
|
222
|
+
|
|
223
|
+
# [1.0.0-beta.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.39...v1.0.0-beta.40) (2023-07-10)
|
|
224
|
+
|
|
225
|
+
### Bug Fixes
|
|
226
|
+
|
|
227
|
+
- rewrite updateArray function to fix it ([22185c7](https://github.com/sciactive/nymphjs/commit/22185c7627f6dc616f9d3187ee8c9a383ca71441))
|
|
228
|
+
|
|
229
|
+
# [1.0.0-beta.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.38...v1.0.0-beta.39) (2023-07-09)
|
|
230
|
+
|
|
231
|
+
### Bug Fixes
|
|
232
|
+
|
|
233
|
+
- go back to older code for updateArray, but better number handling ([7a58c98](https://github.com/sciactive/nymphjs/commit/7a58c983eac73839544361b4d32fb2dbb0881da2))
|
|
234
|
+
|
|
235
|
+
# [1.0.0-beta.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.37...v1.0.0-beta.38) (2023-07-09)
|
|
236
|
+
|
|
237
|
+
### Bug Fixes
|
|
238
|
+
|
|
239
|
+
- pull value from the array in updateArray function ([352d1ea](https://github.com/sciactive/nymphjs/commit/352d1eab0cf8868f672ce0350564eb75ac9d4a45))
|
|
240
|
+
- simplify updateArray code ([348154c](https://github.com/sciactive/nymphjs/commit/348154c4d42b1e2b54bc491c1588a59c7c48984c))
|
|
241
|
+
|
|
242
|
+
# [1.0.0-beta.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.36...v1.0.0-beta.37) (2023-07-09)
|
|
243
|
+
|
|
244
|
+
### Bug Fixes
|
|
245
|
+
|
|
246
|
+
- correctly iterate through new arrays on updateArray pubsub method ([27d7cc8](https://github.com/sciactive/nymphjs/commit/27d7cc847d93300e3d76cf6fa528176c3d06ae67))
|
|
247
|
+
|
|
248
|
+
# [1.0.0-beta.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.35...v1.0.0-beta.36) (2023-07-09)
|
|
249
|
+
|
|
250
|
+
### Bug Fixes
|
|
251
|
+
|
|
252
|
+
- use code 1000 for closing pubsub connection ([cbd56af](https://github.com/sciactive/nymphjs/commit/cbd56af98d0775dee36025d909a82a0af0633d72))
|
|
253
|
+
|
|
254
|
+
# [1.0.0-beta.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.34...v1.0.0-beta.35) (2023-06-14)
|
|
255
|
+
|
|
256
|
+
### Features
|
|
257
|
+
|
|
258
|
+
- add iteratable server call support using event streams ([fa7c1ec](https://github.com/sciactive/nymphjs/commit/fa7c1ec869e1fb52db20c8245e98a681f73dbf83))
|
|
259
|
+
|
|
260
|
+
# [1.0.0-beta.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.33...v1.0.0-beta.34) (2023-05-13)
|
|
261
|
+
|
|
262
|
+
### Bug Fixes
|
|
263
|
+
|
|
264
|
+
- subscribeWith making guid null ([dbb38d4](https://github.com/sciactive/nymphjs/commit/dbb38d424f2395bbfa01ab4a0663dcaebf0c7aa7))
|
|
265
|
+
|
|
266
|
+
# [1.0.0-beta.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.32...v1.0.0-beta.33) (2023-05-13)
|
|
267
|
+
|
|
268
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
269
|
+
|
|
270
|
+
# [1.0.0-beta.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.31...v1.0.0-beta.32) (2023-05-13)
|
|
271
|
+
|
|
272
|
+
### Features
|
|
273
|
+
|
|
274
|
+
- issue initial request with pubsub instead of rest on subscribe ([8a232d2](https://github.com/sciactive/nymphjs/commit/8a232d2faeb8622924f9c35a01a8f71a70659bb3))
|
|
275
|
+
|
|
276
|
+
# [1.0.0-beta.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.30...v1.0.0-beta.31) (2023-05-12)
|
|
277
|
+
|
|
278
|
+
### Bug Fixes
|
|
279
|
+
|
|
280
|
+
- pubsub client reconnect multiple times issue ([bba0897](https://github.com/sciactive/nymphjs/commit/bba08974fadf318d040f8844a2d583f6bc15b486))
|
|
281
|
+
|
|
282
|
+
# [1.0.0-beta.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.29...v1.0.0-beta.30) (2023-05-12)
|
|
283
|
+
|
|
284
|
+
### Features
|
|
285
|
+
|
|
286
|
+
- allow providing getEntityClass with a class instead of string ([ecd64c1](https://github.com/sciactive/nymphjs/commit/ecd64c1bf92e3657889613b76bcc46652f371ead))
|
|
287
|
+
|
|
288
|
+
# [1.0.0-beta.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.28...v1.0.0-beta.29) (2023-05-08)
|
|
289
|
+
|
|
290
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
291
|
+
|
|
292
|
+
# [1.0.0-beta.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.27...v1.0.0-beta.28) (2023-05-05)
|
|
293
|
+
|
|
294
|
+
### Bug Fixes
|
|
295
|
+
|
|
296
|
+
- pubsub client auth ([979d913](https://github.com/sciactive/nymphjs/commit/979d9138abc86c7cef8b80b4f63c519b7b7ded78))
|
|
297
|
+
|
|
298
|
+
# [1.0.0-beta.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.26...v1.0.0-beta.27) (2023-05-04)
|
|
299
|
+
|
|
300
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
301
|
+
|
|
302
|
+
# [1.0.0-beta.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.25...v1.0.0-beta.26) (2023-05-04)
|
|
303
|
+
|
|
304
|
+
### Features
|
|
305
|
+
|
|
306
|
+
- update packages and migrate to mysql2 ([72ad611](https://github.com/sciactive/nymphjs/commit/72ad611bd2bf7bf85c3ba8a3486503d9b50c49d6))
|
|
307
|
+
|
|
308
|
+
# [1.0.0-beta.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.24...v1.0.0-beta.25) (2023-05-04)
|
|
309
|
+
|
|
310
|
+
### Features
|
|
311
|
+
|
|
312
|
+
- add flags to disable rest and pubsub support on an entity class ([52106a3](https://github.com/sciactive/nymphjs/commit/52106a3d44065bcfec40d361344bf1eba59a5136)), closes [#1](https://github.com/sciactive/nymphjs/issues/1)
|
|
313
|
+
|
|
314
|
+
# [1.0.0-beta.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.23...v1.0.0-beta.24) (2023-05-02)
|
|
315
|
+
|
|
316
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
317
|
+
|
|
318
|
+
# [1.0.0-beta.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.22...v1.0.0-beta.23) (2023-05-02)
|
|
319
|
+
|
|
320
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
321
|
+
|
|
322
|
+
# [1.0.0-beta.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.21...v1.0.0-beta.22) (2023-05-01)
|
|
323
|
+
|
|
324
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
325
|
+
|
|
326
|
+
# [1.0.0-beta.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2023-05-01)
|
|
327
|
+
|
|
328
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
329
|
+
|
|
330
|
+
# [1.0.0-beta.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2023-04-30)
|
|
331
|
+
|
|
332
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
333
|
+
|
|
334
|
+
# [1.0.0-beta.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2023-04-29)
|
|
335
|
+
|
|
336
|
+
### Bug Fixes
|
|
337
|
+
|
|
338
|
+
- some type issues ([ee69d5d](https://github.com/sciactive/nymphjs/commit/ee69d5d73361dacda5745d697df18fafd47810bc))
|
|
339
|
+
|
|
340
|
+
# [1.0.0-beta.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2023-04-27)
|
|
341
|
+
|
|
342
|
+
### Features
|
|
343
|
+
|
|
344
|
+
- add the ability to switch to a user without their password ([ca4466a](https://github.com/sciactive/nymphjs/commit/ca4466af1704d68905ac087350a8cf151c1072d9))
|
|
345
|
+
|
|
346
|
+
# [1.0.0-beta.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.16...v1.0.0-beta.17) (2023-04-24)
|
|
347
|
+
|
|
348
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
349
|
+
|
|
350
|
+
# [1.0.0-beta.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.15...v1.0.0-beta.16) (2023-03-31)
|
|
351
|
+
|
|
352
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
353
|
+
|
|
354
|
+
# [1.0.0-beta.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2023-03-23)
|
|
355
|
+
|
|
356
|
+
### Features
|
|
357
|
+
|
|
358
|
+
- add option to sort results by a property ([16384e7](https://github.com/sciactive/nymphjs/commit/16384e7bdab88abb55ccccabb06ac09f92fa8a03))
|
|
359
|
+
|
|
360
|
+
# [1.0.0-beta.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.13...v1.0.0-beta.14) (2023-03-17)
|
|
361
|
+
|
|
362
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
363
|
+
|
|
364
|
+
# [1.0.0-beta.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.12...v1.0.0-beta.13) (2023-03-16)
|
|
365
|
+
|
|
366
|
+
### Features
|
|
367
|
+
|
|
368
|
+
- add noAutoconnect option to pubsub client ([266e715](https://github.com/sciactive/nymphjs/commit/266e715988b34f3e0d58ac68178677d2086b5160))
|
|
369
|
+
|
|
370
|
+
# [1.0.0-beta.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.11...v1.0.0-beta.12) (2023-03-04)
|
|
371
|
+
|
|
372
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
373
|
+
|
|
374
|
+
# [1.0.0-beta.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2023-02-27)
|
|
375
|
+
|
|
376
|
+
### Features
|
|
377
|
+
|
|
378
|
+
- allow customizing HTTP status codes in response from server called methods ([8c5c3d4](https://github.com/sciactive/nymphjs/commit/8c5c3d4af741edabc1a8947aaebf026ba546c46a))
|
|
379
|
+
|
|
380
|
+
# [1.0.0-beta.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2023-01-19)
|
|
381
|
+
|
|
382
|
+
**Note:** Version bump only for package @nymphjs/client
|
|
383
|
+
|
|
6
384
|
# [1.0.0-beta.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2023-01-09)
|
|
7
385
|
|
|
8
386
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Powerful object data storage and querying.
|
|
4
4
|
|
|
5
|
-
The Nymph Client allows you to query and push data to a Nymph REST server from the browser. You can also subscribe to entities and queries on a Nymph PubSub server and be notified of changes.
|
|
5
|
+
The Nymph Client allows you to query and push data to a Nymph REST server from the browser or Node.js. You can also subscribe to entities and queries on a Nymph PubSub server and be notified of changes.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ The Nymph Client allows you to query and push data to a Nymph REST server from t
|
|
|
10
10
|
npm install --save @nymphjs/client
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
This package is the Nymph client for browsers. You can find
|
|
13
|
+
This package is the Nymph client for browsers and Node.js, but requires at least Node.js 22 to be used in Node. You can find ES modules in `dist`, or TS source in `src`.
|
|
14
14
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ Here's an overview:
|
|
|
18
18
|
|
|
19
19
|
```ts
|
|
20
20
|
import { Nymph, PubSub } from '@nymphjs/client';
|
|
21
|
-
import TodoClass from 'Todo';
|
|
21
|
+
import TodoClass from './Todo.js';
|
|
22
22
|
|
|
23
23
|
const nymphOptions = {
|
|
24
24
|
restUrl: 'https://yournymphrestserver/path/to/your/endpoint',
|
|
@@ -59,7 +59,7 @@ let subscription = pubsub.subscribeEntities(
|
|
|
59
59
|
{
|
|
60
60
|
type: '&',
|
|
61
61
|
'!tag': 'archived',
|
|
62
|
-
}
|
|
62
|
+
},
|
|
63
63
|
)(
|
|
64
64
|
(update) => {
|
|
65
65
|
// The first time this is called, `update` will be an array of Todo
|
|
@@ -77,7 +77,7 @@ let subscription = pubsub.subscribeEntities(
|
|
|
77
77
|
// If you provide this callback, the server will send updates of how many
|
|
78
78
|
// clients are subscribed to this query.
|
|
79
79
|
userCount = count;
|
|
80
|
-
}
|
|
80
|
+
},
|
|
81
81
|
);
|
|
82
82
|
|
|
83
83
|
// ...
|
|
@@ -88,7 +88,7 @@ subscription.unsubscribe();
|
|
|
88
88
|
|
|
89
89
|
# License
|
|
90
90
|
|
|
91
|
-
Copyright 2021 SciActive Inc
|
|
91
|
+
Copyright 2021-2025 SciActive Inc
|
|
92
92
|
|
|
93
93
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
94
94
|
you may not use this file except in compliance with the License.
|
package/asyncitertest.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
async function* iterate() {
|
|
2
|
+
let values = [1, 2, 3];
|
|
3
|
+
let finished = false;
|
|
4
|
+
|
|
5
|
+
let promise = new Promise((resolve) => {
|
|
6
|
+
setTimeout(() => {
|
|
7
|
+
promise = new Promise((resolve) => {
|
|
8
|
+
setTimeout(() => {
|
|
9
|
+
values.push(4);
|
|
10
|
+
promise = new Promise((resolve) => {
|
|
11
|
+
setTimeout(() => {
|
|
12
|
+
values.push(5, 6);
|
|
13
|
+
finished = true;
|
|
14
|
+
resolve();
|
|
15
|
+
}, 3000);
|
|
16
|
+
});
|
|
17
|
+
resolve();
|
|
18
|
+
}, 3000);
|
|
19
|
+
});
|
|
20
|
+
resolve();
|
|
21
|
+
}, 0);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const iterable = {
|
|
25
|
+
async *[Symbol.asyncIterator]() {
|
|
26
|
+
do {
|
|
27
|
+
await promise;
|
|
28
|
+
|
|
29
|
+
while (values.length) {
|
|
30
|
+
yield values.shift();
|
|
31
|
+
}
|
|
32
|
+
} while (!finished);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
yield* iterable;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
(async () => {
|
|
40
|
+
const iter = iterate();
|
|
41
|
+
|
|
42
|
+
for await (let value of iter) {
|
|
43
|
+
console.log(value);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
console.log('done');
|
|
47
|
+
|
|
48
|
+
for await (let value of ['a', 'b', 'c']) {
|
|
49
|
+
console.log(value);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
console.log('done');
|
|
53
|
+
})();
|
package/dist/Entity.d.ts
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import type Nymph from './Nymph.js';
|
|
2
|
+
import { EntityConstructor, EntityData, EntityInterface, EntityJson, EntityPatch, EntityReference } from './Entity.types.js';
|
|
3
|
+
export type EntityDataType<T> = T extends Entity<infer DataType> ? DataType : never;
|
|
4
|
+
export type EntityInstanceType<T extends EntityConstructor> = T extends new () => infer E ? E & EntityDataType<E> : never;
|
|
5
|
+
export default class Entity<T extends EntityData = EntityData> implements EntityInterface {
|
|
6
|
+
/**
|
|
7
|
+
* The instance of Nymph to use for queries.
|
|
8
|
+
*/
|
|
9
|
+
static nymph: Nymph;
|
|
10
|
+
/**
|
|
11
|
+
* The lookup name for this entity.
|
|
12
|
+
*
|
|
13
|
+
* This is used for reference arrays (and sleeping references) and server
|
|
14
|
+
* requests.
|
|
15
|
+
*/
|
|
16
|
+
static class: string;
|
|
17
|
+
/**
|
|
18
|
+
* The instance of Nymph to use for queries.
|
|
19
|
+
*/
|
|
20
|
+
$nymph: Nymph;
|
|
21
|
+
/**
|
|
22
|
+
* The entity's Globally Unique ID.
|
|
23
|
+
*/
|
|
24
|
+
guid: string | null;
|
|
25
|
+
/**
|
|
26
|
+
* The creation date of the entity as a high precision Unix timestamp.
|
|
27
|
+
*/
|
|
28
|
+
cdate: number | null;
|
|
29
|
+
/**
|
|
30
|
+
* The modified date of the entity as a high precision Unix timestamp.
|
|
31
|
+
*/
|
|
32
|
+
mdate: number | null;
|
|
33
|
+
/**
|
|
34
|
+
* Array of the entity's tags.
|
|
35
|
+
*/
|
|
36
|
+
tags: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Array of the entity's original tags (for patch).
|
|
39
|
+
*/
|
|
40
|
+
protected $originalTags: string[];
|
|
41
|
+
/**
|
|
42
|
+
* A map of props to whether they're dirty (for patch).
|
|
43
|
+
*/
|
|
44
|
+
protected $dirty: {
|
|
45
|
+
[k: string]: boolean;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* The data proxy handler.
|
|
49
|
+
*/
|
|
50
|
+
protected $dataHandler: Object;
|
|
51
|
+
/**
|
|
52
|
+
* The actual data store.
|
|
53
|
+
*/
|
|
54
|
+
protected $dataStore: T;
|
|
55
|
+
/**
|
|
56
|
+
* The data proxy object.
|
|
57
|
+
*/
|
|
58
|
+
protected $data: T;
|
|
59
|
+
/**
|
|
60
|
+
* Whether this instance is a sleeping reference.
|
|
61
|
+
*/
|
|
62
|
+
protected $isASleepingReference: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* The reference to use to wake.
|
|
65
|
+
*/
|
|
66
|
+
protected $sleepingReference: EntityReference | null;
|
|
67
|
+
/**
|
|
68
|
+
* A promise that resolved when the entity's data is wake.
|
|
69
|
+
*/
|
|
70
|
+
protected $wakePromise: Promise<Entity<T>> | null;
|
|
71
|
+
/**
|
|
72
|
+
* Initialize an entity.
|
|
73
|
+
*/
|
|
74
|
+
constructor(..._rest: any[]);
|
|
75
|
+
/**
|
|
76
|
+
* Create or retrieve a new entity instance.
|
|
77
|
+
*
|
|
78
|
+
* Note that this will always return an entity, even if the GUID is not found.
|
|
79
|
+
*
|
|
80
|
+
* @param guid An optional GUID to retrieve.
|
|
81
|
+
*/
|
|
82
|
+
static factory<E extends Entity>(this: {
|
|
83
|
+
new (): E;
|
|
84
|
+
}, guid?: string): Promise<E & EntityDataType<E>>;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new entity instance.
|
|
87
|
+
*/
|
|
88
|
+
static factorySync<E extends Entity>(this: {
|
|
89
|
+
new (): E;
|
|
90
|
+
}): E & EntityDataType<E>;
|
|
91
|
+
/**
|
|
92
|
+
* Create a new sleeping reference instance.
|
|
93
|
+
*
|
|
94
|
+
* Sleeping references won't retrieve their data from the server until they
|
|
95
|
+
* are readied with `$wake()` or a parent's `$wakeAll()`.
|
|
96
|
+
*
|
|
97
|
+
* @param reference The Nymph Entity Reference to use to wake.
|
|
98
|
+
* @returns The new instance.
|
|
99
|
+
*/
|
|
100
|
+
static factoryReference<E extends Entity>(this: {
|
|
101
|
+
new (): E;
|
|
102
|
+
}, reference: EntityReference): E & EntityDataType<E>;
|
|
103
|
+
/**
|
|
104
|
+
* Call a static method on the server version of this entity.
|
|
105
|
+
*
|
|
106
|
+
* @param method The name of the method.
|
|
107
|
+
* @param params The parameters to call the method with.
|
|
108
|
+
* @returns The value that the method on the server returned.
|
|
109
|
+
*/
|
|
110
|
+
static serverCallStatic(method: string, params: Iterable<any>): Promise<any>;
|
|
111
|
+
/**
|
|
112
|
+
* Call a static iterator method on the server version of this entity.
|
|
113
|
+
*
|
|
114
|
+
* @param method The name of the method.
|
|
115
|
+
* @param params The parameters to call the method with.
|
|
116
|
+
* @returns An iterator that iterates over values that the method on the server yields.
|
|
117
|
+
*/
|
|
118
|
+
static serverCallStaticIterator(method: string, params: Iterable<any>): Promise<import("./HttpRequester.js").AbortableAsyncIterator<any>>;
|
|
119
|
+
toJSON(): EntityJson;
|
|
120
|
+
$init(entityJson: EntityJson | null): Entity<T>;
|
|
121
|
+
$addTag(...tags: string[]): void;
|
|
122
|
+
$arraySearch(array: any[], strict?: boolean): number;
|
|
123
|
+
$delete(): Promise<boolean>;
|
|
124
|
+
$equals(object: any): boolean;
|
|
125
|
+
$getPatch(): EntityPatch;
|
|
126
|
+
$hasTag(...tags: string[]): boolean;
|
|
127
|
+
$isDirty(property: string): boolean | null;
|
|
128
|
+
$inArray(array: any[], strict?: boolean): boolean;
|
|
129
|
+
$is(object: any): boolean;
|
|
130
|
+
$patch(): Promise<boolean>;
|
|
131
|
+
/**
|
|
132
|
+
* Check if this is a sleeping reference and throw an error if so.
|
|
133
|
+
*/
|
|
134
|
+
protected $check(): void;
|
|
135
|
+
/**
|
|
136
|
+
* Check if this is a sleeping reference.
|
|
137
|
+
*/
|
|
138
|
+
$asleep(): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Wake from a sleeping reference.
|
|
141
|
+
*/
|
|
142
|
+
$wake(): Promise<Entity<T>>;
|
|
143
|
+
$wakeAll(level?: number): Promise<Entity<T>>;
|
|
144
|
+
protected $referenceSleep(reference: EntityReference): void;
|
|
145
|
+
$refresh(): Promise<boolean | 0>;
|
|
146
|
+
$removeTag(...tags: string[]): void;
|
|
147
|
+
$save(): Promise<boolean>;
|
|
148
|
+
$serverCall(method: string, params: Iterable<any>, stateless?: boolean): Promise<any>;
|
|
149
|
+
$toReference(): EntityReference | EntityInterface;
|
|
150
|
+
}
|
|
151
|
+
export declare class EntityIsSleepingReferenceError extends Error {
|
|
152
|
+
constructor(message: string);
|
|
153
|
+
}
|
|
154
|
+
export declare class InvalidStateError extends Error {
|
|
155
|
+
constructor(message: string);
|
|
156
|
+
}
|