@fjell/cache 4.7.14 → 4.7.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Options.d.ts","sourceRoot":"","sources":["../src/Options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Options.d.ts","sourceRoot":"","sources":["../src/Options.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4009,13 +4009,15 @@ var createOptions = (cacheOptions) => {
4009
4009
  ...cacheOptions.memoryConfig.size
4010
4010
  } : DEFAULT_CACHE_OPTIONS.memoryConfig?.size
4011
4011
  } : { ...DEFAULT_CACHE_OPTIONS.memoryConfig };
4012
- return {
4012
+ const result = {
4013
4013
  ...DEFAULT_CACHE_OPTIONS,
4014
4014
  ...cacheOptions,
4015
4015
  indexedDBConfig,
4016
4016
  webStorageConfig,
4017
4017
  memoryConfig
4018
4018
  };
4019
+ validateOptions(result);
4020
+ return result;
4019
4021
  };
4020
4022
  var createCacheMap = (kta, options) => {
4021
4023
  switch (options.cacheType) {
@@ -4058,6 +4060,76 @@ var createCacheMap = (kta, options) => {
4058
4060
  }
4059
4061
  };
4060
4062
  var validateOptions = (options) => {
4063
+ const validProperties = /* @__PURE__ */ new Set([
4064
+ // Core options
4065
+ "cacheType",
4066
+ "enableDebugLogging",
4067
+ "autoSync",
4068
+ "ttl",
4069
+ "bypassCache",
4070
+ "maxRetries",
4071
+ "retryDelay",
4072
+ // Config objects
4073
+ "indexedDBConfig",
4074
+ "webStorageConfig",
4075
+ "memoryConfig",
4076
+ "customCacheMapFactory",
4077
+ "evictionConfig"
4078
+ ]);
4079
+ const unknownProperties = [];
4080
+ const propertySuggestions = {
4081
+ "byPassCache": ["bypassCache"],
4082
+ "bypasscache": ["bypassCache"],
4083
+ "bypass_cache": ["bypassCache"],
4084
+ "cacheType": ["cacheType"],
4085
+ "cachetype": ["cacheType"],
4086
+ "cache_type": ["cacheType"],
4087
+ "enableDebugLogging": ["enableDebugLogging"],
4088
+ "enabledebuglogging": ["enableDebugLogging"],
4089
+ "enable_debug_logging": ["enableDebugLogging"],
4090
+ "autoSync": ["autoSync"],
4091
+ "autosync": ["autoSync"],
4092
+ "auto_sync": ["autoSync"],
4093
+ "maxRetries": ["maxRetries"],
4094
+ "maxretries": ["maxRetries"],
4095
+ "max_retries": ["maxRetries"],
4096
+ "retryDelay": ["retryDelay"],
4097
+ "retrydelay": ["retryDelay"],
4098
+ "retry_delay": ["retryDelay"],
4099
+ "indexedDBConfig": ["indexedDBConfig"],
4100
+ "indexeddbconfig": ["indexedDBConfig"],
4101
+ "indexed_db_config": ["indexedDBConfig"],
4102
+ "webStorageConfig": ["webStorageConfig"],
4103
+ "webstorageconfig": ["webStorageConfig"],
4104
+ "web_storage_config": ["webStorageConfig"],
4105
+ "memoryConfig": ["memoryConfig"],
4106
+ "memoryconfig": ["memoryConfig"],
4107
+ "memory_config": ["memoryConfig"],
4108
+ "customCacheMapFactory": ["customCacheMapFactory"],
4109
+ "customcachemapfactory": ["customCacheMapFactory"],
4110
+ "custom_cache_map_factory": ["customCacheMapFactory"],
4111
+ "evictionConfig": ["evictionConfig"],
4112
+ "evictionconfig": ["evictionConfig"],
4113
+ "eviction_config": ["evictionConfig"]
4114
+ };
4115
+ for (const [key, value] of Object.entries(options)) {
4116
+ if (!validProperties.has(key)) {
4117
+ unknownProperties.push(key);
4118
+ }
4119
+ }
4120
+ if (unknownProperties.length > 0) {
4121
+ const suggestions = unknownProperties.map((prop) => {
4122
+ const suggestion = propertySuggestions[prop];
4123
+ if (suggestion) {
4124
+ return `"${prop}" \u2192 "${suggestion[0]}"`;
4125
+ }
4126
+ return `"${prop}"`;
4127
+ });
4128
+ const errorMessage = `Unknown configuration properties detected: ${unknownProperties.join(", ")}.
4129
+ Valid properties are: ${Array.from(validProperties).join(", ")}.
4130
+ Did you mean: ${suggestions.join(", ")}?`;
4131
+ throw new Error(errorMessage);
4132
+ }
4061
4133
  if (options.cacheType === "custom" && !options.customCacheMapFactory) {
4062
4134
  throw new Error('customCacheMapFactory is required when cacheType is "custom"');
4063
4135
  }
@@ -4082,6 +4154,92 @@ var validateOptions = (options) => {
4082
4154
  if (options.indexedDBConfig?.size) {
4083
4155
  validateSizeConfig(options.indexedDBConfig.size);
4084
4156
  }
4157
+ if (options.indexedDBConfig) {
4158
+ const validIndexedDBProps = /* @__PURE__ */ new Set(["dbName", "version", "storeName", "size"]);
4159
+ const unknownIndexedDBProps = Object.keys(options.indexedDBConfig).filter((key) => !validIndexedDBProps.has(key));
4160
+ if (unknownIndexedDBProps.length > 0) {
4161
+ const suggestions = unknownIndexedDBProps.map((prop) => {
4162
+ const suggestion = {
4163
+ "dbname": "dbName",
4164
+ "db_name": "dbName",
4165
+ "storename": "storeName",
4166
+ "store_name": "storeName"
4167
+ }[prop];
4168
+ return suggestion ? `"${prop}" \u2192 "${suggestion}"` : `"${prop}"`;
4169
+ });
4170
+ throw new Error(`Unknown IndexedDB configuration properties: ${unknownIndexedDBProps.join(", ")}.
4171
+ Valid properties are: ${Array.from(validIndexedDBProps).join(", ")}.
4172
+ Did you mean: ${suggestions.join(", ")}?`);
4173
+ }
4174
+ }
4175
+ if (options.webStorageConfig) {
4176
+ const validWebStorageProps = /* @__PURE__ */ new Set(["keyPrefix", "compress", "size"]);
4177
+ const unknownWebStorageProps = Object.keys(options.webStorageConfig).filter((key) => !validWebStorageProps.has(key));
4178
+ if (unknownWebStorageProps.length > 0) {
4179
+ const suggestions = unknownWebStorageProps.map((prop) => {
4180
+ const suggestion = {
4181
+ "keyprefix": "keyPrefix",
4182
+ "key_prefix": "keyPrefix"
4183
+ }[prop];
4184
+ return suggestion ? `"${prop}" \u2192 "${suggestion}"` : `"${prop}"`;
4185
+ });
4186
+ throw new Error(`Unknown WebStorage configuration properties: ${unknownWebStorageProps.join(", ")}.
4187
+ Valid properties are: ${Array.from(validWebStorageProps).join(", ")}.
4188
+ Did you mean: ${suggestions.join(", ")}?`);
4189
+ }
4190
+ }
4191
+ if (options.memoryConfig) {
4192
+ const validMemoryProps = /* @__PURE__ */ new Set(["maxItems", "size"]);
4193
+ const unknownMemoryProps = Object.keys(options.memoryConfig).filter((key) => !validMemoryProps.has(key));
4194
+ if (unknownMemoryProps.length > 0) {
4195
+ const suggestions = unknownMemoryProps.map((prop) => {
4196
+ const suggestion = {
4197
+ "maxitems": "maxItems",
4198
+ "max_items": "maxItems"
4199
+ }[prop];
4200
+ return suggestion ? `"${prop}" \u2192 "${suggestion}"` : `"${prop}"`;
4201
+ });
4202
+ throw new Error(`Unknown Memory configuration properties: ${unknownMemoryProps.join(", ")}.
4203
+ Valid properties are: ${Array.from(validMemoryProps).join(", ")}.
4204
+ Did you mean: ${suggestions.join(", ")}?`);
4205
+ }
4206
+ }
4207
+ if (options.evictionConfig) {
4208
+ const validEvictionProps = /* @__PURE__ */ new Set(["type", "config"]);
4209
+ const unknownEvictionProps = Object.keys(options.evictionConfig).filter((key) => !validEvictionProps.has(key));
4210
+ if (unknownEvictionProps.length > 0) {
4211
+ const suggestions = unknownEvictionProps.map((prop) => {
4212
+ const suggestion = {
4213
+ "evictionstrategy": "type",
4214
+ "eviction_strategy": "type",
4215
+ "evictionconfig": "config",
4216
+ "eviction_config": "config"
4217
+ }[prop];
4218
+ return suggestion ? `"${prop}" \u2192 "${suggestion}"` : `"${prop}"`;
4219
+ });
4220
+ throw new Error(`Unknown Eviction configuration properties: ${unknownEvictionProps.join(", ")}.
4221
+ Valid properties are: ${Array.from(validEvictionProps).join(", ")}.
4222
+ Did you mean: ${suggestions.join(", ")}?`);
4223
+ }
4224
+ if (options.evictionConfig.type) {
4225
+ const validTypes = /* @__PURE__ */ new Set(["lru", "lfu", "fifo", "mru", "random", "arc", "2q"]);
4226
+ if (!validTypes.has(options.evictionConfig.type)) {
4227
+ const suggestions = {
4228
+ "LRU": "lru",
4229
+ "LFU": "lfu",
4230
+ "FIFO": "fifo",
4231
+ "MRU": "mru",
4232
+ "RANDOM": "random",
4233
+ "ARC": "arc",
4234
+ "2Q": "2q",
4235
+ "twoqueue": "2q",
4236
+ "two_queue": "2q"
4237
+ }[options.evictionConfig.type];
4238
+ const suggestionText = suggestions ? ` Did you mean "${suggestions}"?` : "";
4239
+ throw new Error(`Invalid eviction strategy type: "${options.evictionConfig.type}". Valid types are: ${Array.from(validTypes).join(", ")}.${suggestionText}`);
4240
+ }
4241
+ }
4242
+ }
4085
4243
  if (["localStorage", "sessionStorage"].includes(options.cacheType)) {
4086
4244
  const isRealBrowser = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement === "function";
4087
4245
  if (!isRealBrowser) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fjell/cache",
3
3
  "description": "Cache for Fjell",
4
- "version": "4.7.14",
4
+ "version": "4.7.15",
5
5
  "keywords": [
6
6
  "cache",
7
7
  "fjell"