@rayondigital/nest-dapr 0.9.64 → 0.9.66
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/actors/abstract-actor.d.ts +1 -0
- package/dist/actors/abstract-actor.js +4 -2
- package/dist/dapr-actor-providers.module.d.ts +5 -0
- package/dist/dapr-actor-providers.module.js +61 -0
- package/dist/dapr-actor-state.decorator.d.ts +4 -0
- package/dist/dapr-actor-state.decorator.js +2 -0
- package/dist/dapr-actor.decorator.d.ts +3 -0
- package/dist/dapr-actor.decorator.js +8 -2
- package/dist/dapr.module.js +3 -2
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ export declare abstract class AbstractActor {
|
|
|
10
10
|
private readonly actorClient;
|
|
11
11
|
private readonly daprStateProvider;
|
|
12
12
|
private readonly actorType;
|
|
13
|
+
private readonly stateName;
|
|
13
14
|
private readonly daprLogger;
|
|
14
15
|
constructor(daprClient: DaprClient, id: ActorId);
|
|
15
16
|
registerActorReminder<_Type>(reminderName: string, dueTime: Temporal.Duration, period?: Temporal.Duration, ttl?: Temporal.Duration, state?: any): Promise<void>;
|
|
@@ -19,13 +19,14 @@ const polyfill_1 = require("@js-temporal/polyfill");
|
|
|
19
19
|
const client_cache_1 = require("./client-cache");
|
|
20
20
|
class AbstractActor {
|
|
21
21
|
constructor(daprClient, id) {
|
|
22
|
+
this.actorType = this.constructor.name;
|
|
23
|
+
this.stateName = this.constructor.name;
|
|
22
24
|
this.daprClient = daprClient;
|
|
23
25
|
this.actorClient = client_cache_1.DaprClientCache.getOrCreateActorClientFromOptions(daprClient.options);
|
|
24
26
|
this.daprLogger = new Logger_1.Logger('Actors', 'AbstractActor', daprClient.options.logger);
|
|
25
27
|
this.id = id;
|
|
26
28
|
this.stateManager = new ActorStateManager_1.default(this);
|
|
27
29
|
this.daprStateProvider = client_cache_1.DaprClientCache.getOrCreateStateProviderFromOptions(daprClient.options);
|
|
28
|
-
this.actorType = this.constructor.name;
|
|
29
30
|
}
|
|
30
31
|
registerActorReminder(reminderName, dueTime, period, ttl, state) {
|
|
31
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -134,7 +135,8 @@ class AbstractActor {
|
|
|
134
135
|
return this.id;
|
|
135
136
|
}
|
|
136
137
|
getActorType() {
|
|
137
|
-
|
|
138
|
+
var _a;
|
|
139
|
+
return (_a = this.stateName) !== null && _a !== void 0 ? _a : this.actorType;
|
|
138
140
|
}
|
|
139
141
|
getId() {
|
|
140
142
|
return this.getActorId().getId();
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var DaprActorProvidersModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DaprActorProvidersModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const core_1 = require("@nestjs/core");
|
|
13
|
+
const constants_1 = require("./constants");
|
|
14
|
+
let DaprActorProvidersModule = DaprActorProvidersModule_1 = class DaprActorProvidersModule {
|
|
15
|
+
static forRoot() {
|
|
16
|
+
const providerBuilder = {
|
|
17
|
+
provide: 'DAPR_ACTOR_PROVIDER_BUILDER',
|
|
18
|
+
useFactory: (discoveryService, reflector) => {
|
|
19
|
+
return this.discoverAndCreateProviders(discoveryService, reflector);
|
|
20
|
+
},
|
|
21
|
+
inject: [core_1.DiscoveryService, core_1.Reflector],
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
module: DaprActorProvidersModule_1,
|
|
25
|
+
global: true,
|
|
26
|
+
imports: [core_1.DiscoveryModule],
|
|
27
|
+
providers: [providerBuilder],
|
|
28
|
+
exports: [providerBuilder],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
static discoverAndCreateProviders(discoveryService, reflector) {
|
|
32
|
+
const providers = [];
|
|
33
|
+
const processedProviders = new Set();
|
|
34
|
+
const actorWrappers = discoveryService
|
|
35
|
+
.getProviders()
|
|
36
|
+
.filter((wrapper) => wrapper.isDependencyTreeStatic() &&
|
|
37
|
+
wrapper.metatype &&
|
|
38
|
+
reflector.get(constants_1.DAPR_ACTOR_METADATA, wrapper.metatype));
|
|
39
|
+
actorWrappers.forEach((wrapper) => {
|
|
40
|
+
const metadata = reflector.get(constants_1.DAPR_ACTOR_METADATA, wrapper.metatype);
|
|
41
|
+
if (metadata && metadata.providers) {
|
|
42
|
+
metadata.providers.forEach((providerType) => {
|
|
43
|
+
if (!processedProviders.has(providerType)) {
|
|
44
|
+
providers.push({
|
|
45
|
+
provide: providerType,
|
|
46
|
+
useClass: providerType,
|
|
47
|
+
});
|
|
48
|
+
processedProviders.add(providerType);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return providers;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
DaprActorProvidersModule = DaprActorProvidersModule_1 = __decorate([
|
|
57
|
+
(0, common_1.Module)({
|
|
58
|
+
imports: [core_1.DiscoveryModule],
|
|
59
|
+
})
|
|
60
|
+
], DaprActorProvidersModule);
|
|
61
|
+
exports.DaprActorProvidersModule = DaprActorProvidersModule;
|
|
@@ -5,8 +5,12 @@ export interface StateProperty {
|
|
|
5
5
|
type: Function | Type<any>;
|
|
6
6
|
defaultValue?: any;
|
|
7
7
|
serializable?: boolean;
|
|
8
|
+
serializeFn?: (value: any) => object | string | number | boolean | null | undefined;
|
|
9
|
+
deserializeFn?: (value: any) => any;
|
|
8
10
|
}
|
|
9
11
|
export declare function State(options?: {
|
|
10
12
|
defaultValue?: any;
|
|
11
13
|
name?: string;
|
|
14
|
+
serialize?: (value: any) => any;
|
|
15
|
+
deserialize?: (value: any) => any;
|
|
12
16
|
}): PropertyDecorator;
|
|
@@ -14,6 +14,8 @@ function State(options) {
|
|
|
14
14
|
type,
|
|
15
15
|
defaultValue: options === null || options === void 0 ? void 0 : options.defaultValue,
|
|
16
16
|
serializable,
|
|
17
|
+
deserializeFn: options === null || options === void 0 ? void 0 : options.deserialize,
|
|
18
|
+
serializeFn: options === null || options === void 0 ? void 0 : options.serialize,
|
|
17
19
|
});
|
|
18
20
|
Reflect.defineMetadata(constants_1.DAPR_ACTOR_STATE_METADATA, properties, target.constructor);
|
|
19
21
|
};
|
|
@@ -2,5 +2,8 @@ import { Type } from '@nestjs/common';
|
|
|
2
2
|
export interface DaprActorMetadata {
|
|
3
3
|
interfaceType: Type<any> | Function;
|
|
4
4
|
name?: string;
|
|
5
|
+
stateName?: string;
|
|
6
|
+
providers?: Type<any>[];
|
|
5
7
|
}
|
|
6
8
|
export declare function DaprActor(options: DaprActorMetadata): ClassDecorator;
|
|
9
|
+
export declare function getActorMetadata(target: Type<any>): DaprActorMetadata;
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DaprActor = void 0;
|
|
3
|
+
exports.getActorMetadata = exports.DaprActor = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
5
|
const constants_1 = require("./constants");
|
|
6
6
|
function DaprActor(options) {
|
|
7
7
|
return (target) => {
|
|
8
|
-
var _a;
|
|
8
|
+
var _a, _b;
|
|
9
9
|
(0, common_1.SetMetadata)(constants_1.DAPR_ACTOR_METADATA, {
|
|
10
10
|
name: (_a = options.name) !== null && _a !== void 0 ? _a : target.constructor.name,
|
|
11
|
+
stateName: options.stateName,
|
|
11
12
|
interfaceType: options.interfaceType,
|
|
13
|
+
providers: (_b = options.providers) !== null && _b !== void 0 ? _b : [],
|
|
12
14
|
})(target);
|
|
13
15
|
(0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT })(target);
|
|
14
16
|
};
|
|
15
17
|
}
|
|
16
18
|
exports.DaprActor = DaprActor;
|
|
19
|
+
function getActorMetadata(target) {
|
|
20
|
+
return Reflect.getMetadata(constants_1.DAPR_ACTOR_METADATA, target);
|
|
21
|
+
}
|
|
22
|
+
exports.getActorMetadata = getActorMetadata;
|
package/dist/dapr.module.js
CHANGED
|
@@ -30,6 +30,7 @@ const dapr_event_subscriber_loader_1 = require("./dapr-event-subscriber.loader")
|
|
|
30
30
|
const dapr_metadata_accessor_1 = require("./dapr-metadata.accessor");
|
|
31
31
|
const dapr_loader_1 = require("./dapr.loader");
|
|
32
32
|
const dapr_pubsub_client_service_1 = require("./pubsub/dapr-pubsub-client.service");
|
|
33
|
+
const dapr_actor_providers_module_1 = require("./dapr-actor-providers.module");
|
|
33
34
|
exports.DAPR_MODULE_OPTIONS_TOKEN = 'DAPR_MODULE_OPTIONS_TOKEN';
|
|
34
35
|
var DaprContextProvider;
|
|
35
36
|
(function (DaprContextProvider) {
|
|
@@ -56,7 +57,7 @@ let DaprModule = DaprModule_1 = class DaprModule {
|
|
|
56
57
|
return {
|
|
57
58
|
global: true,
|
|
58
59
|
module: DaprModule_1,
|
|
59
|
-
imports: [core_1.DiscoveryModule, nestjs_cls_1.ClsModule],
|
|
60
|
+
imports: [core_1.DiscoveryModule, nestjs_cls_1.ClsModule, dapr_actor_providers_module_1.DaprActorProvidersModule],
|
|
60
61
|
providers: [
|
|
61
62
|
createOptionsProvider(options),
|
|
62
63
|
{
|
|
@@ -169,7 +170,7 @@ let DaprModule = DaprModule_1 = class DaprModule {
|
|
|
169
170
|
};
|
|
170
171
|
DaprModule = DaprModule_1 = __decorate([
|
|
171
172
|
(0, common_1.Module)({
|
|
172
|
-
imports: [nestjs_cls_1.ClsModule, core_1.DiscoveryModule],
|
|
173
|
+
imports: [nestjs_cls_1.ClsModule, core_1.DiscoveryModule, dapr_actor_providers_module_1.DaprActorProvidersModule],
|
|
173
174
|
providers: [dapr_actor_client_service_1.DaprActorClient, nest_actor_manager_1.NestActorManager, dapr_context_service_1.DaprContextService, dapr_event_subscriber_loader_1.DaprEventSubscriberLoader, actor_runtime_service_1.ActorRuntimeService],
|
|
174
175
|
exports: [dapr_actor_client_service_1.DaprActorClient, dapr_context_service_1.DaprContextService, dapr_event_subscriber_loader_1.DaprEventSubscriberLoader, actor_runtime_service_1.ActorRuntimeService],
|
|
175
176
|
})
|
package/package.json
CHANGED