memx 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -40,10 +40,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
40
40
  var src_exports = {};
41
41
  __export(src_exports, {
42
42
  Bundle: () => Bundle,
43
- Client: () => Client,
44
43
  ClusterAdapter: () => ClusterAdapter,
45
44
  Factory: () => Factory,
46
45
  FakeAdapter: () => FakeAdapter,
46
+ MemxClient: () => MemxClient,
47
+ MemxFakeClient: () => MemxFakeClient,
47
48
  PoorManLock: () => PoorManLock,
48
49
  ServerAdapter: () => ServerAdapter,
49
50
  connection: () => connection_exports,
@@ -460,153 +461,6 @@ var Connection = class {
460
461
  }
461
462
  };
462
463
 
463
- // src/fake.ts
464
- function toExp(ttl = 0) {
465
- if (ttl === 0)
466
- return Number.MAX_SAFE_INTEGER;
467
- return Date.now() + ttl * 1e3;
468
- }
469
- var FakeAdapter = class {
470
- #cache = /* @__PURE__ */ new Map();
471
- #cas = 1n;
472
- ttl = 0;
473
- #get(key) {
474
- if (key.length > 250)
475
- throw new TypeError(`Key too long (len=${key.length})`);
476
- const entry = this.#cache.get(key);
477
- if (!entry)
478
- return;
479
- if (Date.now() > entry.exp) {
480
- this.#cache.delete(key);
481
- return;
482
- }
483
- return entry;
484
- }
485
- #set(key, value, flags, ttl) {
486
- this.#cache.set(key, {
487
- value,
488
- flags: flags || 0,
489
- cas: ++this.#cas,
490
- exp: toExp(ttl)
491
- });
492
- return this.#cas;
493
- }
494
- async get(key) {
495
- const entry = this.#get(key);
496
- if (!entry)
497
- return;
498
- return {
499
- value: entry.value,
500
- flags: entry.flags,
501
- cas: entry.cas,
502
- recycle: () => void 0
503
- };
504
- }
505
- async gat(key, ttl) {
506
- const entry = this.#get(key);
507
- if (!entry)
508
- return;
509
- entry.exp = toExp(ttl);
510
- return {
511
- value: entry.value,
512
- flags: entry.flags,
513
- cas: entry.cas,
514
- recycle: () => void 0
515
- };
516
- }
517
- async touch(key, ttl) {
518
- const entry = this.#get(key);
519
- if (entry)
520
- entry.exp = toExp(ttl);
521
- return !!entry;
522
- }
523
- async set(key, value, options = {}) {
524
- const entry = this.#get(key);
525
- if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
526
- return;
527
- }
528
- return this.#set(key, value, options.flags, options.ttl);
529
- }
530
- async add(key, value, options = {}) {
531
- if (this.#get(key))
532
- return;
533
- return this.#set(key, value, options.flags, options.ttl);
534
- }
535
- async replace(key, value, options = {}) {
536
- if (!this.#get(key))
537
- return;
538
- return this.#set(key, value, options.flags, options.ttl);
539
- }
540
- async append(key, value, options = {}) {
541
- const entry = this.#get(key);
542
- if (!entry)
543
- return false;
544
- if (options.cas !== void 0 && options.cas !== entry.cas)
545
- return false;
546
- entry.value = Buffer.concat([entry.value, value]);
547
- return true;
548
- }
549
- async prepend(key, value, options = {}) {
550
- const entry = this.#get(key);
551
- if (!entry)
552
- return false;
553
- if (options.cas !== void 0 && options.cas !== entry.cas)
554
- return false;
555
- entry.value = Buffer.concat([value, entry.value]);
556
- return true;
557
- }
558
- async #counter(key, delta, options) {
559
- const entry = this.#get(key);
560
- if (!entry) {
561
- if (options.initial !== void 0) {
562
- const value = Buffer.from(options.initial.toString());
563
- this.#set(key, value, void 0, options.ttl);
564
- return { value: BigInt(options.initial), cas: this.#cas };
565
- } else {
566
- return;
567
- }
568
- }
569
- if (options.cas !== void 0 && options.cas !== entry.cas)
570
- return;
571
- try {
572
- const value = BigInt(entry.value.toString("utf-8")) + BigInt(delta);
573
- this.#set(key, Buffer.from(value.toString()), void 0, options.ttl);
574
- return { value, cas: this.#cas };
575
- } catch (error) {
576
- throw new TypeError(`${error.message} (status=NON_NUMERIC_VALUE, key=${key})`);
577
- }
578
- }
579
- increment(key, delta = 1n, options = {}) {
580
- return this.#counter(key, delta, options);
581
- }
582
- decrement(key, delta = 1n, options = {}) {
583
- return this.#counter(key, -delta, options);
584
- }
585
- async delete(key, options = {}) {
586
- const entry = this.#get(key);
587
- if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
588
- return false;
589
- }
590
- return this.#cache.delete(key);
591
- }
592
- async flush(ttl) {
593
- if (!ttl)
594
- return this.#cache.clear();
595
- const wait = toExp(ttl) - Date.now();
596
- setTimeout(() => this.#cache.clear(), wait);
597
- }
598
- async noop() {
599
- }
600
- async quit() {
601
- }
602
- async version() {
603
- return { fake: "0.0.0-fake" };
604
- }
605
- async stats() {
606
- return { fake: { version: "0.0.0-fake" } };
607
- }
608
- };
609
-
610
464
  // src/server.ts
611
465
  var statsBigInt = [
612
466
  "auth_cmds",
@@ -1251,7 +1105,7 @@ function makeTypedArray(constructor, source) {
1251
1105
  const { buffer, byteOffset, byteLength } = clone;
1252
1106
  return new constructor(buffer, byteOffset, byteLength / constructor.BYTES_PER_ELEMENT);
1253
1107
  }
1254
- var Client = class {
1108
+ var MemxClient = class {
1255
1109
  #adapter;
1256
1110
  #prefix;
1257
1111
  constructor(adapterOrOptions) {
@@ -1273,7 +1127,7 @@ var Client = class {
1273
1127
  }
1274
1128
  withPrefix(prefix) {
1275
1129
  (0, import_assert5.default)(prefix, "Invalid prefix");
1276
- const client = new Client(this.#adapter);
1130
+ const client = new MemxClient(this.#adapter);
1277
1131
  client.#prefix = prefix;
1278
1132
  return client;
1279
1133
  }
@@ -1347,6 +1201,158 @@ var Client = class {
1347
1201
  }
1348
1202
  };
1349
1203
 
1204
+ // src/fake.ts
1205
+ function toExp(ttl = 0) {
1206
+ if (ttl === 0)
1207
+ return Number.MAX_SAFE_INTEGER;
1208
+ return Date.now() + ttl * 1e3;
1209
+ }
1210
+ var FakeAdapter = class {
1211
+ #cache = /* @__PURE__ */ new Map();
1212
+ #cas = 1n;
1213
+ ttl = 0;
1214
+ #get(key) {
1215
+ if (key.length > 250)
1216
+ throw new TypeError(`Key too long (len=${key.length})`);
1217
+ const entry = this.#cache.get(key);
1218
+ if (!entry)
1219
+ return;
1220
+ if (Date.now() > entry.exp) {
1221
+ this.#cache.delete(key);
1222
+ return;
1223
+ }
1224
+ return entry;
1225
+ }
1226
+ #set(key, value, flags, ttl) {
1227
+ this.#cache.set(key, {
1228
+ value,
1229
+ flags: flags || 0,
1230
+ cas: ++this.#cas,
1231
+ exp: toExp(ttl)
1232
+ });
1233
+ return this.#cas;
1234
+ }
1235
+ async get(key) {
1236
+ const entry = this.#get(key);
1237
+ if (!entry)
1238
+ return;
1239
+ return {
1240
+ value: entry.value,
1241
+ flags: entry.flags,
1242
+ cas: entry.cas,
1243
+ recycle: () => void 0
1244
+ };
1245
+ }
1246
+ async gat(key, ttl) {
1247
+ const entry = this.#get(key);
1248
+ if (!entry)
1249
+ return;
1250
+ entry.exp = toExp(ttl);
1251
+ return {
1252
+ value: entry.value,
1253
+ flags: entry.flags,
1254
+ cas: entry.cas,
1255
+ recycle: () => void 0
1256
+ };
1257
+ }
1258
+ async touch(key, ttl) {
1259
+ const entry = this.#get(key);
1260
+ if (entry)
1261
+ entry.exp = toExp(ttl);
1262
+ return !!entry;
1263
+ }
1264
+ async set(key, value, options = {}) {
1265
+ const entry = this.#get(key);
1266
+ if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
1267
+ return;
1268
+ }
1269
+ return this.#set(key, value, options.flags, options.ttl);
1270
+ }
1271
+ async add(key, value, options = {}) {
1272
+ if (this.#get(key))
1273
+ return;
1274
+ return this.#set(key, value, options.flags, options.ttl);
1275
+ }
1276
+ async replace(key, value, options = {}) {
1277
+ if (!this.#get(key))
1278
+ return;
1279
+ return this.#set(key, value, options.flags, options.ttl);
1280
+ }
1281
+ async append(key, value, options = {}) {
1282
+ const entry = this.#get(key);
1283
+ if (!entry)
1284
+ return false;
1285
+ if (options.cas !== void 0 && options.cas !== entry.cas)
1286
+ return false;
1287
+ entry.value = Buffer.concat([entry.value, value]);
1288
+ return true;
1289
+ }
1290
+ async prepend(key, value, options = {}) {
1291
+ const entry = this.#get(key);
1292
+ if (!entry)
1293
+ return false;
1294
+ if (options.cas !== void 0 && options.cas !== entry.cas)
1295
+ return false;
1296
+ entry.value = Buffer.concat([value, entry.value]);
1297
+ return true;
1298
+ }
1299
+ async #counter(key, delta, options) {
1300
+ const entry = this.#get(key);
1301
+ if (!entry) {
1302
+ if (options.initial !== void 0) {
1303
+ const value = Buffer.from(options.initial.toString());
1304
+ this.#set(key, value, void 0, options.ttl);
1305
+ return { value: BigInt(options.initial), cas: this.#cas };
1306
+ } else {
1307
+ return;
1308
+ }
1309
+ }
1310
+ if (options.cas !== void 0 && options.cas !== entry.cas)
1311
+ return;
1312
+ try {
1313
+ const value = BigInt(entry.value.toString("utf-8")) + BigInt(delta);
1314
+ this.#set(key, Buffer.from(value.toString()), void 0, options.ttl);
1315
+ return { value, cas: this.#cas };
1316
+ } catch (error) {
1317
+ throw new TypeError(`${error.message} (status=NON_NUMERIC_VALUE, key=${key})`);
1318
+ }
1319
+ }
1320
+ increment(key, delta = 1n, options = {}) {
1321
+ return this.#counter(key, delta, options);
1322
+ }
1323
+ decrement(key, delta = 1n, options = {}) {
1324
+ return this.#counter(key, -delta, options);
1325
+ }
1326
+ async delete(key, options = {}) {
1327
+ const entry = this.#get(key);
1328
+ if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
1329
+ return false;
1330
+ }
1331
+ return this.#cache.delete(key);
1332
+ }
1333
+ async flush(ttl) {
1334
+ if (!ttl)
1335
+ return this.#cache.clear();
1336
+ const wait = toExp(ttl) - Date.now();
1337
+ setTimeout(() => this.#cache.clear(), wait);
1338
+ }
1339
+ async noop() {
1340
+ }
1341
+ async quit() {
1342
+ }
1343
+ async version() {
1344
+ return { fake: "0.0.0-fake" };
1345
+ }
1346
+ async stats() {
1347
+ return { fake: { version: "0.0.0-fake" } };
1348
+ }
1349
+ };
1350
+ var MemxFakeClient = class extends MemxClient {
1351
+ constructor() {
1352
+ super(new FakeAdapter());
1353
+ }
1354
+ };
1355
+
1350
1356
  // src/utils.ts
1351
1357
  var import_assert6 = __toESM(require("assert"));
1352
1358
  var Factory = class {
@@ -1475,10 +1481,11 @@ var PoorManLock = class {
1475
1481
  // Annotate the CommonJS export names for ESM import in node:
1476
1482
  0 && (module.exports = {
1477
1483
  Bundle,
1478
- Client,
1479
1484
  ClusterAdapter,
1480
1485
  Factory,
1481
1486
  FakeAdapter,
1487
+ MemxClient,
1488
+ MemxFakeClient,
1482
1489
  PoorManLock,
1483
1490
  ServerAdapter,
1484
1491
  connection,
package/dist/index.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../src/decode.ts", "../src/constants.ts", "../src/buffers.ts", "../src/encode.ts", "../src/connection.ts", "../src/internals.ts", "../src/fake.ts", "../src/server.ts", "../src/cluster.ts", "../src/client.ts", "../src/utils.ts"],
4
- "mappings": "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",
3
+ "sources": ["../src/index.ts", "../src/decode.ts", "../src/constants.ts", "../src/buffers.ts", "../src/encode.ts", "../src/connection.ts", "../src/internals.ts", "../src/server.ts", "../src/cluster.ts", "../src/client.ts", "../src/fake.ts", "../src/utils.ts"],
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/dist/index.mjs CHANGED
@@ -429,153 +429,6 @@ var Connection = class {
429
429
  }
430
430
  };
431
431
 
432
- // src/fake.ts
433
- function toExp(ttl = 0) {
434
- if (ttl === 0)
435
- return Number.MAX_SAFE_INTEGER;
436
- return Date.now() + ttl * 1e3;
437
- }
438
- var FakeAdapter = class {
439
- #cache = /* @__PURE__ */ new Map();
440
- #cas = 1n;
441
- ttl = 0;
442
- #get(key) {
443
- if (key.length > 250)
444
- throw new TypeError(`Key too long (len=${key.length})`);
445
- const entry = this.#cache.get(key);
446
- if (!entry)
447
- return;
448
- if (Date.now() > entry.exp) {
449
- this.#cache.delete(key);
450
- return;
451
- }
452
- return entry;
453
- }
454
- #set(key, value, flags, ttl) {
455
- this.#cache.set(key, {
456
- value,
457
- flags: flags || 0,
458
- cas: ++this.#cas,
459
- exp: toExp(ttl)
460
- });
461
- return this.#cas;
462
- }
463
- async get(key) {
464
- const entry = this.#get(key);
465
- if (!entry)
466
- return;
467
- return {
468
- value: entry.value,
469
- flags: entry.flags,
470
- cas: entry.cas,
471
- recycle: () => void 0
472
- };
473
- }
474
- async gat(key, ttl) {
475
- const entry = this.#get(key);
476
- if (!entry)
477
- return;
478
- entry.exp = toExp(ttl);
479
- return {
480
- value: entry.value,
481
- flags: entry.flags,
482
- cas: entry.cas,
483
- recycle: () => void 0
484
- };
485
- }
486
- async touch(key, ttl) {
487
- const entry = this.#get(key);
488
- if (entry)
489
- entry.exp = toExp(ttl);
490
- return !!entry;
491
- }
492
- async set(key, value, options = {}) {
493
- const entry = this.#get(key);
494
- if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
495
- return;
496
- }
497
- return this.#set(key, value, options.flags, options.ttl);
498
- }
499
- async add(key, value, options = {}) {
500
- if (this.#get(key))
501
- return;
502
- return this.#set(key, value, options.flags, options.ttl);
503
- }
504
- async replace(key, value, options = {}) {
505
- if (!this.#get(key))
506
- return;
507
- return this.#set(key, value, options.flags, options.ttl);
508
- }
509
- async append(key, value, options = {}) {
510
- const entry = this.#get(key);
511
- if (!entry)
512
- return false;
513
- if (options.cas !== void 0 && options.cas !== entry.cas)
514
- return false;
515
- entry.value = Buffer.concat([entry.value, value]);
516
- return true;
517
- }
518
- async prepend(key, value, options = {}) {
519
- const entry = this.#get(key);
520
- if (!entry)
521
- return false;
522
- if (options.cas !== void 0 && options.cas !== entry.cas)
523
- return false;
524
- entry.value = Buffer.concat([value, entry.value]);
525
- return true;
526
- }
527
- async #counter(key, delta, options) {
528
- const entry = this.#get(key);
529
- if (!entry) {
530
- if (options.initial !== void 0) {
531
- const value = Buffer.from(options.initial.toString());
532
- this.#set(key, value, void 0, options.ttl);
533
- return { value: BigInt(options.initial), cas: this.#cas };
534
- } else {
535
- return;
536
- }
537
- }
538
- if (options.cas !== void 0 && options.cas !== entry.cas)
539
- return;
540
- try {
541
- const value = BigInt(entry.value.toString("utf-8")) + BigInt(delta);
542
- this.#set(key, Buffer.from(value.toString()), void 0, options.ttl);
543
- return { value, cas: this.#cas };
544
- } catch (error) {
545
- throw new TypeError(`${error.message} (status=NON_NUMERIC_VALUE, key=${key})`);
546
- }
547
- }
548
- increment(key, delta = 1n, options = {}) {
549
- return this.#counter(key, delta, options);
550
- }
551
- decrement(key, delta = 1n, options = {}) {
552
- return this.#counter(key, -delta, options);
553
- }
554
- async delete(key, options = {}) {
555
- const entry = this.#get(key);
556
- if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
557
- return false;
558
- }
559
- return this.#cache.delete(key);
560
- }
561
- async flush(ttl) {
562
- if (!ttl)
563
- return this.#cache.clear();
564
- const wait = toExp(ttl) - Date.now();
565
- setTimeout(() => this.#cache.clear(), wait);
566
- }
567
- async noop() {
568
- }
569
- async quit() {
570
- }
571
- async version() {
572
- return { fake: "0.0.0-fake" };
573
- }
574
- async stats() {
575
- return { fake: { version: "0.0.0-fake" } };
576
- }
577
- };
578
-
579
432
  // src/server.ts
580
433
  var statsBigInt = [
581
434
  "auth_cmds",
@@ -1220,7 +1073,7 @@ function makeTypedArray(constructor, source) {
1220
1073
  const { buffer, byteOffset, byteLength } = clone;
1221
1074
  return new constructor(buffer, byteOffset, byteLength / constructor.BYTES_PER_ELEMENT);
1222
1075
  }
1223
- var Client = class {
1076
+ var MemxClient = class {
1224
1077
  #adapter;
1225
1078
  #prefix;
1226
1079
  constructor(adapterOrOptions) {
@@ -1242,7 +1095,7 @@ var Client = class {
1242
1095
  }
1243
1096
  withPrefix(prefix) {
1244
1097
  assert5(prefix, "Invalid prefix");
1245
- const client = new Client(this.#adapter);
1098
+ const client = new MemxClient(this.#adapter);
1246
1099
  client.#prefix = prefix;
1247
1100
  return client;
1248
1101
  }
@@ -1316,6 +1169,158 @@ var Client = class {
1316
1169
  }
1317
1170
  };
1318
1171
 
1172
+ // src/fake.ts
1173
+ function toExp(ttl = 0) {
1174
+ if (ttl === 0)
1175
+ return Number.MAX_SAFE_INTEGER;
1176
+ return Date.now() + ttl * 1e3;
1177
+ }
1178
+ var FakeAdapter = class {
1179
+ #cache = /* @__PURE__ */ new Map();
1180
+ #cas = 1n;
1181
+ ttl = 0;
1182
+ #get(key) {
1183
+ if (key.length > 250)
1184
+ throw new TypeError(`Key too long (len=${key.length})`);
1185
+ const entry = this.#cache.get(key);
1186
+ if (!entry)
1187
+ return;
1188
+ if (Date.now() > entry.exp) {
1189
+ this.#cache.delete(key);
1190
+ return;
1191
+ }
1192
+ return entry;
1193
+ }
1194
+ #set(key, value, flags, ttl) {
1195
+ this.#cache.set(key, {
1196
+ value,
1197
+ flags: flags || 0,
1198
+ cas: ++this.#cas,
1199
+ exp: toExp(ttl)
1200
+ });
1201
+ return this.#cas;
1202
+ }
1203
+ async get(key) {
1204
+ const entry = this.#get(key);
1205
+ if (!entry)
1206
+ return;
1207
+ return {
1208
+ value: entry.value,
1209
+ flags: entry.flags,
1210
+ cas: entry.cas,
1211
+ recycle: () => void 0
1212
+ };
1213
+ }
1214
+ async gat(key, ttl) {
1215
+ const entry = this.#get(key);
1216
+ if (!entry)
1217
+ return;
1218
+ entry.exp = toExp(ttl);
1219
+ return {
1220
+ value: entry.value,
1221
+ flags: entry.flags,
1222
+ cas: entry.cas,
1223
+ recycle: () => void 0
1224
+ };
1225
+ }
1226
+ async touch(key, ttl) {
1227
+ const entry = this.#get(key);
1228
+ if (entry)
1229
+ entry.exp = toExp(ttl);
1230
+ return !!entry;
1231
+ }
1232
+ async set(key, value, options = {}) {
1233
+ const entry = this.#get(key);
1234
+ if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
1235
+ return;
1236
+ }
1237
+ return this.#set(key, value, options.flags, options.ttl);
1238
+ }
1239
+ async add(key, value, options = {}) {
1240
+ if (this.#get(key))
1241
+ return;
1242
+ return this.#set(key, value, options.flags, options.ttl);
1243
+ }
1244
+ async replace(key, value, options = {}) {
1245
+ if (!this.#get(key))
1246
+ return;
1247
+ return this.#set(key, value, options.flags, options.ttl);
1248
+ }
1249
+ async append(key, value, options = {}) {
1250
+ const entry = this.#get(key);
1251
+ if (!entry)
1252
+ return false;
1253
+ if (options.cas !== void 0 && options.cas !== entry.cas)
1254
+ return false;
1255
+ entry.value = Buffer.concat([entry.value, value]);
1256
+ return true;
1257
+ }
1258
+ async prepend(key, value, options = {}) {
1259
+ const entry = this.#get(key);
1260
+ if (!entry)
1261
+ return false;
1262
+ if (options.cas !== void 0 && options.cas !== entry.cas)
1263
+ return false;
1264
+ entry.value = Buffer.concat([value, entry.value]);
1265
+ return true;
1266
+ }
1267
+ async #counter(key, delta, options) {
1268
+ const entry = this.#get(key);
1269
+ if (!entry) {
1270
+ if (options.initial !== void 0) {
1271
+ const value = Buffer.from(options.initial.toString());
1272
+ this.#set(key, value, void 0, options.ttl);
1273
+ return { value: BigInt(options.initial), cas: this.#cas };
1274
+ } else {
1275
+ return;
1276
+ }
1277
+ }
1278
+ if (options.cas !== void 0 && options.cas !== entry.cas)
1279
+ return;
1280
+ try {
1281
+ const value = BigInt(entry.value.toString("utf-8")) + BigInt(delta);
1282
+ this.#set(key, Buffer.from(value.toString()), void 0, options.ttl);
1283
+ return { value, cas: this.#cas };
1284
+ } catch (error) {
1285
+ throw new TypeError(`${error.message} (status=NON_NUMERIC_VALUE, key=${key})`);
1286
+ }
1287
+ }
1288
+ increment(key, delta = 1n, options = {}) {
1289
+ return this.#counter(key, delta, options);
1290
+ }
1291
+ decrement(key, delta = 1n, options = {}) {
1292
+ return this.#counter(key, -delta, options);
1293
+ }
1294
+ async delete(key, options = {}) {
1295
+ const entry = this.#get(key);
1296
+ if (entry && options.cas !== void 0 && entry.cas !== options.cas) {
1297
+ return false;
1298
+ }
1299
+ return this.#cache.delete(key);
1300
+ }
1301
+ async flush(ttl) {
1302
+ if (!ttl)
1303
+ return this.#cache.clear();
1304
+ const wait = toExp(ttl) - Date.now();
1305
+ setTimeout(() => this.#cache.clear(), wait);
1306
+ }
1307
+ async noop() {
1308
+ }
1309
+ async quit() {
1310
+ }
1311
+ async version() {
1312
+ return { fake: "0.0.0-fake" };
1313
+ }
1314
+ async stats() {
1315
+ return { fake: { version: "0.0.0-fake" } };
1316
+ }
1317
+ };
1318
+ var MemxFakeClient = class extends MemxClient {
1319
+ constructor() {
1320
+ super(new FakeAdapter());
1321
+ }
1322
+ };
1323
+
1319
1324
  // src/utils.ts
1320
1325
  import assert6 from "assert";
1321
1326
  var Factory = class {
@@ -1443,10 +1448,11 @@ var PoorManLock = class {
1443
1448
  };
1444
1449
  export {
1445
1450
  Bundle,
1446
- Client,
1447
1451
  ClusterAdapter,
1448
1452
  Factory,
1449
1453
  FakeAdapter,
1454
+ MemxClient,
1455
+ MemxFakeClient,
1450
1456
  PoorManLock,
1451
1457
  ServerAdapter,
1452
1458
  connection_exports as connection,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/decode.ts", "../src/constants.ts", "../src/buffers.ts", "../src/encode.ts", "../src/connection.ts", "../src/internals.ts", "../src/fake.ts", "../src/server.ts", "../src/cluster.ts", "../src/client.ts", "../src/utils.ts"],
4
- "mappings": "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",
3
+ "sources": ["../src/decode.ts", "../src/constants.ts", "../src/buffers.ts", "../src/encode.ts", "../src/connection.ts", "../src/internals.ts", "../src/server.ts", "../src/cluster.ts", "../src/client.ts", "../src/fake.ts", "../src/utils.ts"],
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/index.d.ts CHANGED
@@ -54,7 +54,7 @@ export declare interface AdapterResult {
54
54
  recycle: () => void;
55
55
  }
56
56
 
57
- /** Types that can be appended/prepended by our {@link Client}. */
57
+ /** Types that can be appended/prepended by our {@link MemxClient}. */
58
58
  export declare type Appendable = string | NodeJS.TypedArray;
59
59
 
60
60
  declare enum BUFFERS {
@@ -67,79 +67,16 @@ declare enum BUFFERS {
67
67
 
68
68
  export declare class Bundle<T extends Serializable = Serializable> {
69
69
  #private;
70
- constructor(client: Client, name: string, ttl?: number);
70
+ constructor(client: MemxClient, name: string, ttl?: number);
71
71
  add(key: string, value: T): Promise<void>;
72
72
  get(key: string): Promise<T | undefined>;
73
73
  delete(key: string): Promise<void>;
74
74
  list(): Promise<Record<string, T>>;
75
75
  }
76
76
 
77
- /**
78
- * A `Client` represents a high-level client for a _Memcached_ server.
79
- */
80
- export declare class Client {
81
- #private;
82
- /** Construct a new {@link Client} from environment variables */
83
- constructor();
84
- /** Construct a new {@link Client} wrapping an existing {@link Adapter} */
85
- constructor(adapter: Adapter);
86
- /** Construct a new {@link Client} given the specified {@link ClusterOptions} */
87
- constructor(options: ClusterOptions);
88
- /** Return the {@link Adapter} backing this {@link Client} instance */
89
- get adapter(): Adapter;
90
- /** Return the prefix prepended to all keys managed by this {@link Client} */
91
- get prefix(): string;
92
- /** Return a new {@link Client} prefixing keys with the specified `string` */
93
- withPrefix(prefix: string): Client;
94
- /** Get the value (or `undefined`) associated with the given key */
95
- get<T extends Serializable>(key: string): Promise<T | undefined>;
96
- /** Get the value (or `undefined`) associated with the given key, and update its TTL */
97
- gat<T extends Serializable>(key: string, ttl: number): Promise<T | undefined>;
98
- /** Get the value and _CAS_ associated with the given key */
99
- getc<T extends Serializable>(key: string): Promise<ClientResult<T> | undefined>;
100
- /** Get the value and _CAS_ associated with the given key, and update its TTL */
101
- gatc<T extends Serializable>(key: string, ttl: number): Promise<ClientResult<T> | undefined>;
102
- set(key: string, value: Serializable, options?: {
103
- cas?: bigint;
104
- ttl?: number;
105
- }): Promise<bigint | undefined>;
106
- add(key: string, value: Serializable, options?: {
107
- ttl?: number;
108
- }): Promise<bigint | undefined>;
109
- replace(key: string, value: Serializable, options?: {
110
- cas?: bigint;
111
- ttl?: number;
112
- }): Promise<bigint | undefined>;
113
- append(key: string, value: Appendable, options?: {
114
- cas?: bigint;
115
- }): Promise<boolean>;
116
- prepend(key: string, value: Appendable, options?: {
117
- cas?: bigint;
118
- }): Promise<boolean>;
119
- increment(key: string, delta?: bigint | number, options?: {
120
- initial?: bigint | number;
121
- cas?: bigint;
122
- ttl?: number;
123
- }): Promise<Counter | undefined>;
124
- decrement(key: string, delta?: bigint | number, options?: {
125
- initial?: bigint | number;
126
- cas?: bigint;
127
- ttl?: number;
128
- }): Promise<Counter | undefined>;
129
- touch(key: string, ttl?: number): Promise<boolean>;
130
- delete(key: string, options?: {
131
- cas?: bigint;
132
- }): Promise<boolean>;
133
- flush(ttl?: number): Promise<void>;
134
- noop(): Promise<void>;
135
- quit(): Promise<void>;
136
- version(): Promise<Record<string, string>>;
137
- stats(): Promise<Record<string, Stats>>;
138
- }
139
-
140
77
  /** The `ClientResult` interface associate a value with its _CAS_. */
141
78
  export declare interface ClientResult<T extends Serializable> {
142
- /** The value returned by the {@link Client} */
79
+ /** The value returned by the {@link MemxClient} */
143
80
  value: T;
144
81
  /** The _CAS_ of the value being returned */
145
82
  cas: bigint;
@@ -283,7 +220,7 @@ declare class Encoder {
283
220
 
284
221
  export declare class Factory<T extends Serializable> {
285
222
  #private;
286
- constructor(client: Client, factory: (key: string) => T | Promise<T>, ttl?: number);
223
+ constructor(client: MemxClient, factory: (key: string) => T | Promise<T>, ttl?: number);
287
224
  get(key: string): Promise<T>;
288
225
  }
289
226
 
@@ -361,6 +298,73 @@ declare enum MAGIC {
361
298
  RESPONSE = 129
362
299
  }
363
300
 
301
+ /**
302
+ * A `Client` represents a high-level client for a _Memcached_ server.
303
+ */
304
+ export declare class MemxClient {
305
+ #private;
306
+ /** Construct a new {@link MemxClient} from environment variables */
307
+ constructor();
308
+ /** Construct a new {@link MemxClient} wrapping an existing {@link Adapter} */
309
+ constructor(adapter: Adapter);
310
+ /** Construct a new {@link MemxClient} given the specified {@link ClusterOptions} */
311
+ constructor(options: ClusterOptions);
312
+ /** Return the {@link Adapter} backing this {@link MemxClient} instance */
313
+ get adapter(): Adapter;
314
+ /** Return the prefix prepended to all keys managed by this {@link MemxClient} */
315
+ get prefix(): string;
316
+ /** Return a new {@link MemxClient} prefixing keys with the specified `string` */
317
+ withPrefix(prefix: string): MemxClient;
318
+ /** Get the value (or `undefined`) associated with the given key */
319
+ get<T extends Serializable>(key: string): Promise<T | undefined>;
320
+ /** Get the value (or `undefined`) associated with the given key, and update its TTL */
321
+ gat<T extends Serializable>(key: string, ttl: number): Promise<T | undefined>;
322
+ /** Get the value and _CAS_ associated with the given key */
323
+ getc<T extends Serializable>(key: string): Promise<ClientResult<T> | undefined>;
324
+ /** Get the value and _CAS_ associated with the given key, and update its TTL */
325
+ gatc<T extends Serializable>(key: string, ttl: number): Promise<ClientResult<T> | undefined>;
326
+ set(key: string, value: Serializable, options?: {
327
+ cas?: bigint;
328
+ ttl?: number;
329
+ }): Promise<bigint | undefined>;
330
+ add(key: string, value: Serializable, options?: {
331
+ ttl?: number;
332
+ }): Promise<bigint | undefined>;
333
+ replace(key: string, value: Serializable, options?: {
334
+ cas?: bigint;
335
+ ttl?: number;
336
+ }): Promise<bigint | undefined>;
337
+ append(key: string, value: Appendable, options?: {
338
+ cas?: bigint;
339
+ }): Promise<boolean>;
340
+ prepend(key: string, value: Appendable, options?: {
341
+ cas?: bigint;
342
+ }): Promise<boolean>;
343
+ increment(key: string, delta?: bigint | number, options?: {
344
+ initial?: bigint | number;
345
+ cas?: bigint;
346
+ ttl?: number;
347
+ }): Promise<Counter | undefined>;
348
+ decrement(key: string, delta?: bigint | number, options?: {
349
+ initial?: bigint | number;
350
+ cas?: bigint;
351
+ ttl?: number;
352
+ }): Promise<Counter | undefined>;
353
+ touch(key: string, ttl?: number): Promise<boolean>;
354
+ delete(key: string, options?: {
355
+ cas?: bigint;
356
+ }): Promise<boolean>;
357
+ flush(ttl?: number): Promise<void>;
358
+ noop(): Promise<void>;
359
+ quit(): Promise<void>;
360
+ version(): Promise<Record<string, string>>;
361
+ stats(): Promise<Record<string, Stats>>;
362
+ }
363
+
364
+ export declare class MemxFakeClient extends MemxClient {
365
+ constructor();
366
+ }
367
+
364
368
  declare enum OFFSETS {
365
369
  MAGIC_$8 = 0,
366
370
  OPCODE_$8 = 1,
@@ -395,7 +399,7 @@ declare enum OPCODE {
395
399
 
396
400
  export declare class PoorManLock {
397
401
  #private;
398
- constructor(client: Client, name: string);
402
+ constructor(client: MemxClient, name: string);
399
403
  execute<T>(executor: () => T | Promise<T>, options?: {
400
404
  timeout?: number;
401
405
  owner?: string;
@@ -436,7 +440,7 @@ export declare interface RecyclableBuffer extends Buffer {
436
440
  recycle(): void;
437
441
  }
438
442
 
439
- /** Types that can be serialized by our {@link Client}. */
443
+ /** Types that can be serialized by our {@link MemxClient}. */
440
444
  export declare type Serializable = bigint | string | number | boolean | null | object;
441
445
 
442
446
  export declare class ServerAdapter implements Adapter {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memx",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Simple and fast memcached client",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -27,20 +27,20 @@
27
27
  "@types/mocha": "^9.1.0",
28
28
  "@types/node": "~16.11.26",
29
29
  "@types/source-map-support": "^0.5.4",
30
- "@typescript-eslint/eslint-plugin": "^5.15.0",
31
- "@typescript-eslint/parser": "^5.15.0",
30
+ "@typescript-eslint/eslint-plugin": "^5.17.0",
31
+ "@typescript-eslint/parser": "^5.17.0",
32
32
  "chai": "^4.3.6",
33
33
  "chai-as-promised": "^7.1.1",
34
34
  "chai-exclude": "^2.1.0",
35
- "esbuild": "^0.14.27",
36
- "eslint": "^8.11.0",
35
+ "esbuild": "^0.14.28",
36
+ "eslint": "^8.12.0",
37
37
  "eslint-config-google": "^0.14.0",
38
38
  "memjs": "^1.3.0",
39
39
  "mocha": "^9.2.2",
40
40
  "nodemon": "^2.0.15",
41
41
  "nyc": "^15.1.0",
42
42
  "source-map-support": "^0.5.21",
43
- "typescript": "^4.6.2"
43
+ "typescript": "^4.6.3"
44
44
  },
45
45
  "directories": {
46
46
  "test": "test"
package/src/client.ts CHANGED
@@ -130,15 +130,15 @@ function makeTypedArray<T extends NodeJS.TypedArray>(
130
130
 
131
131
  /* ========================================================================== */
132
132
 
133
- /** Types that can be serialized by our {@link Client}. */
133
+ /** Types that can be serialized by our {@link MemxClient}. */
134
134
  export type Serializable = bigint | string | number | boolean | null | object
135
135
 
136
- /** Types that can be appended/prepended by our {@link Client}. */
136
+ /** Types that can be appended/prepended by our {@link MemxClient}. */
137
137
  export type Appendable = string | NodeJS.TypedArray
138
138
 
139
139
  /** The `ClientResult` interface associate a value with its _CAS_. */
140
140
  export interface ClientResult<T extends Serializable> {
141
- /** The value returned by the {@link Client} */
141
+ /** The value returned by the {@link MemxClient} */
142
142
  value: T
143
143
  /** The _CAS_ of the value being returned */
144
144
  cas: bigint
@@ -147,15 +147,15 @@ export interface ClientResult<T extends Serializable> {
147
147
  /**
148
148
  * A `Client` represents a high-level client for a _Memcached_ server.
149
149
  */
150
- export class Client {
150
+ export class MemxClient {
151
151
  #adapter!: Adapter
152
152
  #prefix: string
153
153
 
154
- /** Construct a new {@link Client} from environment variables */
154
+ /** Construct a new {@link MemxClient} from environment variables */
155
155
  constructor()
156
- /** Construct a new {@link Client} wrapping an existing {@link Adapter} */
156
+ /** Construct a new {@link MemxClient} wrapping an existing {@link Adapter} */
157
157
  constructor(adapter: Adapter)
158
- /** Construct a new {@link Client} given the specified {@link ClusterOptions} */
158
+ /** Construct a new {@link MemxClient} given the specified {@link ClusterOptions} */
159
159
  constructor(options: ClusterOptions)
160
160
 
161
161
  constructor(adapterOrOptions?: Adapter | ClusterOptions) {
@@ -172,20 +172,20 @@ export class Client {
172
172
  assert(this.#adapter, 'Invalid client constructor arguments')
173
173
  }
174
174
 
175
- /** Return the {@link Adapter} backing this {@link Client} instance */
175
+ /** Return the {@link Adapter} backing this {@link MemxClient} instance */
176
176
  get adapter(): Adapter {
177
177
  return this.#adapter
178
178
  }
179
179
 
180
- /** Return the prefix prepended to all keys managed by this {@link Client} */
180
+ /** Return the prefix prepended to all keys managed by this {@link MemxClient} */
181
181
  get prefix(): string {
182
182
  return this.#prefix
183
183
  }
184
184
 
185
- /** Return a new {@link Client} prefixing keys with the specified `string` */
186
- withPrefix(prefix: string): Client {
185
+ /** Return a new {@link MemxClient} prefixing keys with the specified `string` */
186
+ withPrefix(prefix: string): MemxClient {
187
187
  assert(prefix, 'Invalid prefix')
188
- const client = new Client(this.#adapter)
188
+ const client = new MemxClient(this.#adapter)
189
189
  client.#prefix = prefix
190
190
  return client
191
191
  }
package/src/fake.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Adapter, AdapterResult, Counter, Stats } from './types'
2
+ import { MemxClient } from './client'
2
3
 
3
4
  interface Entry {
4
5
  value: Buffer,
@@ -220,3 +221,9 @@ export class FakeAdapter implements Adapter {
220
221
  return { fake: { version: '0.0.0-fake' } as Stats }
221
222
  }
222
223
  }
224
+
225
+ export class MemxFakeClient extends MemxClient {
226
+ constructor() {
227
+ super(new FakeAdapter())
228
+ }
229
+ }
package/src/utils.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  /* eslint-disable no-console */
2
2
 
3
3
  import assert from 'assert'
4
- import { Client, Serializable } from './client'
4
+ import { MemxClient, Serializable } from './client'
5
5
  import { logPromiseError } from './internals'
6
6
 
7
7
  export class Factory<T extends Serializable> {
8
8
  #factory: (key: string) => T | Promise<T>
9
- #client: Client
9
+ #client: MemxClient
10
10
  #ttl?: number
11
11
 
12
- constructor(client: Client, factory: (key: string) => T | Promise<T>, ttl?: number) {
12
+ constructor(client: MemxClient, factory: (key: string) => T | Promise<T>, ttl?: number) {
13
13
  assert(typeof factory === 'function', 'Invalid or no factory specified')
14
14
  assert(client, 'No client specified')
15
15
 
@@ -38,11 +38,11 @@ export class Factory<T extends Serializable> {
38
38
  }
39
39
 
40
40
  export class Bundle<T extends Serializable = Serializable> {
41
- #client: Client
41
+ #client: MemxClient
42
42
  #name: string
43
43
  #ttl: number
44
44
 
45
- constructor(client: Client, name: string, ttl?: number) {
45
+ constructor(client: MemxClient, name: string, ttl?: number) {
46
46
  assert(client, 'No client specified')
47
47
  assert(name, 'No bundle name specified')
48
48
 
@@ -110,10 +110,10 @@ export class Bundle<T extends Serializable = Serializable> {
110
110
  }
111
111
 
112
112
  export class PoorManLock {
113
- #client: Client
113
+ #client: MemxClient
114
114
  #name: string
115
115
 
116
- constructor(client: Client, name: string) {
116
+ constructor(client: MemxClient, name: string) {
117
117
  assert(client, 'No client specified')
118
118
  assert(name, 'No lock name specified')
119
119