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

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