@adonisjs/lock 1.0.0-0 → 1.0.0-1
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/build/bin/test.d.ts +1 -0
- package/build/configure.d.ts +2 -0
- package/build/index.d.ts +4 -47
- package/build/providers/lock_provider.d.ts +4 -9
- package/build/services/main.d.ts +1 -6
- package/build/src/define_config.d.ts +12 -0
- package/build/src/errors.d.ts +4 -0
- package/build/src/stores.d.ts +17 -0
- package/build/src/types.d.ts +10 -10
- package/build/stubs/main.d.ts +1 -0
- package/build/tests/configure.spec.d.ts +1 -0
- package/build/tests/define_config.spec.d.ts +1 -0
- package/build/tests/helpers.d.ts +37 -0
- package/build/tests/provider.spec.d.ts +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/build/index.d.ts
CHANGED
|
@@ -1,47 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import Configure from '@adonisjs/core/commands/configure';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Different stores supported by the lock module
|
|
9
|
-
*/
|
|
10
|
-
declare const stores: {
|
|
11
|
-
memory: () => ConfigProvider<StoreFactory>;
|
|
12
|
-
redis: (config: {
|
|
13
|
-
connectionName?: keyof RedisConnections;
|
|
14
|
-
}) => ConfigProvider<StoreFactory>;
|
|
15
|
-
database: (config?: {
|
|
16
|
-
connectionName?: string;
|
|
17
|
-
tableName?: string;
|
|
18
|
-
}) => ConfigProvider<StoreFactory>;
|
|
19
|
-
dynamodb: (config: DynamoDbOptions) => ConfigProvider<StoreFactory>;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Re-exporting verrou errors
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
declare const errors_E_LOCK_ALREADY_ACQUIRED: typeof E_LOCK_ALREADY_ACQUIRED;
|
|
27
|
-
declare const errors_E_LOCK_NOT_OWNED: typeof E_LOCK_NOT_OWNED;
|
|
28
|
-
declare const errors_E_LOCK_STORAGE_ERROR: typeof E_LOCK_STORAGE_ERROR;
|
|
29
|
-
declare const errors_E_LOCK_TIMEOUT: typeof E_LOCK_TIMEOUT;
|
|
30
|
-
declare namespace errors {
|
|
31
|
-
export { errors_E_LOCK_ALREADY_ACQUIRED as E_LOCK_ALREADY_ACQUIRED, errors_E_LOCK_NOT_OWNED as E_LOCK_NOT_OWNED, errors_E_LOCK_STORAGE_ERROR as E_LOCK_STORAGE_ERROR, errors_E_LOCK_TIMEOUT as E_LOCK_TIMEOUT };
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
declare function configure(command: Configure): Promise<void>;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Define lock configuration
|
|
38
|
-
*/
|
|
39
|
-
declare function defineConfig<KnownStores extends Record<string, ConfigProvider<StoreFactory>>>(config: {
|
|
40
|
-
default: keyof KnownStores;
|
|
41
|
-
stores: KnownStores;
|
|
42
|
-
}): {
|
|
43
|
-
default: keyof KnownStores;
|
|
44
|
-
stores: KnownStores;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export { configure, defineConfig, errors, stores };
|
|
1
|
+
export { stores } from './src/stores.js';
|
|
2
|
+
export * as errors from './src/errors.js';
|
|
3
|
+
export { configure } from './configure.js';
|
|
4
|
+
export { defineConfig } from './src/define_config.js';
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { LockStoresList } from '../src/types.js';
|
|
4
|
-
import '@verrou/core/types';
|
|
5
|
-
|
|
1
|
+
import type { ApplicationService } from '@adonisjs/core/types';
|
|
2
|
+
import type { LockService } from '../src/types.js';
|
|
6
3
|
/**
|
|
7
4
|
* Add lock manager type to the container bindings
|
|
8
5
|
*/
|
|
9
6
|
declare module '@adonisjs/core/types' {
|
|
10
7
|
interface ContainerBindings {
|
|
11
|
-
'lock.manager':
|
|
8
|
+
'lock.manager': LockService;
|
|
12
9
|
}
|
|
13
10
|
}
|
|
14
|
-
|
|
11
|
+
export default class LockProvider {
|
|
15
12
|
protected app: ApplicationService;
|
|
16
13
|
constructor(app: ApplicationService);
|
|
17
14
|
/**
|
|
@@ -19,5 +16,3 @@ declare class LockProvider {
|
|
|
19
16
|
*/
|
|
20
17
|
register(): void;
|
|
21
18
|
}
|
|
22
|
-
|
|
23
|
-
export { LockProvider as default };
|
package/build/services/main.d.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { StoreFactory } from '@verrou/core/types';
|
|
2
|
+
import type { ConfigProvider } from '@adonisjs/core/types';
|
|
3
|
+
/**
|
|
4
|
+
* Define lock configuration
|
|
5
|
+
*/
|
|
6
|
+
export declare function defineConfig<KnownStores extends Record<string, ConfigProvider<StoreFactory>>>(config: {
|
|
7
|
+
default: keyof KnownStores;
|
|
8
|
+
stores: KnownStores;
|
|
9
|
+
}): {
|
|
10
|
+
default: keyof KnownStores;
|
|
11
|
+
stores: KnownStores;
|
|
12
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ConfigProvider } from '@adonisjs/core/types';
|
|
2
|
+
import type { RedisConnections } from '@adonisjs/redis/types';
|
|
3
|
+
import type { DynamoDbOptions, StoreFactory } from '@verrou/core/types';
|
|
4
|
+
/**
|
|
5
|
+
* Different stores supported by the lock module
|
|
6
|
+
*/
|
|
7
|
+
export declare const stores: {
|
|
8
|
+
memory: () => ConfigProvider<StoreFactory>;
|
|
9
|
+
redis: (config: {
|
|
10
|
+
connectionName?: keyof RedisConnections;
|
|
11
|
+
}) => ConfigProvider<StoreFactory>;
|
|
12
|
+
database: (config?: {
|
|
13
|
+
connectionName?: string;
|
|
14
|
+
tableName?: string;
|
|
15
|
+
}) => ConfigProvider<StoreFactory>;
|
|
16
|
+
dynamodb: (config: DynamoDbOptions) => ConfigProvider<StoreFactory>;
|
|
17
|
+
};
|
package/build/src/types.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { Verrou } from '@verrou/core';
|
|
2
|
-
import { StoreFactory } from '@verrou/core/types';
|
|
3
|
-
|
|
4
|
-
import { ConfigProvider } from '@adonisjs/core/types';
|
|
5
|
-
|
|
1
|
+
import type { Verrou } from '@verrou/core';
|
|
2
|
+
import type { StoreFactory } from '@verrou/core/types';
|
|
3
|
+
import type { ConfigProvider } from '@adonisjs/core/types';
|
|
6
4
|
/**
|
|
7
5
|
* A list of known lock stores inferred from the user config
|
|
8
6
|
*/
|
|
9
|
-
interface LockStoresList
|
|
7
|
+
export interface LockStoresList {
|
|
10
8
|
}
|
|
11
9
|
/**
|
|
12
10
|
* Helper method to resolve configured lock stores
|
|
13
11
|
* inside user app
|
|
14
12
|
*/
|
|
15
|
-
type InferLockStores<T extends {
|
|
13
|
+
export type InferLockStores<T extends {
|
|
16
14
|
stores: Record<string, ConfigProvider<StoreFactory>>;
|
|
17
15
|
}> = {
|
|
18
16
|
[K in keyof T['stores']]: Awaited<ReturnType<T['stores'][K]['resolver']>>;
|
|
@@ -21,7 +19,9 @@ type InferLockStores<T extends {
|
|
|
21
19
|
* Lock service is a singleton instance of Verrou
|
|
22
20
|
* configured using user app's config
|
|
23
21
|
*/
|
|
24
|
-
interface LockService extends Verrou<LockStoresList> {
|
|
22
|
+
export interface LockService extends Verrou<LockStoresList extends Record<string, StoreFactory> ? LockStoresList : never> {
|
|
25
23
|
}
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Re-exporting types from Verrou
|
|
26
|
+
*/
|
|
27
|
+
export * from '@verrou/core/types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const stubsRoot: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { Database } from '@adonisjs/lucid/database';
|
|
3
|
+
import { RedisConnection, RedisManager } from '@adonisjs/redis';
|
|
4
|
+
import { IgnitorFactory } from '@adonisjs/core/factories/core/ignitor';
|
|
5
|
+
export declare const BASE_URL: import("url").URL;
|
|
6
|
+
export declare const IMPORTER: (filePath: string) => Promise<any>;
|
|
7
|
+
/**
|
|
8
|
+
* Setup an AdonisJS app for testing
|
|
9
|
+
*/
|
|
10
|
+
export declare function setupApp(parameters?: Parameters<IgnitorFactory['merge']>[0]): Promise<{
|
|
11
|
+
app: import("@adonisjs/core/types").ApplicationService;
|
|
12
|
+
}>;
|
|
13
|
+
declare module '@adonisjs/redis/types' {
|
|
14
|
+
interface RedisConnections {
|
|
15
|
+
main: RedisConnection;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates an instance of the database class for making queries
|
|
20
|
+
*/
|
|
21
|
+
export declare function createDatabase({ autoClose }?: {
|
|
22
|
+
autoClose?: boolean;
|
|
23
|
+
}): Database;
|
|
24
|
+
/**
|
|
25
|
+
* Creates redis manager instance to execute redis
|
|
26
|
+
* commands
|
|
27
|
+
*/
|
|
28
|
+
export declare function createRedis(keysToClear?: string[]): RedisManager<{
|
|
29
|
+
main: {
|
|
30
|
+
host: string;
|
|
31
|
+
port: string | number;
|
|
32
|
+
};
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Creates needed database tables
|
|
36
|
+
*/
|
|
37
|
+
export declare function createTables(db: Database): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonisjs/lock",
|
|
3
3
|
"description": "Atomic locks (mutex) for AdonisJS applications",
|
|
4
|
-
"version": "1.0.0-
|
|
4
|
+
"version": "1.0.0-1",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.6.0"
|
|
7
7
|
},
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"pretest": "npm run lint",
|
|
26
26
|
"test": "c8 npm run quick:test",
|
|
27
27
|
"prebuild": "npm run lint && npm run clean",
|
|
28
|
-
"
|
|
28
|
+
"compile": "tsup-node && tsc --emitDeclarationOnly --declaration",
|
|
29
|
+
"build": "tsup-node && tsc --emitDeclarationOnly --declaration && npm run copy:templates",
|
|
29
30
|
"release": "np",
|
|
30
31
|
"version": "npm run build",
|
|
31
32
|
"prepublishOnly": "npm run build"
|
|
@@ -125,7 +126,7 @@
|
|
|
125
126
|
"outDir": "./build",
|
|
126
127
|
"clean": true,
|
|
127
128
|
"format": "esm",
|
|
128
|
-
"dts":
|
|
129
|
+
"dts": false,
|
|
129
130
|
"target": "esnext"
|
|
130
131
|
}
|
|
131
132
|
}
|