@nymphjs/nymph 1.0.0-beta.131 → 1.0.0-beta.132

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.
@@ -20,14 +20,6 @@ export default class NymphDriver {
20
20
  },
21
21
  });
22
22
  tokenizer = new Tokenizer();
23
- /**
24
- * A cache to make entity retrieval faster.
25
- */
26
- entityCache = {};
27
- /**
28
- * A counter for the entity cache to determine the most accessed entities.
29
- */
30
- entityCount = {};
31
23
  /**
32
24
  * Protect against infinite loops.
33
25
  */
@@ -181,8 +173,6 @@ export default class NymphDriver {
181
173
  sdata[propMatch[1]] = propMatch[2];
182
174
  }
183
175
  }
184
- // Clear the entity cache.
185
- this.entityCache = {};
186
176
  }
187
177
  // Save the last entity.
188
178
  if (guid) {
@@ -389,14 +379,6 @@ export default class NymphDriver {
389
379
  throw e;
390
380
  }
391
381
  }
392
- /**
393
- * Remove all copies of an entity from the cache.
394
- *
395
- * @param guid The GUID of the entity to remove.
396
- */
397
- cleanCache(guid) {
398
- delete this.entityCache[guid];
399
- }
400
382
  async deleteEntity(entity) {
401
383
  const className = entity.constructor.class;
402
384
  if (entity.guid == null) {
@@ -668,7 +650,9 @@ export default class NymphDriver {
668
650
  ...qrefOptions,
669
651
  class: QrefEntityClass,
670
652
  source: options.source,
653
+ skipAc: options.skipAc,
671
654
  };
655
+ delete newOptions.return;
672
656
  const newSelectors = this.formatSelectors(qrefSelectors, options);
673
657
  qrefs.push([newOptions, ...newSelectors.selectors], ...newSelectors.qrefs);
674
658
  formatArr[i] = [name, [newOptions, ...newSelectors.selectors]];
@@ -758,84 +742,6 @@ export default class NymphDriver {
758
742
  if (options.source === 'client' && options.return === 'object') {
759
743
  throw new InvalidParametersError('Object return type not allowed from client.');
760
744
  }
761
- // Check if the requested entity is cached.
762
- if (this.nymph.config.cache &&
763
- !options.skipCache &&
764
- selectors.length &&
765
- 'guid' in selectors[0] &&
766
- typeof selectors[0].guid === 'number') {
767
- // Only safe to use the cache option with no other selectors than a GUID
768
- // and tags.
769
- if (selectors.length === 1 &&
770
- selectors[0].type === '&' &&
771
- (Object.keys(selectors[0]).length === 2 ||
772
- (Object.keys(selectors[0]).length === 3 && 'tag' in selectors[0]))) {
773
- const cacheEntity = this.pullCache(selectors[0]['guid']);
774
- if (cacheEntity != null &&
775
- cacheEntity.guid != null &&
776
- (!('tag' in selectors[0]) ||
777
- !(Array.isArray(selectors[0].tag)
778
- ? selectors[0].tag
779
- : [selectors[0].tag]).find((tag) => tag == null || !cacheEntity.tags.includes(tag)))) {
780
- // Return the value from the cache.
781
- const { guid, cdate, mdate, tags, data, sdata } = cacheEntity;
782
- if (options.return === 'count') {
783
- return {
784
- result: Promise.resolve(null),
785
- process: () => 1,
786
- };
787
- }
788
- else if (options.return === 'guid') {
789
- return {
790
- result: Promise.resolve(null),
791
- process: () => [guid],
792
- };
793
- }
794
- else if (options.return === 'object') {
795
- return {
796
- result: Promise.resolve(null),
797
- process: () => [
798
- {
799
- guid,
800
- cdate,
801
- mdate,
802
- tags,
803
- ...data,
804
- ...Object.fromEntries(Object.entries(sdata).map(([name, value]) => [
805
- name,
806
- JSON.parse(value),
807
- ])),
808
- },
809
- ],
810
- };
811
- }
812
- else {
813
- const entity = this.nymph
814
- .getEntityClass(EntityClass.class)
815
- .factorySync();
816
- if (entity) {
817
- entity.$nymph = this.nymph;
818
- if (options.skipAc != null) {
819
- entity.$useSkipAc(!!options.skipAc);
820
- }
821
- entity.guid = guid;
822
- entity.cdate = cdate;
823
- entity.mdate = mdate;
824
- entity.tags = tags;
825
- entity.$putData(classNamesToEntityConstructors(this.nymph, referencesToEntities(data, this.nymph, !!options.skipAc, false), false), sdata, 'server');
826
- return {
827
- result: Promise.resolve(null),
828
- process: () => [entity],
829
- };
830
- }
831
- return {
832
- result: Promise.resolve(null),
833
- process: () => [],
834
- };
835
- }
836
- }
837
- }
838
- }
839
745
  try {
840
746
  const formattedSelectors = this.formatSelectors(selectors, options);
841
747
  this.nymph.runQueryCallbacks(options, formattedSelectors.selectors);
@@ -963,9 +869,6 @@ export default class NymphDriver {
963
869
  this.putDataCounter--;
964
870
  entities.push(entity);
965
871
  }
966
- if (this.nymph.config.cache) {
967
- this.pushCache(guid, cdate, mdate, tags, data, sdata);
968
- }
969
872
  }
970
873
  }
971
874
  freeResultCallback();
@@ -1035,10 +938,6 @@ export default class NymphDriver {
1035
938
  }
1036
939
  }
1037
940
  else {
1038
- // Removed any cached versions of this entity.
1039
- if (this.nymph.config.cache) {
1040
- this.cleanCache(entity.guid);
1041
- }
1042
941
  success = await saveExistingEntityCallback({
1043
942
  entity,
1044
943
  guid: entity.guid,
@@ -1056,10 +955,6 @@ export default class NymphDriver {
1056
955
  if (commitTransactionCallback) {
1057
956
  success = await commitTransactionCallback(success);
1058
957
  }
1059
- // Cache the entity.
1060
- if (success && this.nymph.config.cache) {
1061
- this.pushCache(entity.guid, entity.cdate, entity.mdate, entity.tags, data, sdata);
1062
- }
1063
958
  if (!success) {
1064
959
  entity.guid = originalGuid;
1065
960
  entity.cdate = originalCdate;
@@ -1082,76 +977,6 @@ export default class NymphDriver {
1082
977
  throw e;
1083
978
  }
1084
979
  }
1085
- /**
1086
- * Pull an entity from the cache.
1087
- *
1088
- * @param guid The entity's GUID.
1089
- * @returns The entity's data or null if it's not cached.
1090
- */
1091
- pullCache(guid) {
1092
- // Increment the entity access count.
1093
- if (!(guid in this.entityCount)) {
1094
- this.entityCount[guid] = 0;
1095
- }
1096
- this.entityCount[guid]++;
1097
- if (guid in this.entityCache) {
1098
- return {
1099
- guid,
1100
- cdate: this.entityCache[guid]['cdate'],
1101
- mdate: this.entityCache[guid]['mdate'],
1102
- tags: this.entityCache[guid]['tags'],
1103
- data: this.entityCache[guid]['data'],
1104
- sdata: this.entityCache[guid]['sdata'],
1105
- };
1106
- }
1107
- return null;
1108
- }
1109
- /**
1110
- * Push an entity onto the cache.
1111
- *
1112
- * @param guid The entity's GUID.
1113
- * @param cdate The entity's cdate.
1114
- * @param mdate The entity's mdate.
1115
- * @param tags The entity's tags.
1116
- * @param data The entity's data.
1117
- * @param sdata The entity's sdata.
1118
- */
1119
- pushCache(guid, cdate, mdate, tags, data, sdata) {
1120
- if (guid == null) {
1121
- return;
1122
- }
1123
- // Increment the entity access count.
1124
- if (!(guid in this.entityCount)) {
1125
- this.entityCount[guid] = 0;
1126
- }
1127
- this.entityCount[guid]++;
1128
- // Check the threshold.
1129
- if (this.entityCount[guid] < this.nymph.config.cacheThreshold) {
1130
- return;
1131
- }
1132
- // Cache the entity.
1133
- this.entityCache[guid] = {
1134
- cdate,
1135
- mdate,
1136
- tags,
1137
- data,
1138
- sdata,
1139
- };
1140
- while (this.nymph.config.cacheLimit &&
1141
- Object.keys(this.entityCache).length >= this.nymph.config.cacheLimit) {
1142
- // Find which entity has been accessed the least.
1143
- const least = Object.entries(this.entityCount)
1144
- .sort(([_guidA, countA], [_guidB, countB]) => countA - countB)
1145
- .pop()?.[0] ?? null;
1146
- if (least == null) {
1147
- // This should never happen.
1148
- return;
1149
- }
1150
- // Remove it.
1151
- delete this.entityCache[least];
1152
- delete this.entityCount[least];
1153
- }
1154
- }
1155
980
  findReferences(svalue) {
1156
981
  const re = /\["nymph_entity_reference","([0-9a-fA-F]+)",/g;
1157
982
  const matches = svalue.match(re);
@@ -1 +1 @@
1
- {"version":3,"file":"NymphDriver.js","sourceRoot":"","sources":["../../src/driver/NymphDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NymphDriver.js","sourceRoot":"","sources":["../../src/driver/NymphDriver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nymphjs/nymph",
3
- "version": "1.0.0-beta.131",
3
+ "version": "1.0.0-beta.132",
4
4
  "description": "Application Data and Access Framework for Node.js and the Browser",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "license": "Apache-2.0",
45
45
  "dependencies": {
46
- "@nymphjs/guid": "^1.0.0-beta.131",
46
+ "@nymphjs/guid": "^1.0.0-beta.132",
47
47
  "@sciactive/tokenizer": "^3.4.0",
48
48
  "debug": "^4.4.3",
49
49
  "joi": "^18.2.5",
@@ -66,5 +66,5 @@
66
66
  "ts-node": "^10.9.2",
67
67
  "typescript": "^7.0.2"
68
68
  },
69
- "gitHead": "35a54445bf163d6b9dcead02d89de929fc5f7d26"
69
+ "gitHead": "d421575ba555d6c9025ec4b3d9f6ce0f498adbf2"
70
70
  }
package/src/Entity.ts CHANGED
@@ -1158,10 +1158,7 @@ export default class Entity<
1158
1158
  );
1159
1159
  this.$wakePromise = this.$nymph
1160
1160
  .getEntity(
1161
- {
1162
- class: EntityClass,
1163
- skipAc: this.$skipAc,
1164
- },
1161
+ { class: EntityClass, skipAc: this.$skipAc },
1165
1162
  { type: '&', guid: this.$sleepingReference[1] },
1166
1163
  )
1167
1164
  .then((entity) => {
@@ -1259,7 +1256,6 @@ export default class Entity<
1259
1256
  const refresh = await this.$nymph.getEntity(
1260
1257
  {
1261
1258
  class: this.constructor as EntityConstructor,
1262
- skipCache: true,
1263
1259
  skipAc: this.$skipAc,
1264
1260
  },
1265
1261
  { type: '&', guid: this.guid },
@@ -99,7 +99,7 @@ export interface DataObjectInterface {
99
99
  */
100
100
  $is(object: any): boolean;
101
101
  /**
102
- * Refresh the object from storage. (Bypasses Nymph's cache.)
102
+ * Refresh the object from storage.
103
103
  *
104
104
  * @returns False if the data has not been saved, true on success. An error is
105
105
  * thrown on failure.
@@ -164,8 +164,7 @@ export interface EntityInterface extends DataObjectInterface {
164
164
  /**
165
165
  * Replace any referenced entities in the data with sleeping references.
166
166
  *
167
- * Calling this function ensures that the next time a referenced entity is
168
- * accessed, it will be retrieved from the DB (unless it is in Nymph's cache).
167
+ * After calling this function, referenced entities must be awoken again.
169
168
  */
170
169
  $clearCache(): void;
171
170
  /**
@@ -297,9 +296,8 @@ export interface EntityInterface extends DataObjectInterface {
297
296
  * `sdata` is used by Nymph to avoid unserializing data that hasn't been
298
297
  * requested yet.
299
298
  *
300
- * If `source` is set to "server", the data is coming from the DB or the
301
- * cache. If not, assume the data is coming from the client and can't be
302
- * trusted.
299
+ * If `source` is set to "server", the data is coming from the DB. If not,
300
+ * assume the data is coming from the client and can't be trusted.
303
301
  *
304
302
  * @param data The data object.
305
303
  * @param sdata The serialized data object.
package/src/Nymph.ts CHANGED
@@ -716,8 +716,6 @@ export default class Nymph {
716
716
  * - return - What to return. "entity", "object", "guid", or "count". Defaults
717
717
  * to "entity".
718
718
  * - source - Will be 'client' if the query came from a REST call.
719
- * - skipCache - If true, Nymph will skip the cache and retrieve the entity
720
- * from the DB.
721
719
  * - skipAc - If true, Tilmeld will not filter returned entities according to
722
720
  * access controls. (If Tilmeld is installed.) (This is *always* set to
723
721
  * false by the REST server.)
@@ -226,10 +226,6 @@ export type Options<T extends EntityConstructor = EntityConstructor> = {
226
226
  * server. (Mainly used in Tilmeld for access control.)
227
227
  */
228
228
  source?: string;
229
- /**
230
- * If true, Nymph will skip the cache and retrieve the entity from the DB.
231
- */
232
- skipCache?: boolean;
233
229
  /**
234
230
  * The level(s) of access control requested.
235
231
  *
@@ -488,4 +484,8 @@ export interface TilmeldInterface {
488
484
  name: string,
489
485
  type?: TilmeldAccessLevels,
490
486
  ): Promise<boolean>;
487
+ checkPermissions(
488
+ entity: EntityInterface,
489
+ type?: TilmeldAccessLevels,
490
+ ): boolean;
491
491
  }
@@ -24,9 +24,6 @@ function getDebuggers(source: string) {
24
24
  }
25
25
 
26
26
  export default {
27
- cache: false,
28
- cacheThreshold: 4,
29
- cacheLimit: 50,
30
27
  emptyListError: false,
31
28
  updateMDate: true,
32
29
  debugInfo: (source, message) => {
package/src/conf/index.ts CHANGED
@@ -2,20 +2,6 @@
2
2
  * Nymph Config
3
3
  */
4
4
  export interface Config {
5
- /**
6
- * Cache recently retrieved entities to speed up database queries. Uses more
7
- * memory.
8
- */
9
- cache: boolean;
10
- /**
11
- * Cache entities after they're accessed this many times.
12
- */
13
- cacheThreshold: number;
14
- /**
15
- * The number of recently retrieved entities to cache. If you're running out
16
- * of memory, try lowering this value. 0 means unlimited.
17
- */
18
- cacheLimit: number;
19
5
  /**
20
6
  * When querying for multiple entities with NymphREST, if the list is empty,
21
7
  * return a 404 error.