@nymphjs/nymph 1.0.0-beta.11 → 1.0.0-beta.111

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 (103) hide show
  1. package/CHANGELOG.md +540 -0
  2. package/README.md +23 -21
  3. package/dist/Entity.d.ts +293 -10
  4. package/dist/Entity.js +560 -148
  5. package/dist/Entity.js.map +1 -1
  6. package/dist/Entity.test.js +52 -13
  7. package/dist/Entity.test.js.map +1 -1
  8. package/dist/Entity.types.d.ts +256 -23
  9. package/dist/Entity.types.js +1 -2
  10. package/dist/Nymph.d.ts +586 -12
  11. package/dist/Nymph.js +844 -179
  12. package/dist/Nymph.js.map +1 -1
  13. package/dist/Nymph.types.d.ts +81 -8
  14. package/dist/Nymph.types.js +3 -5
  15. package/dist/Nymph.types.js.map +1 -1
  16. package/dist/conf/d.d.ts +43 -0
  17. package/dist/conf/d.js +1 -2
  18. package/dist/conf/defaults.d.ts +1 -1
  19. package/dist/conf/defaults.js +26 -3
  20. package/dist/conf/defaults.js.map +1 -1
  21. package/dist/conf/index.d.ts +2 -2
  22. package/dist/conf/index.js +2 -8
  23. package/dist/conf/index.js.map +1 -1
  24. package/dist/driver/NymphDriver.d.ts +201 -40
  25. package/dist/driver/NymphDriver.js +685 -239
  26. package/dist/driver/NymphDriver.js.map +1 -1
  27. package/dist/driver/index.d.ts +2 -2
  28. package/dist/driver/index.js +3 -23
  29. package/dist/driver/index.js.map +1 -1
  30. package/dist/driver/testArtifacts.d.ts +2 -2
  31. package/dist/driver/testArtifacts.js +909 -93
  32. package/dist/driver/testArtifacts.js.map +1 -1
  33. package/dist/errors/ClassNotAvailableError.js +1 -5
  34. package/dist/errors/ClassNotAvailableError.js.map +1 -1
  35. package/dist/errors/EntityConflictError.js +1 -5
  36. package/dist/errors/EntityConflictError.js.map +1 -1
  37. package/dist/errors/EntityInvalidDataError.d.ts +6 -0
  38. package/dist/errors/EntityInvalidDataError.js +8 -6
  39. package/dist/errors/EntityInvalidDataError.js.map +1 -1
  40. package/dist/errors/EntityIsSleepingReferenceError.js +1 -5
  41. package/dist/errors/EntityIsSleepingReferenceError.js.map +1 -1
  42. package/dist/errors/EntityUniqueConstraintError.d.ts +3 -0
  43. package/dist/errors/EntityUniqueConstraintError.js +7 -0
  44. package/dist/errors/EntityUniqueConstraintError.js.map +1 -0
  45. package/dist/errors/HttpError.d.ts +5 -0
  46. package/dist/errors/HttpError.js +11 -0
  47. package/dist/errors/HttpError.js.map +1 -0
  48. package/dist/errors/InvalidParametersError.js +1 -5
  49. package/dist/errors/InvalidParametersError.js.map +1 -1
  50. package/dist/errors/InvalidStateError.d.ts +3 -0
  51. package/dist/errors/InvalidStateError.js +7 -0
  52. package/dist/errors/InvalidStateError.js.map +1 -0
  53. package/dist/errors/NotConfiguredError.js +1 -5
  54. package/dist/errors/NotConfiguredError.js.map +1 -1
  55. package/dist/errors/QueryFailedError.d.ts +2 -1
  56. package/dist/errors/QueryFailedError.js +5 -6
  57. package/dist/errors/QueryFailedError.js.map +1 -1
  58. package/dist/errors/UnableToConnectError.js +1 -5
  59. package/dist/errors/UnableToConnectError.js.map +1 -1
  60. package/dist/errors/index.d.ts +11 -8
  61. package/dist/errors/index.js +11 -24
  62. package/dist/errors/index.js.map +1 -1
  63. package/dist/index.d.ts +11 -11
  64. package/dist/index.js +14 -34
  65. package/dist/index.js.map +1 -1
  66. package/dist/nymphJoiProps.d.ts +1 -1
  67. package/dist/nymphJoiProps.js +10 -15
  68. package/dist/nymphJoiProps.js.map +1 -1
  69. package/dist/testArtifacts.d.ts +19 -6
  70. package/dist/testArtifacts.js +32 -37
  71. package/dist/testArtifacts.js.map +1 -1
  72. package/dist/testMocks.d.ts +27 -12
  73. package/dist/testMocks.js +40 -29
  74. package/dist/testMocks.js.map +1 -1
  75. package/dist/utils.d.ts +4 -4
  76. package/dist/utils.js +40 -29
  77. package/dist/utils.js.map +1 -1
  78. package/jest.config.js +11 -2
  79. package/package.json +24 -20
  80. package/src/Entity.test.ts +50 -7
  81. package/src/Entity.ts +489 -150
  82. package/src/Entity.types.ts +72 -74
  83. package/src/Nymph.ts +985 -322
  84. package/src/Nymph.types.ts +150 -27
  85. package/src/conf/d.ts +25 -0
  86. package/src/conf/defaults.ts +34 -1
  87. package/src/conf/index.ts +2 -2
  88. package/src/driver/NymphDriver.ts +859 -412
  89. package/src/driver/index.ts +2 -2
  90. package/src/driver/testArtifacts.ts +1090 -186
  91. package/src/errors/EntityUniqueConstraintError.ts +6 -0
  92. package/src/errors/HttpError.ts +12 -0
  93. package/src/errors/InvalidStateError.ts +6 -0
  94. package/src/errors/QueryFailedError.ts +3 -1
  95. package/src/errors/index.ts +14 -8
  96. package/src/index.ts +11 -11
  97. package/src/nymphJoiProps.ts +2 -2
  98. package/src/testArtifacts.ts +20 -20
  99. package/src/testMocks.ts +76 -35
  100. package/src/type/locutus.d.ts +3 -0
  101. package/src/utils.ts +39 -18
  102. package/tsconfig.json +5 -3
  103. package/typedoc.json +4 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,546 @@
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.111](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.110...v1.0.0-beta.111) (2026-03-10)
7
+
8
+ **Note:** Version bump only for package @nymphjs/nymph
9
+
10
+ # [1.0.0-beta.110](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.109...v1.0.0-beta.110) (2026-02-23)
11
+
12
+ ### Features
13
+
14
+ - add tilmeldRemoveOldRows migration to remove old access control rows ([79f5c8c](https://github.com/sciactive/nymphjs/commit/79f5c8c3e6e5aef2a4c7f53199bee3096663254f))
15
+ - use the new access control columns in queries instead of data rows ([f3a2be2](https://github.com/sciactive/nymphjs/commit/f3a2be2c3ca37fa33499f3353a0862f64f2f32f2))
16
+
17
+ # [1.0.0-beta.109](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.108...v1.0.0-beta.109) (2026-02-15)
18
+
19
+ ### Bug Fixes
20
+
21
+ - migration needed function for mysql and postgres ([1792cbf](https://github.com/sciactive/nymphjs/commit/1792cbfdb5498e3bace0a7b39695879254dcbccd))
22
+
23
+ # [1.0.0-beta.108](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.107...v1.0.0-beta.108) (2026-02-15)
24
+
25
+ ### Bug Fixes
26
+
27
+ - add column syntax in sqlite ([c1fa882](https://github.com/sciactive/nymphjs/commit/c1fa882b8ed9ee11f72ae3a9a902627186403de5))
28
+
29
+ # [1.0.0-beta.107](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.106...v1.0.0-beta.107) (2026-02-13)
30
+
31
+ ### Features
32
+
33
+ - move HttpError to nymph package to fix circular dependency ([ef8876e](https://github.com/sciactive/nymphjs/commit/ef8876e7dc2ad398038d66d324bf4c65227de681))
34
+ - move tilmeld fields into columns in entities tables ([5f46048](https://github.com/sciactive/nymphjs/commit/5f46048c3e04839ca9a8b81f71a950b9086d0a41))
35
+ - update packages and fix all new issues ([0e9d17c](https://github.com/sciactive/nymphjs/commit/0e9d17c6e2db12c11bdfb559031719c1b52b5fa1))
36
+
37
+ # [1.0.0-beta.106](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.105...v1.0.0-beta.106) (2025-12-05)
38
+
39
+ **Note:** Version bump only for package @nymphjs/nymph
40
+
41
+ # [1.0.0-beta.105](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.104...v1.0.0-beta.105) (2025-12-04)
42
+
43
+ ### Features
44
+
45
+ - add a null sort option to not sort the results in a particular order ([898d039](https://github.com/sciactive/nymphjs/commit/898d03981da0ca4ca5f68868584c902e1313c7d8))
46
+
47
+ # [1.0.0-beta.104](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.103...v1.0.0-beta.104) (2025-12-01)
48
+
49
+ ### Features
50
+
51
+ - add support for indexing on specific properties and scopes ([ed3cbf1](https://github.com/sciactive/nymphjs/commit/ed3cbf12ee3d83b750188998501c3c89fd4c040f))
52
+
53
+ # [1.0.0-beta.103](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.102...v1.0.0-beta.103) (2025-11-30)
54
+
55
+ ### Bug Fixes
56
+
57
+ - handle search clause with only stop words ([c8703ff](https://github.com/sciactive/nymphjs/commit/c8703ff7615cc47b110c535d3a2709375a68bd51))
58
+
59
+ # [1.0.0-beta.102](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.101...v1.0.0-beta.102) (2025-11-29)
60
+
61
+ **Note:** Version bump only for package @nymphjs/nymph
62
+
63
+ # [1.0.0-beta.101](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.100...v1.0.0-beta.101) (2025-11-29)
64
+
65
+ **Note:** Version bump only for package @nymphjs/nymph
66
+
67
+ # [1.0.0-beta.100](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.99...v1.0.0-beta.100) (2025-11-29)
68
+
69
+ ### Bug Fixes
70
+
71
+ - update tokenizer to get the packaging fix ([4cfbbb4](https://github.com/sciactive/nymphjs/commit/4cfbbb460f8f3f8f1f19df40203263cfd9c1585e))
72
+
73
+ # [1.0.0-beta.99](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.98...v1.0.0-beta.99) (2025-11-26)
74
+
75
+ ### Bug Fixes
76
+
77
+ - update tokenizer and fix issue with tilmeld test ([1df81fd](https://github.com/sciactive/nymphjs/commit/1df81fdeab2c639dc669bd92c09faa220bb9a6ff))
78
+
79
+ ### Features
80
+
81
+ - add full-text-search, but this is interim and will be redesigned ([56333db](https://github.com/sciactive/nymphjs/commit/56333dbe6a25755baed4e108ba4d71b3187fe8d0))
82
+ - add live migration and token import functions ([b81037d](https://github.com/sciactive/nymphjs/commit/b81037d5d9fd0676e98760d51dcdc3e414951287))
83
+ - add sciactive tokenizer based full text search ([173c96e](https://github.com/sciactive/nymphjs/commit/173c96e02827e8ca155f55e08f33e8cdef475ab9))
84
+ - clean up old fts code, get ready for new implementation ([e8d7a6d](https://github.com/sciactive/nymphjs/commit/e8d7a6d6c6cdbb3dd74bd3e6a104e02a4caf283b))
85
+
86
+ # [1.0.0-beta.98](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.97...v1.0.0-beta.98) (2025-10-24)
87
+
88
+ **Note:** Version bump only for package @nymphjs/nymph
89
+
90
+ # [1.0.0-beta.97](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.96...v1.0.0-beta.97) (2025-10-04)
91
+
92
+ **Note:** Version bump only for package @nymphjs/nymph
93
+
94
+ # [1.0.0-beta.96](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.95...v1.0.0-beta.96) (2025-09-01)
95
+
96
+ ### Bug Fixes
97
+
98
+ - add ilike clauses to checkdata ([da77767](https://github.com/sciactive/nymphjs/commit/da777674b299b3c9de2e65cf3e9a408e193874cb))
99
+
100
+ # [1.0.0-beta.95](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.94...v1.0.0-beta.95) (2025-08-30)
101
+
102
+ **Note:** Version bump only for package @nymphjs/nymph
103
+
104
+ # [1.0.0-beta.94](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.93...v1.0.0-beta.94) (2025-08-25)
105
+
106
+ **Note:** Version bump only for package @nymphjs/nymph
107
+
108
+ # [1.0.0-beta.93](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.92...v1.0.0-beta.93) (2025-08-16)
109
+
110
+ **Note:** Version bump only for package @nymphjs/nymph
111
+
112
+ # [1.0.0-beta.92](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.91...v1.0.0-beta.92) (2025-04-06)
113
+
114
+ ### Features
115
+
116
+ - add 'object' return type which returns plain entity data objects ([26a4cd3](https://github.com/sciactive/nymphjs/commit/26a4cd3226145408dc34bff52b1eafe3b046313b))
117
+
118
+ # [1.0.0-beta.91](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.90...v1.0.0-beta.91) (2025-03-07)
119
+
120
+ **Note:** Version bump only for package @nymphjs/nymph
121
+
122
+ # [1.0.0-beta.90](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.89...v1.0.0-beta.90) (2025-02-09)
123
+
124
+ ### Bug Fixes
125
+
126
+ - don't turn new entities to references in json ([40bd388](https://github.com/sciactive/nymphjs/commit/40bd388279c80c7094a9150058031122142e30c4))
127
+
128
+ # [1.0.0-beta.89](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.88...v1.0.0-beta.89) (2025-02-09)
129
+
130
+ ### Bug Fixes
131
+
132
+ - use guaranteed guid in references, update generated primary group code ([5f22f8a](https://github.com/sciactive/nymphjs/commit/5f22f8a9c71f373251cd4946c465fa29b86d91e7))
133
+
134
+ # [1.0.0-beta.88](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.87...v1.0.0-beta.88) (2025-01-30)
135
+
136
+ ### Bug Fixes
137
+
138
+ - don't mutate buffers and typed arrays when converting references ([e605056](https://github.com/sciactive/nymphjs/commit/e605056603839ed42c12769b621495ebe616b970))
139
+
140
+ # [1.0.0-beta.87](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.86...v1.0.0-beta.87) (2025-01-20)
141
+
142
+ ### Features
143
+
144
+ - add a guaranteed GUID method for unsaved entities ([db00960](https://github.com/sciactive/nymphjs/commit/db009607a08743682a22ded38ad0802f1534b3fa))
145
+
146
+ # [1.0.0-beta.86](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.85...v1.0.0-beta.86) (2024-12-28)
147
+
148
+ ### Bug Fixes
149
+
150
+ - entity search functions handling of null values ([6ac0335](https://github.com/sciactive/nymphjs/commit/6ac0335ecb792979ecfb621395a55b68a607429f))
151
+
152
+ ### Features
153
+
154
+ - add domain support ([c965008](https://github.com/sciactive/nymphjs/commit/c96500811a4d64ab4e80eca6acdfbfdfae1de076))
155
+
156
+ # [1.0.0-beta.85](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.84...v1.0.0-beta.85) (2024-12-27)
157
+
158
+ **Note:** Version bump only for package @nymphjs/nymph
159
+
160
+ # [1.0.0-beta.84](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.83...v1.0.0-beta.84) (2024-12-21)
161
+
162
+ ### Features
163
+
164
+ - add option to update mdate by a specific number ([b94995e](https://github.com/sciactive/nymphjs/commit/b94995e8daf5a02bd8464ae9a5ddfe6771e0d861))
165
+
166
+ # [1.0.0-beta.83](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.82...v1.0.0-beta.83) (2024-12-20)
167
+
168
+ ### Features
169
+
170
+ - add option to turn off mdate updates ([778885b](https://github.com/sciactive/nymphjs/commit/778885bcbe2482eba443273073b10a092167d17c))
171
+
172
+ # [1.0.0-beta.82](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.81...v1.0.0-beta.82) (2024-12-15)
173
+
174
+ ### Features
175
+
176
+ - migrate to es modules, upgrade all packages, migrate to Svelte 5 ([3f2b9e5](https://github.com/sciactive/nymphjs/commit/3f2b9e517b39934eddce66601d7fc747fbf3f9e6))
177
+
178
+ # [1.0.0-beta.81](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.80...v1.0.0-beta.81) (2024-09-28)
179
+
180
+ ### Features
181
+
182
+ - add index to json column in mysql ([afe684f](https://github.com/sciactive/nymphjs/commit/afe684ffe54b105e878a8aa5324085bb6571966e))
183
+
184
+ # [1.0.0-beta.80](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.79...v1.0.0-beta.80) (2024-09-28)
185
+
186
+ ### Bug Fixes
187
+
188
+ - more mysql json queries ([33a72e6](https://github.com/sciactive/nymphjs/commit/33a72e679c02a4f49a6fa232305c4228841754d3))
189
+
190
+ # [1.0.0-beta.79](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.78...v1.0.0-beta.79) (2024-09-28)
191
+
192
+ ### Bug Fixes
193
+
194
+ - mysql equal clause with null value ([63fce80](https://github.com/sciactive/nymphjs/commit/63fce80cc9461027664d0a2e83bf14e4aee2bfbb))
195
+
196
+ # [1.0.0-beta.78](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.77...v1.0.0-beta.78) (2024-09-27)
197
+
198
+ ### Features
199
+
200
+ - add json column to mysql and store json values there ([542d762](https://github.com/sciactive/nymphjs/commit/542d762c6f6f41bfbbe775c859e1d9df0990042b))
201
+ - add method to detect if migration is needed ([274f7c3](https://github.com/sciactive/nymphjs/commit/274f7c39aa4e0d251a38c01593775e1270fc9621))
202
+
203
+ ### BREAKING CHANGES
204
+
205
+ - This is a breaking change, and requires export and
206
+ import of the database if you are using the MySQL driver.
207
+
208
+ # [1.0.0-beta.77](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.76...v1.0.0-beta.77) (2024-09-26)
209
+
210
+ **Note:** Version bump only for package @nymphjs/nymph
211
+
212
+ # [1.0.0-beta.76](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.75...v1.0.0-beta.76) (2024-09-25)
213
+
214
+ ### Features
215
+
216
+ - add info level logging and log queries at this level ([afad941](https://github.com/sciactive/nymphjs/commit/afad941f46c4e594f0981de6443e4dd0b9ffdf4c))
217
+ - add json column to postgres and store json values there ([b9ccfd8](https://github.com/sciactive/nymphjs/commit/b9ccfd8d4877870d2662c60423e916ddf46244b2))
218
+
219
+ ### BREAKING CHANGES
220
+
221
+ - This is a breaking change, and requires export and
222
+ import of the database if you are using the Postgres driver.
223
+
224
+ # [1.0.0-beta.75](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.74...v1.0.0-beta.75) (2024-09-24)
225
+
226
+ ### Bug Fixes
227
+
228
+ - shrink btree index and use trigram index in postgres to support very long strings ([7f7bc78](https://github.com/sciactive/nymphjs/commit/7f7bc783f1daf04f443ae12dc2139d45a5570cb9))
229
+
230
+ # [1.0.0-beta.74](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.73...v1.0.0-beta.74) (2024-09-21)
231
+
232
+ **Note:** Version bump only for package @nymphjs/nymph
233
+
234
+ # [1.0.0-beta.73](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.72...v1.0.0-beta.73) (2024-09-20)
235
+
236
+ **Note:** Version bump only for package @nymphjs/nymph
237
+
238
+ # [1.0.0-beta.72](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.71...v1.0.0-beta.72) (2024-09-20)
239
+
240
+ **Note:** Version bump only for package @nymphjs/nymph
241
+
242
+ # [1.0.0-beta.71](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.70...v1.0.0-beta.71) (2024-09-20)
243
+
244
+ **Note:** Version bump only for package @nymphjs/nymph
245
+
246
+ # [1.0.0-beta.70](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.69...v1.0.0-beta.70) (2024-09-20)
247
+
248
+ **Note:** Version bump only for package @nymphjs/nymph
249
+
250
+ # [1.0.0-beta.69](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.68...v1.0.0-beta.69) (2024-09-19)
251
+
252
+ **Note:** Version bump only for package @nymphjs/nymph
253
+
254
+ # [1.0.0-beta.68](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.67...v1.0.0-beta.68) (2024-09-19)
255
+
256
+ **Note:** Version bump only for package @nymphjs/nymph
257
+
258
+ # [1.0.0-beta.67](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.66...v1.0.0-beta.67) (2024-09-03)
259
+
260
+ ### Bug Fixes
261
+
262
+ - include modifications to subquery selectors from query callbacks ([dc73455](https://github.com/sciactive/nymphjs/commit/dc73455fe05867d2b38f1ea84e139ae57acb5ebb))
263
+
264
+ # [1.0.0-beta.66](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.65...v1.0.0-beta.66) (2024-08-06)
265
+
266
+ ### Bug Fixes
267
+
268
+ - improve performance of loading an entity's ac values ([8f716ae](https://github.com/sciactive/nymphjs/commit/8f716ae8208e2b8e5ffa1ebe4e28a6f09dd49c6a))
269
+
270
+ # [1.0.0-beta.65](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.64...v1.0.0-beta.65) (2024-08-05)
271
+
272
+ **Note:** Version bump only for package @nymphjs/nymph
273
+
274
+ # [1.0.0-beta.64](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.63...v1.0.0-beta.64) (2024-08-04)
275
+
276
+ ### Bug Fixes
277
+
278
+ - correctly split lines in importData ([121aa11](https://github.com/sciactive/nymphjs/commit/121aa1105942b275c94e7c7b8c083579d233b330))
279
+
280
+ # [1.0.0-beta.63](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.62...v1.0.0-beta.63) (2024-06-18)
281
+
282
+ ### Bug Fixes
283
+
284
+ - undo ts compilation to module change ([84be6d4](https://github.com/sciactive/nymphjs/commit/84be6d434be29f8afd53907d15be2eb77d1736ce))
285
+
286
+ ### Features
287
+
288
+ - allow importing from text and iterables ([9d766bd](https://github.com/sciactive/nymphjs/commit/9d766bdad4b0f17bc2dd68b0336a0064857eb4e9))
289
+ - export data iterator ([b86aa19](https://github.com/sciactive/nymphjs/commit/b86aa19fc77d744b5a683046dfb697fc4746df5c))
290
+
291
+ # [1.0.0-beta.62](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.61...v1.0.0-beta.62) (2024-06-15)
292
+
293
+ **Note:** Version bump only for package @nymphjs/nymph
294
+
295
+ # [1.0.0-beta.61](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.60...v1.0.0-beta.61) (2024-06-14)
296
+
297
+ **Note:** Version bump only for package @nymphjs/nymph
298
+
299
+ # [1.0.0-beta.60](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.59...v1.0.0-beta.60) (2024-06-14)
300
+
301
+ **Note:** Version bump only for package @nymphjs/nymph
302
+
303
+ # [1.0.0-beta.59](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.58...v1.0.0-beta.59) (2024-06-14)
304
+
305
+ ### Features
306
+
307
+ - add uniqueness constraint feature, refactor some types ([8133d32](https://github.com/sciactive/nymphjs/commit/8133d32b2c04907182dca2e9171b8217ed1b57e4))
308
+
309
+ # [1.0.0-beta.58](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.57...v1.0.0-beta.58) (2024-06-12)
310
+
311
+ **Note:** Version bump only for package @nymphjs/nymph
312
+
313
+ # [1.0.0-beta.57](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.56...v1.0.0-beta.57) (2024-06-12)
314
+
315
+ **Note:** Version bump only for package @nymphjs/nymph
316
+
317
+ # [1.0.0-beta.56](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.55...v1.0.0-beta.56) (2024-06-11)
318
+
319
+ ### Features
320
+
321
+ - add debug and error logging feature ([95680ef](https://github.com/sciactive/nymphjs/commit/95680efad0a260589f32e3d8cff0f4c4e7de413b))
322
+ - allow connections where tokens are not renewed ([39071a5](https://github.com/sciactive/nymphjs/commit/39071a545644075190bd8213be25e0a0c46d2b5d))
323
+ - make transaction optional during import and off by default ([08d79f8](https://github.com/sciactive/nymphjs/commit/08d79f8f803c846ac79c0c489fc754437dae082b))
324
+
325
+ # [1.0.0-beta.55](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.54...v1.0.0-beta.55) (2024-05-26)
326
+
327
+ ### Bug Fixes
328
+
329
+ - cache check with no selectors ([f3a6215](https://github.com/sciactive/nymphjs/commit/f3a6215c7b1443f039b979ed400823c6f7f88236))
330
+
331
+ # [1.0.0-beta.54](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.53...v1.0.0-beta.54) (2024-05-26)
332
+
333
+ **Note:** Version bump only for package @nymphjs/nymph
334
+
335
+ # [1.0.0-beta.53](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.52...v1.0.0-beta.53) (2024-05-26)
336
+
337
+ ### Features
338
+
339
+ - add pragma statements config to sqlite3 driver ([b0f27e2](https://github.com/sciactive/nymphjs/commit/b0f27e24df85663ea777565e5d352775efcad858))
340
+
341
+ # [1.0.0-beta.52](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.51...v1.0.0-beta.52) (2024-05-25)
342
+
343
+ ### Bug Fixes
344
+
345
+ - support setup app and users and groups when userFields is limited ([20e25a2](https://github.com/sciactive/nymphjs/commit/20e25a2bcc35f96b3146fd9d973e34083a85f854))
346
+
347
+ # [1.0.0-beta.51](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.50...v1.0.0-beta.51) (2024-04-12)
348
+
349
+ **Note:** Version bump only for package @nymphjs/nymph
350
+
351
+ # [1.0.0-beta.50](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.49...v1.0.0-beta.50) (2024-04-08)
352
+
353
+ **Note:** Version bump only for package @nymphjs/nymph
354
+
355
+ # [1.0.0-beta.49](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.48...v1.0.0-beta.49) (2024-03-04)
356
+
357
+ **Note:** Version bump only for package @nymphjs/nymph
358
+
359
+ # [1.0.0-beta.48](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.47...v1.0.0-beta.48) (2023-11-10)
360
+
361
+ **Note:** Version bump only for package @nymphjs/nymph
362
+
363
+ # [1.0.0-beta.47](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.46...v1.0.0-beta.47) (2023-11-10)
364
+
365
+ **Note:** Version bump only for package @nymphjs/nymph
366
+
367
+ # [1.0.0-beta.46](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.45...v1.0.0-beta.46) (2023-08-29)
368
+
369
+ **Note:** Version bump only for package @nymphjs/nymph
370
+
371
+ # [1.0.0-beta.45](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.44...v1.0.0-beta.45) (2023-07-17)
372
+
373
+ ### Bug Fixes
374
+
375
+ - missing pubsub updates when new top level match uses qref with multiple results ([6dc26e2](https://github.com/sciactive/nymphjs/commit/6dc26e280453794ea9ce6c2b77482f85eb62bd23))
376
+
377
+ # [1.0.0-beta.44](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.43...v1.0.0-beta.44) (2023-07-13)
378
+
379
+ **Note:** Version bump only for package @nymphjs/nymph
380
+
381
+ # [1.0.0-beta.43](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.42...v1.0.0-beta.43) (2023-07-12)
382
+
383
+ **Note:** Version bump only for package @nymphjs/nymph
384
+
385
+ # [1.0.0-beta.42](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.41...v1.0.0-beta.42) (2023-07-12)
386
+
387
+ ### Features
388
+
389
+ - make fillSession async so that gatekeeper can be sync ([fb6def4](https://github.com/sciactive/nymphjs/commit/fb6def45cd031516c9bcd3438f905e2ff881707b))
390
+
391
+ # [1.0.0-beta.41](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.40...v1.0.0-beta.41) (2023-07-12)
392
+
393
+ ### Features
394
+
395
+ - remove synchronous database queries ([b579fb2](https://github.com/sciactive/nymphjs/commit/b579fb2eacd96cdd1b386a62c5c00cdbb2438f6e))
396
+ - rewrite server side async api to match client side api ([9c537a8](https://github.com/sciactive/nymphjs/commit/9c537a8be49e9b989af0822a4c2236e8c2d20f87))
397
+
398
+ # [1.0.0-beta.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.39...v1.0.0-beta.40) (2023-07-10)
399
+
400
+ **Note:** Version bump only for package @nymphjs/nymph
401
+
402
+ # [1.0.0-beta.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.38...v1.0.0-beta.39) (2023-07-09)
403
+
404
+ **Note:** Version bump only for package @nymphjs/nymph
405
+
406
+ # [1.0.0-beta.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.37...v1.0.0-beta.38) (2023-07-09)
407
+
408
+ **Note:** Version bump only for package @nymphjs/nymph
409
+
410
+ # [1.0.0-beta.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.36...v1.0.0-beta.37) (2023-07-09)
411
+
412
+ **Note:** Version bump only for package @nymphjs/nymph
413
+
414
+ # [1.0.0-beta.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.35...v1.0.0-beta.36) (2023-07-09)
415
+
416
+ **Note:** Version bump only for package @nymphjs/nymph
417
+
418
+ # [1.0.0-beta.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.34...v1.0.0-beta.35) (2023-06-14)
419
+
420
+ ### Bug Fixes
421
+
422
+ - get class from nymph instead of using constructor ([fc8538e](https://github.com/sciactive/nymphjs/commit/fc8538ea24be79b845ab1e00f930542f34517bfb))
423
+
424
+ # [1.0.0-beta.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.33...v1.0.0-beta.34) (2023-05-13)
425
+
426
+ **Note:** Version bump only for package @nymphjs/nymph
427
+
428
+ # [1.0.0-beta.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.32...v1.0.0-beta.33) (2023-05-13)
429
+
430
+ **Note:** Version bump only for package @nymphjs/nymph
431
+
432
+ # [1.0.0-beta.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.31...v1.0.0-beta.32) (2023-05-13)
433
+
434
+ ### Features
435
+
436
+ - issue initial request with pubsub instead of rest on subscribe ([8a232d2](https://github.com/sciactive/nymphjs/commit/8a232d2faeb8622924f9c35a01a8f71a70659bb3))
437
+
438
+ # [1.0.0-beta.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.30...v1.0.0-beta.31) (2023-05-12)
439
+
440
+ **Note:** Version bump only for package @nymphjs/nymph
441
+
442
+ # [1.0.0-beta.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.29...v1.0.0-beta.30) (2023-05-12)
443
+
444
+ ### Features
445
+
446
+ - allow providing getEntityClass with a class instead of string ([ecd64c1](https://github.com/sciactive/nymphjs/commit/ecd64c1bf92e3657889613b76bcc46652f371ead))
447
+
448
+ # [1.0.0-beta.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.28...v1.0.0-beta.29) (2023-05-08)
449
+
450
+ ### Bug Fixes
451
+
452
+ - use 4 byte utf8 encoding in mysql ([c335b6e](https://github.com/sciactive/nymphjs/commit/c335b6e8416f935c9116e7f54de753d4b2255a73))
453
+
454
+ # [1.0.0-beta.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.27...v1.0.0-beta.28) (2023-05-05)
455
+
456
+ **Note:** Version bump only for package @nymphjs/nymph
457
+
458
+ # [1.0.0-beta.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.26...v1.0.0-beta.27) (2023-05-04)
459
+
460
+ ### Bug Fixes
461
+
462
+ - properly escape mysql ids with dots ([64bfaa5](https://github.com/sciactive/nymphjs/commit/64bfaa5d606f97a753ca7e6c5d2d86f7c0f7729a))
463
+
464
+ # [1.0.0-beta.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.25...v1.0.0-beta.26) (2023-05-04)
465
+
466
+ ### Features
467
+
468
+ - update packages and migrate to mysql2 ([72ad611](https://github.com/sciactive/nymphjs/commit/72ad611bd2bf7bf85c3ba8a3486503d9b50c49d6))
469
+
470
+ # [1.0.0-beta.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.24...v1.0.0-beta.25) (2023-05-04)
471
+
472
+ ### Bug Fixes
473
+
474
+ - don't create empty entities ([1d4d2e9](https://github.com/sciactive/nymphjs/commit/1d4d2e99af2e9cdc647bcf58ac34572836f41176))
475
+ - tilmeld uses wrong class when cloned with user ([059c2ce](https://github.com/sciactive/nymphjs/commit/059c2cedf1b07b9681e87c240eb36723a4581918))
476
+
477
+ ### Features
478
+
479
+ - 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)
480
+
481
+ # [1.0.0-beta.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.23...v1.0.0-beta.24) (2023-05-02)
482
+
483
+ **Note:** Version bump only for package @nymphjs/nymph
484
+
485
+ # [1.0.0-beta.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.22...v1.0.0-beta.23) (2023-05-02)
486
+
487
+ ### Bug Fixes
488
+
489
+ - rare case where currentUser isn't corrent ([97f233a](https://github.com/sciactive/nymphjs/commit/97f233a5fcfd4b97dd282562b0c99097ac3ef41d))
490
+
491
+ # [1.0.0-beta.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.21...v1.0.0-beta.22) (2023-05-01)
492
+
493
+ **Note:** Version bump only for package @nymphjs/nymph
494
+
495
+ # [1.0.0-beta.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2023-05-01)
496
+
497
+ **Note:** Version bump only for package @nymphjs/nymph
498
+
499
+ # [1.0.0-beta.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2023-04-30)
500
+
501
+ **Note:** Version bump only for package @nymphjs/nymph
502
+
503
+ # [1.0.0-beta.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2023-04-29)
504
+
505
+ **Note:** Version bump only for package @nymphjs/nymph
506
+
507
+ # [1.0.0-beta.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2023-04-27)
508
+
509
+ ### Bug Fixes
510
+
511
+ - small type issues ([b91579c](https://github.com/sciactive/nymphjs/commit/b91579c9c1e96500d903332648f5a93c9a7e7d9b))
512
+
513
+ ### Features
514
+
515
+ - add the ability to switch to a user without their password ([ca4466a](https://github.com/sciactive/nymphjs/commit/ca4466af1704d68905ac087350a8cf151c1072d9))
516
+ - forbid modifying ac props from client ([f9e896f](https://github.com/sciactive/nymphjs/commit/f9e896f6c57b08ae100bc50d33a0234b6a431333))
517
+
518
+ # [1.0.0-beta.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.16...v1.0.0-beta.17) (2023-04-24)
519
+
520
+ **Note:** Version bump only for package @nymphjs/nymph
521
+
522
+ # [1.0.0-beta.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.15...v1.0.0-beta.16) (2023-03-31)
523
+
524
+ **Note:** Version bump only for package @nymphjs/nymph
525
+
526
+ # [1.0.0-beta.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2023-03-23)
527
+
528
+ ### Features
529
+
530
+ - add option to sort results by a property ([16384e7](https://github.com/sciactive/nymphjs/commit/16384e7bdab88abb55ccccabb06ac09f92fa8a03))
531
+
532
+ # [1.0.0-beta.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.13...v1.0.0-beta.14) (2023-03-17)
533
+
534
+ **Note:** Version bump only for package @nymphjs/nymph
535
+
536
+ # [1.0.0-beta.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.12...v1.0.0-beta.13) (2023-03-16)
537
+
538
+ ### Bug Fixes
539
+
540
+ - pubsub publishing changes before transaction is finished ([a918cc1](https://github.com/sciactive/nymphjs/commit/a918cc1451e03015ecce20f1c9bf6ceb62b7dff1))
541
+
542
+ # [1.0.0-beta.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.11...v1.0.0-beta.12) (2023-03-04)
543
+
544
+ **Note:** Version bump only for package @nymphjs/nymph
545
+
6
546
  # [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
547
 
8
548
  **Note:** Version bump only for package @nymphjs/nymph
package/README.md CHANGED
@@ -12,7 +12,7 @@ npm install --save @nymphjs/nymph
12
12
 
13
13
  ## Drivers
14
14
 
15
- To use Nymph, you need a database driver. Nymph.js provides a [MySQL driver](../driver-mysql/README.md), a [PostgreSQL driver](../driver-postgresql/README.md), and a [SQLite3 driver](../driver-sqlite3/README.md). They all provide the exact same functionality.
15
+ To use Nymph, you need a database driver. Nymph.js provides a [MySQL driver](../driver-mysql/README.md), a [PostgreSQL driver](../driver-postgresql/README.md), and a [SQLite3 driver](../driver-sqlite3/README.md). They all provide the exact same functionality (with the exception of how the database returns sorted data).
16
16
 
17
17
  ## Usage
18
18
 
@@ -46,7 +46,7 @@ async function run() {
46
46
 
47
47
  const otherPendingTodos = await nymph.getEntities(
48
48
  { class: Todo },
49
- { type: '&', '!guid': myEntity.guid, equal: ['done', false] }
49
+ { type: '&', '!guid': myEntity.guid, equal: ['done', false] },
50
50
  );
51
51
 
52
52
  const total = otherPendingTodos.length;
@@ -54,7 +54,7 @@ async function run() {
54
54
  console.log(
55
55
  `Besides the one I just created, there ${
56
56
  single ? 'is' : 'are'
57
- } ${total} pending todo${single ? '' : 's'} in the database.`
57
+ } ${total} pending todo${single ? '' : 's'} in the database.`,
58
58
  );
59
59
  }
60
60
  ```
@@ -72,23 +72,13 @@ export default class Todo extends Entity<TodoData> {
72
72
  static ETYPE = 'todo'; // This is used for the table name(s) in the DB.
73
73
  static class = 'Todo'; // This is used to map references to their class.
74
74
 
75
- static async factory(guid?: string): Promise<Todo & TodoData> {
76
- return (await super.factory(guid)) as Todo & TodoData;
77
- }
75
+ constructor() {
76
+ super();
78
77
 
79
- static factorySync(guid?: string): Todo & TodoData {
80
- return super.factorySync(guid) as Todo & TodoData;
81
- }
82
-
83
- constructor(guid?: string) {
84
- super(guid);
85
-
86
- if (this.guid == null) {
87
- // Within the methods of an entity, you will use `this.$data` to access
88
- // its data. Outside, you don't need the $data part.
89
- this.$data.text = '';
90
- this.$data.done = false;
91
- }
78
+ // Within the methods of an entity, you will use `this.$data` to access
79
+ // its data. Outside, you don't need the $data part.
80
+ this.$data.text = '';
81
+ this.$data.done = false;
92
82
  }
93
83
 
94
84
  async $getOtherTodos() {
@@ -97,7 +87,7 @@ export default class Todo extends Entity<TodoData> {
97
87
  // instance of Nymph, so it could be a transactional instance.
98
88
  const otherTodos = await this.$nymph.getEntities(
99
89
  { class: Todo },
100
- { type: '!&', guid: this.guid }
90
+ { type: '!&', guid: this.guid },
101
91
  );
102
92
  return otherTodos;
103
93
  }
@@ -108,9 +98,21 @@ export default class Todo extends Entity<TodoData> {
108
98
 
109
99
  See the [config declaration file](src/conf/d.ts).
110
100
 
101
+ # Live Migrations
102
+
103
+ Sometimes database changes can be live migrated. In these cases, running `needsMigration()` will tell you about them, and the docblock for that method will give you more information. You should always run this method after updating to a new version of Nymph to see what needs to be migrated, if anything.
104
+
105
+ If a migration is needed, you should export the DB in the version you were using before, in case anything goes wrong during the migration.
106
+
107
+ The next step is to use the `liveMigration(migrationType)` method with the correct migration type.
108
+
109
+ If required (explained in the docblock), you might then need to run a specific import on all of your entities. This is very important, and you might not be able to use new features or upgrade further without performing this step.
110
+
111
+ Note that you can always export the DB in the version you were previously using, completely clear the DB (drop all of the tables), then import the DB in the new version.
112
+
111
113
  # License
112
114
 
113
- Copyright 2021 SciActive Inc
115
+ Copyright 2021-2025 SciActive Inc
114
116
 
115
117
  Licensed under the Apache License, Version 2.0 (the "License");
116
118
  you may not use this file except in compliance with the License.