@mikro-orm/core 7.0.10-dev.9 → 7.0.10
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/EntityManager.d.ts +885 -583
- package/EntityManager.js +1927 -1899
- package/MikroORM.d.ts +103 -74
- package/MikroORM.js +177 -178
- package/README.md +1 -1
- package/cache/CacheAdapter.d.ts +36 -36
- package/cache/FileCacheAdapter.d.ts +30 -24
- package/cache/FileCacheAdapter.js +80 -78
- package/cache/GeneratedCacheAdapter.d.ts +18 -20
- package/cache/GeneratedCacheAdapter.js +30 -30
- package/cache/MemoryCacheAdapter.d.ts +18 -20
- package/cache/MemoryCacheAdapter.js +35 -36
- package/cache/NullCacheAdapter.d.ts +16 -16
- package/cache/NullCacheAdapter.js +24 -24
- package/connections/Connection.d.ts +95 -84
- package/connections/Connection.js +165 -168
- package/drivers/DatabaseDriver.d.ts +186 -80
- package/drivers/DatabaseDriver.js +450 -443
- package/drivers/IDatabaseDriver.d.ts +440 -301
- package/entity/BaseEntity.d.ts +120 -83
- package/entity/BaseEntity.js +43 -43
- package/entity/Collection.d.ts +215 -181
- package/entity/Collection.js +733 -725
- package/entity/EntityAssigner.d.ts +88 -77
- package/entity/EntityAssigner.js +231 -230
- package/entity/EntityFactory.d.ts +67 -55
- package/entity/EntityFactory.js +457 -416
- package/entity/EntityHelper.d.ts +35 -23
- package/entity/EntityHelper.js +302 -290
- package/entity/EntityIdentifier.d.ts +4 -4
- package/entity/EntityIdentifier.js +10 -10
- package/entity/EntityLoader.d.ts +98 -72
- package/entity/EntityLoader.js +805 -760
- package/entity/EntityRepository.d.ts +316 -201
- package/entity/EntityRepository.js +213 -213
- package/entity/PolymorphicRef.d.ts +5 -5
- package/entity/PolymorphicRef.js +10 -10
- package/entity/Reference.d.ts +127 -83
- package/entity/Reference.js +285 -279
- package/entity/WrappedEntity.d.ts +115 -72
- package/entity/WrappedEntity.js +168 -166
- package/entity/defineEntity.d.ts +1359 -654
- package/entity/defineEntity.js +527 -518
- package/entity/utils.d.ts +13 -3
- package/entity/utils.js +71 -73
- package/entity/validators.js +43 -43
- package/entity/wrap.js +8 -8
- package/enums.d.ts +258 -253
- package/enums.js +251 -252
- package/errors.d.ts +114 -72
- package/errors.js +350 -253
- package/events/EventManager.d.ts +26 -14
- package/events/EventManager.js +79 -77
- package/events/EventSubscriber.d.ts +29 -29
- package/events/TransactionEventBroadcaster.d.ts +15 -8
- package/events/TransactionEventBroadcaster.js +14 -14
- package/exceptions.d.ts +23 -40
- package/exceptions.js +35 -52
- package/hydration/Hydrator.d.ts +42 -17
- package/hydration/Hydrator.js +43 -43
- package/hydration/ObjectHydrator.d.ts +50 -17
- package/hydration/ObjectHydrator.js +483 -418
- package/index.d.ts +116 -2
- package/index.js +10 -1
- package/logging/DefaultLogger.d.ts +34 -32
- package/logging/DefaultLogger.js +86 -86
- package/logging/Logger.d.ts +41 -41
- package/logging/SimpleLogger.d.ts +13 -11
- package/logging/SimpleLogger.js +22 -22
- package/logging/colors.d.ts +6 -6
- package/logging/colors.js +11 -10
- package/logging/inspect.js +7 -7
- package/metadata/EntitySchema.d.ts +214 -130
- package/metadata/EntitySchema.js +411 -412
- package/metadata/MetadataDiscovery.d.ts +114 -114
- package/metadata/MetadataDiscovery.js +1962 -1879
- package/metadata/MetadataProvider.d.ts +29 -26
- package/metadata/MetadataProvider.js +95 -97
- package/metadata/MetadataStorage.d.ts +38 -32
- package/metadata/MetadataStorage.js +118 -118
- package/metadata/MetadataValidator.d.ts +39 -39
- package/metadata/MetadataValidator.js +381 -338
- package/metadata/discover-entities.d.ts +5 -2
- package/metadata/discover-entities.js +35 -37
- package/metadata/types.d.ts +615 -531
- package/naming-strategy/AbstractNamingStrategy.d.ts +54 -39
- package/naming-strategy/AbstractNamingStrategy.js +90 -85
- package/naming-strategy/EntityCaseNamingStrategy.d.ts +6 -6
- package/naming-strategy/EntityCaseNamingStrategy.js +22 -22
- package/naming-strategy/MongoNamingStrategy.d.ts +6 -6
- package/naming-strategy/MongoNamingStrategy.js +18 -18
- package/naming-strategy/NamingStrategy.d.ts +109 -99
- package/naming-strategy/UnderscoreNamingStrategy.d.ts +7 -7
- package/naming-strategy/UnderscoreNamingStrategy.js +21 -21
- package/not-supported.js +7 -4
- package/package.json +1 -1
- package/platforms/ExceptionConverter.d.ts +1 -1
- package/platforms/ExceptionConverter.js +4 -4
- package/platforms/Platform.d.ts +312 -303
- package/platforms/Platform.js +695 -675
- package/serialization/EntitySerializer.d.ts +49 -26
- package/serialization/EntitySerializer.js +224 -218
- package/serialization/EntityTransformer.d.ts +10 -6
- package/serialization/EntityTransformer.js +219 -217
- package/serialization/SerializationContext.d.ts +27 -23
- package/serialization/SerializationContext.js +105 -105
- package/types/ArrayType.d.ts +8 -8
- package/types/ArrayType.js +33 -33
- package/types/BigIntType.d.ts +17 -10
- package/types/BigIntType.js +37 -37
- package/types/BlobType.d.ts +3 -3
- package/types/BlobType.js +13 -13
- package/types/BooleanType.d.ts +4 -4
- package/types/BooleanType.js +12 -12
- package/types/CharacterType.d.ts +2 -2
- package/types/CharacterType.js +6 -6
- package/types/DateTimeType.d.ts +5 -5
- package/types/DateTimeType.js +15 -15
- package/types/DateType.d.ts +5 -5
- package/types/DateType.js +15 -15
- package/types/DecimalType.d.ts +7 -7
- package/types/DecimalType.js +26 -26
- package/types/DoubleType.d.ts +3 -3
- package/types/DoubleType.js +12 -12
- package/types/EnumArrayType.d.ts +5 -5
- package/types/EnumArrayType.js +24 -24
- package/types/EnumType.d.ts +3 -3
- package/types/EnumType.js +11 -11
- package/types/FloatType.d.ts +3 -3
- package/types/FloatType.js +9 -9
- package/types/IntegerType.d.ts +3 -3
- package/types/IntegerType.js +9 -9
- package/types/IntervalType.d.ts +4 -4
- package/types/IntervalType.js +12 -12
- package/types/JsonType.d.ts +8 -8
- package/types/JsonType.js +32 -32
- package/types/MediumIntType.d.ts +1 -1
- package/types/MediumIntType.js +3 -3
- package/types/SmallIntType.d.ts +3 -3
- package/types/SmallIntType.js +9 -9
- package/types/StringType.d.ts +4 -4
- package/types/StringType.js +12 -12
- package/types/TextType.d.ts +3 -3
- package/types/TextType.js +9 -9
- package/types/TimeType.d.ts +5 -5
- package/types/TimeType.js +17 -17
- package/types/TinyIntType.d.ts +3 -3
- package/types/TinyIntType.js +10 -10
- package/types/Type.d.ts +83 -79
- package/types/Type.js +82 -82
- package/types/Uint8ArrayType.d.ts +4 -4
- package/types/Uint8ArrayType.js +21 -21
- package/types/UnknownType.d.ts +4 -4
- package/types/UnknownType.js +12 -12
- package/types/UuidType.d.ts +5 -5
- package/types/UuidType.js +19 -19
- package/types/index.d.ts +75 -49
- package/types/index.js +52 -26
- package/typings.d.ts +1254 -741
- package/typings.js +244 -233
- package/unit-of-work/ChangeSet.d.ts +26 -26
- package/unit-of-work/ChangeSet.js +56 -56
- package/unit-of-work/ChangeSetComputer.d.ts +12 -12
- package/unit-of-work/ChangeSetComputer.js +187 -179
- package/unit-of-work/ChangeSetPersister.d.ts +69 -50
- package/unit-of-work/ChangeSetPersister.js +465 -442
- package/unit-of-work/CommitOrderCalculator.d.ts +40 -40
- package/unit-of-work/CommitOrderCalculator.js +89 -88
- package/unit-of-work/IdentityMap.d.ts +31 -31
- package/unit-of-work/IdentityMap.js +105 -105
- package/unit-of-work/UnitOfWork.d.ts +181 -141
- package/unit-of-work/UnitOfWork.js +1237 -1223
- package/utils/AbstractMigrator.d.ts +111 -91
- package/utils/AbstractMigrator.js +275 -275
- package/utils/AbstractSchemaGenerator.d.ts +43 -34
- package/utils/AbstractSchemaGenerator.js +121 -122
- package/utils/AsyncContext.d.ts +3 -3
- package/utils/AsyncContext.js +34 -35
- package/utils/Configuration.d.ts +852 -808
- package/utils/Configuration.js +359 -344
- package/utils/Cursor.d.ts +40 -22
- package/utils/Cursor.js +135 -127
- package/utils/DataloaderUtils.d.ts +58 -43
- package/utils/DataloaderUtils.js +203 -198
- package/utils/EntityComparator.d.ts +99 -82
- package/utils/EntityComparator.js +829 -737
- package/utils/NullHighlighter.d.ts +1 -1
- package/utils/NullHighlighter.js +3 -3
- package/utils/QueryHelper.d.ts +79 -51
- package/utils/QueryHelper.js +375 -361
- package/utils/RawQueryFragment.d.ts +52 -36
- package/utils/RawQueryFragment.js +147 -109
- package/utils/RequestContext.d.ts +32 -32
- package/utils/RequestContext.js +52 -53
- package/utils/TransactionContext.d.ts +16 -16
- package/utils/TransactionContext.js +27 -27
- package/utils/TransactionManager.d.ts +58 -58
- package/utils/TransactionManager.js +202 -196
- package/utils/Utils.d.ts +204 -145
- package/utils/Utils.js +826 -817
- package/utils/clone.js +105 -114
- package/utils/env-vars.js +90 -88
- package/utils/fs-utils.d.ts +15 -15
- package/utils/fs-utils.js +181 -182
- package/utils/upsert-utils.d.ts +20 -5
- package/utils/upsert-utils.js +114 -116
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
import type { SyncCacheAdapter } from './CacheAdapter.js';
|
|
2
2
|
export declare class FileCacheAdapter implements SyncCacheAdapter {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
3
|
+
#private;
|
|
4
|
+
constructor(
|
|
5
|
+
options:
|
|
6
|
+
| {
|
|
7
|
+
cacheDir: string;
|
|
8
|
+
combined?: boolean | string;
|
|
9
|
+
}
|
|
10
|
+
| undefined,
|
|
11
|
+
baseDir: string,
|
|
12
|
+
pretty?: boolean,
|
|
13
|
+
);
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
get(name: string): any;
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
set(name: string, data: any, origin: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
*/
|
|
25
|
+
remove(name: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* @inheritDoc
|
|
28
|
+
*/
|
|
29
|
+
clear(): void;
|
|
30
|
+
combine(): string | void;
|
|
31
|
+
private path;
|
|
32
|
+
private getHash;
|
|
27
33
|
}
|
|
@@ -2,88 +2,90 @@ import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
|
2
2
|
import { fs } from '../utils/fs-utils.js';
|
|
3
3
|
import { Utils } from '../utils/Utils.js';
|
|
4
4
|
export class FileCacheAdapter {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
#VERSION = Utils.getORMVersion();
|
|
6
|
+
#cache = {};
|
|
7
|
+
#options;
|
|
8
|
+
#baseDir;
|
|
9
|
+
#pretty;
|
|
10
|
+
constructor(options = {}, baseDir, pretty = false) {
|
|
11
|
+
this.#options = options;
|
|
12
|
+
this.#baseDir = baseDir;
|
|
13
|
+
this.#pretty = pretty;
|
|
14
|
+
this.#options.cacheDir ??= process.cwd() + '/temp';
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @inheritDoc
|
|
18
|
+
*/
|
|
19
|
+
get(name) {
|
|
20
|
+
const path = this.path(name);
|
|
21
|
+
if (!existsSync(path)) {
|
|
22
|
+
return null;
|
|
15
23
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const path = this.path(name);
|
|
21
|
-
if (!existsSync(path)) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
const payload = fs.readJSONSync(path);
|
|
25
|
-
const hash = this.getHash(payload.origin);
|
|
26
|
-
if (!hash || payload.hash !== hash) {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
return payload.data;
|
|
24
|
+
const payload = fs.readJSONSync(path);
|
|
25
|
+
const hash = this.getHash(payload.origin);
|
|
26
|
+
if (!hash || payload.hash !== hash) {
|
|
27
|
+
return null;
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const hash = this.getHash(origin);
|
|
41
|
-
writeFileSync(path, JSON.stringify({ data, origin, hash, version: this.#VERSION }, null, this.#pretty ? 2 : undefined));
|
|
29
|
+
return payload.data;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @inheritDoc
|
|
33
|
+
*/
|
|
34
|
+
set(name, data, origin) {
|
|
35
|
+
if (this.#options.combined) {
|
|
36
|
+
this.#cache[name.replace(/\.[jt]s$/, '')] = data;
|
|
37
|
+
return;
|
|
42
38
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
const path = this.path(name);
|
|
40
|
+
const hash = this.getHash(origin);
|
|
41
|
+
writeFileSync(
|
|
42
|
+
path,
|
|
43
|
+
JSON.stringify({ data, origin, hash, version: this.#VERSION }, null, this.#pretty ? 2 : undefined),
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @inheritDoc
|
|
48
|
+
*/
|
|
49
|
+
remove(name) {
|
|
50
|
+
const path = this.path(name);
|
|
51
|
+
unlinkSync(path);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @inheritDoc
|
|
55
|
+
*/
|
|
56
|
+
clear() {
|
|
57
|
+
const path = this.path('*');
|
|
58
|
+
const files = fs.glob(path);
|
|
59
|
+
for (const file of files) {
|
|
60
|
+
/* v8 ignore next */
|
|
61
|
+
try {
|
|
62
|
+
unlinkSync(file);
|
|
63
|
+
} catch {
|
|
64
|
+
// ignore if file is already gone
|
|
65
|
+
}
|
|
49
66
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const files = fs.glob(path);
|
|
56
|
-
for (const file of files) {
|
|
57
|
-
/* v8 ignore next */
|
|
58
|
-
try {
|
|
59
|
-
unlinkSync(file);
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
// ignore if file is already gone
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
this.#cache = {};
|
|
67
|
+
this.#cache = {};
|
|
68
|
+
}
|
|
69
|
+
combine() {
|
|
70
|
+
if (!this.#options.combined) {
|
|
71
|
+
return;
|
|
66
72
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
getHash(origin) {
|
|
82
|
-
origin = fs.absolutePath(origin, this.#baseDir);
|
|
83
|
-
if (!existsSync(origin)) {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
const contents = readFileSync(origin);
|
|
87
|
-
return Utils.hash(contents.toString() + this.#VERSION);
|
|
73
|
+
let path = typeof this.#options.combined === 'string' ? this.#options.combined : './metadata.json';
|
|
74
|
+
path = fs.normalizePath(this.#options.cacheDir, path);
|
|
75
|
+
this.#options.combined = path; // override in the options, so we can log it from the CLI in `cache:generate` command
|
|
76
|
+
writeFileSync(path, JSON.stringify(this.#cache, null, this.#pretty ? 2 : undefined));
|
|
77
|
+
return path;
|
|
78
|
+
}
|
|
79
|
+
path(name) {
|
|
80
|
+
fs.ensureDir(this.#options.cacheDir);
|
|
81
|
+
return `${this.#options.cacheDir}/${name}.json`;
|
|
82
|
+
}
|
|
83
|
+
getHash(origin) {
|
|
84
|
+
origin = fs.absolutePath(origin, this.#baseDir);
|
|
85
|
+
if (!existsSync(origin)) {
|
|
86
|
+
return null;
|
|
88
87
|
}
|
|
88
|
+
const contents = readFileSync(origin);
|
|
89
|
+
return Utils.hash(contents.toString() + this.#VERSION);
|
|
90
|
+
}
|
|
89
91
|
}
|
|
@@ -2,24 +2,22 @@ import type { CacheAdapter } from './CacheAdapter.js';
|
|
|
2
2
|
import type { Dictionary } from '../typings.js';
|
|
3
3
|
/** Cache adapter backed by pre-generated static data, typically produced by the CLI cache:generate command. */
|
|
4
4
|
export declare class GeneratedCacheAdapter implements CacheAdapter {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*/
|
|
24
|
-
clear(): void;
|
|
5
|
+
#private;
|
|
6
|
+
constructor(options: { data: Dictionary });
|
|
7
|
+
/**
|
|
8
|
+
* @inheritDoc
|
|
9
|
+
*/
|
|
10
|
+
get<T = any>(name: string): T | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* @inheritDoc
|
|
13
|
+
*/
|
|
14
|
+
set(name: string, data: any, origin: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
remove(name: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* @inheritDoc
|
|
21
|
+
*/
|
|
22
|
+
clear(): void;
|
|
25
23
|
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
/** Cache adapter backed by pre-generated static data, typically produced by the CLI cache:generate command. */
|
|
2
2
|
export class GeneratedCacheAdapter {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
3
|
+
#data;
|
|
4
|
+
constructor(options) {
|
|
5
|
+
this.#data = new Map(Object.entries(options.data));
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* @inheritDoc
|
|
9
|
+
*/
|
|
10
|
+
get(name) {
|
|
11
|
+
const key = name.replace(/\.[jt]s$/, '');
|
|
12
|
+
const data = this.#data.get(key);
|
|
13
|
+
return data;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
set(name, data, origin) {
|
|
19
|
+
this.#data.set(name, { data });
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
remove(name) {
|
|
25
|
+
this.#data.delete(name);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @inheritDoc
|
|
29
|
+
*/
|
|
30
|
+
clear() {
|
|
31
|
+
this.#data.clear();
|
|
32
|
+
}
|
|
33
33
|
}
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import type { CacheAdapter } from './CacheAdapter.js';
|
|
2
2
|
/** In-memory cache adapter with time-based expiration. Used as the default result cache. */
|
|
3
3
|
export declare class MemoryCacheAdapter implements CacheAdapter {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*/
|
|
23
|
-
clear(): void;
|
|
4
|
+
#private;
|
|
5
|
+
constructor(options: { expiration: number });
|
|
6
|
+
/**
|
|
7
|
+
* @inheritDoc
|
|
8
|
+
*/
|
|
9
|
+
get<T = any>(name: string): T | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* @inheritDoc
|
|
12
|
+
*/
|
|
13
|
+
set(name: string, data: any, origin: string, expiration?: number): void;
|
|
14
|
+
/**
|
|
15
|
+
* @inheritDoc
|
|
16
|
+
*/
|
|
17
|
+
remove(name: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* @inheritDoc
|
|
20
|
+
*/
|
|
21
|
+
clear(): void;
|
|
24
22
|
}
|
|
@@ -1,41 +1,40 @@
|
|
|
1
1
|
/** In-memory cache adapter with time-based expiration. Used as the default result cache. */
|
|
2
2
|
export class MemoryCacheAdapter {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.#data.delete(name);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
return data.data;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* @inheritDoc
|
|
25
|
-
*/
|
|
26
|
-
set(name, data, origin, expiration) {
|
|
27
|
-
this.#data.set(name, { data, expiration: Date.now() + (expiration ?? this.#options.expiration) });
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* @inheritDoc
|
|
31
|
-
*/
|
|
32
|
-
remove(name) {
|
|
3
|
+
#data = new Map();
|
|
4
|
+
#options;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.#options = options;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @inheritDoc
|
|
10
|
+
*/
|
|
11
|
+
get(name) {
|
|
12
|
+
const data = this.#data.get(name);
|
|
13
|
+
if (data) {
|
|
14
|
+
if (data.expiration < Date.now()) {
|
|
33
15
|
this.#data.delete(name);
|
|
16
|
+
} else {
|
|
17
|
+
return data.data;
|
|
18
|
+
}
|
|
34
19
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @inheritDoc
|
|
24
|
+
*/
|
|
25
|
+
set(name, data, origin, expiration) {
|
|
26
|
+
this.#data.set(name, { data, expiration: Date.now() + (expiration ?? this.#options.expiration) });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
remove(name) {
|
|
32
|
+
this.#data.delete(name);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @inheritDoc
|
|
36
|
+
*/
|
|
37
|
+
clear() {
|
|
38
|
+
this.#data.clear();
|
|
39
|
+
}
|
|
41
40
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import type { SyncCacheAdapter } from './CacheAdapter.js';
|
|
2
2
|
/** No-op cache adapter that never stores or returns any data. Used to disable caching. */
|
|
3
3
|
export declare class NullCacheAdapter implements SyncCacheAdapter {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @inheritDoc
|
|
6
|
+
*/
|
|
7
|
+
get(name: string): any;
|
|
8
|
+
/**
|
|
9
|
+
* @inheritDoc
|
|
10
|
+
*/
|
|
11
|
+
set(name: string, data: any, origin: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* @inheritDoc
|
|
14
|
+
*/
|
|
15
|
+
remove(name: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* @inheritDoc
|
|
18
|
+
*/
|
|
19
|
+
clear(): void;
|
|
20
20
|
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
/** No-op cache adapter that never stores or returns any data. Used to disable caching. */
|
|
2
2
|
export class NullCacheAdapter {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @inheritDoc
|
|
5
|
+
*/
|
|
6
|
+
get(name) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @inheritDoc
|
|
11
|
+
*/
|
|
12
|
+
set(name, data, origin) {
|
|
13
|
+
// ignore
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @inheritDoc
|
|
17
|
+
*/
|
|
18
|
+
remove(name) {
|
|
19
|
+
// ignore
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* @inheritDoc
|
|
23
|
+
*/
|
|
24
|
+
clear() {
|
|
25
|
+
// ignore
|
|
26
|
+
}
|
|
27
27
|
}
|