Summary
Add JSDoc annotations to the utility and helper modules that support the SDK's core functionality. While these are mostly internal, they are imported across the codebase and some are transitively exposed to consumers. Good documentation here aids maintainability and contributor onboarding.
Scope
Utilities (src/utils/)
| File |
Purpose |
Actors.util.ts |
Actor-related helpers (ID generation, type resolution) |
Client.util.ts |
Client creation helpers, option merging |
CloudEvent.util.ts |
CloudEvents v1.0 envelope construction |
Deserializer.util.ts |
Response deserialization logic |
HttpVerb.util.ts |
HTTP method enum/helpers |
Map.util.ts |
Map/object conversion utilities |
NodeJS.util.ts |
Node.js version/environment detection |
Serializer.util.ts |
Request serialization logic |
Settings.util.ts |
Default settings and environment variable resolution |
Streams.util.ts |
Stream processing utilities |
Logger (src/logger/)
Logger.ts — SDK logger implementation
ConsoleLoggerService.ts — Default console-based logger
Pub/Sub internals (src/pubsub/)
subscriptionManager.ts — Runtime subscription tracking
Enums (src/enum/)
HttpStatusCode.enum.ts — HTTP status code constants
SubscribedMessageHttpResponse.enum.ts — PubSub message acknowledgement values
Requirements
Example
/**
* Resolves the effective Dapr host from options or environment.
*
* Resolution order:
* 1. Explicit `host` option if provided
* 2. `DAPR_HOST` environment variable
* 3. Default: `"127.0.0.1"`
*
* @param options - Client options that may contain an explicit host
* @returns The resolved host address
*/
export function getDaprHost(options?: { daprHost?: string }): string { ... }
Acceptance Criteria
Summary
Add JSDoc annotations to the utility and helper modules that support the SDK's core functionality. While these are mostly internal, they are imported across the codebase and some are transitively exposed to consumers. Good documentation here aids maintainability and contributor onboarding.
Scope
Utilities (
src/utils/)Actors.util.tsClient.util.tsCloudEvent.util.tsDeserializer.util.tsHttpVerb.util.tsMap.util.tsNodeJS.util.tsSerializer.util.tsSettings.util.tsStreams.util.tsLogger (
src/logger/)Logger.ts— SDK logger implementationConsoleLoggerService.ts— Default console-based loggerPub/Sub internals (
src/pubsub/)subscriptionManager.ts— Runtime subscription trackingEnums (
src/enum/)HttpStatusCode.enum.ts— HTTP status code constantsSubscribedMessageHttpResponse.enum.ts— PubSub message acknowledgement valuesRequirements
@description,@param,@returnsCloudEvent.util.ts: Document CloudEvents spec compliance and field mappingsSettings.util.ts: Document each environment variable read, its default, and override behaviorSerializer.util.ts/Deserializer.util.ts: Document serialization format expectationsExample
Acceptance Criteria