result-tsk
Advanced tools
Comparing version 2.0.1 to 2.1.0
@@ -82,1 +82,7 @@ # Changelog | ||
- Types was refactoring | ||
## [2.1.0] — 2022-02-10 | ||
### Updated | ||
- Feature to add metadata to result response was added |
@@ -0,4 +1,6 @@ | ||
import { Metadata } from "../Result.interface"; | ||
import { IResult } from "./Result.interface"; | ||
import { ResultDto } from "../ResultDto"; | ||
export declare class Result<T> implements IResult<T> { | ||
#private; | ||
data: T | string; | ||
@@ -9,2 +11,6 @@ statusCode: number | string; | ||
error: string; | ||
setMetadata(metadata: Metadata): void; | ||
addMetadata(key: string, value: string | number): void; | ||
getMetadata(): Metadata; | ||
hasMetaData(): boolean; | ||
setStatusCode(statusCode: number | string, success: boolean): void; | ||
@@ -11,0 +17,0 @@ setMessage(message: string, statusCode: number | string): void; |
"use strict"; | ||
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { | ||
if (kind === "m") throw new TypeError("Private method is not writable"); | ||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); | ||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); | ||
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; | ||
}; | ||
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { | ||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); | ||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); | ||
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); | ||
}; | ||
var _Result_metadata; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -6,2 +18,19 @@ exports.Result = void 0; | ||
class Result { | ||
constructor() { | ||
_Result_metadata.set(this, void 0); | ||
} | ||
setMetadata(metadata) { | ||
__classPrivateFieldSet(this, _Result_metadata, metadata, "f"); | ||
} | ||
addMetadata(key, value) { | ||
if (!__classPrivateFieldGet(this, _Result_metadata, "f")) | ||
__classPrivateFieldSet(this, _Result_metadata, {}, "f"); | ||
__classPrivateFieldGet(this, _Result_metadata, "f")[key] = value; | ||
} | ||
getMetadata() { | ||
return __classPrivateFieldGet(this, _Result_metadata, "f"); | ||
} | ||
hasMetaData() { | ||
return !!__classPrivateFieldGet(this, _Result_metadata, "f") && Object.keys(__classPrivateFieldGet(this, _Result_metadata, "f")).length > 0; | ||
} | ||
setStatusCode(statusCode, success) { | ||
@@ -38,1 +67,2 @@ this.statusCode = statusCode; | ||
exports.Result = Result; | ||
_Result_metadata = new WeakMap(); |
@@ -1,4 +0,5 @@ | ||
import { IResult } from "./Result.interface"; | ||
import { Metadata, IResult } from "./Result.interface"; | ||
import { ResultDto } from "./ResultDto"; | ||
export declare class Result implements IResult { | ||
#private; | ||
statusCode: number | string; | ||
@@ -8,2 +9,6 @@ success: boolean; | ||
error: string; | ||
setMetadata(metadata: Metadata): void; | ||
addMetadata(key: string, value: string | number): void; | ||
getMetadata(): Metadata; | ||
hasMetaData(): boolean; | ||
setStatusCode(statusCode: number | string, success: boolean): void; | ||
@@ -10,0 +15,0 @@ setMessage(message: string, statusCode: number | string): void; |
import { ResultDto } from "./ResultDto"; | ||
declare type Metadata = Record<string, any>; | ||
export interface IResult { | ||
@@ -11,3 +12,8 @@ statusCode: number | string; | ||
toResultDto(): ResultDto; | ||
setMetadata(headers: Metadata): void; | ||
addMetadata(key: string, value: string | number): void; | ||
getMetadata(): Metadata; | ||
hasMetaData(): boolean; | ||
} | ||
export declare type IBaseResult = Omit<IResult, "toResultDto">; | ||
export { Metadata }; |
"use strict"; | ||
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { | ||
if (kind === "m") throw new TypeError("Private method is not writable"); | ||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); | ||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); | ||
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; | ||
}; | ||
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { | ||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); | ||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); | ||
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); | ||
}; | ||
var _Result_metadata; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -6,2 +18,19 @@ exports.Result = void 0; | ||
class Result { | ||
constructor() { | ||
_Result_metadata.set(this, void 0); | ||
} | ||
setMetadata(metadata) { | ||
__classPrivateFieldSet(this, _Result_metadata, metadata, "f"); | ||
} | ||
addMetadata(key, value) { | ||
if (!__classPrivateFieldGet(this, _Result_metadata, "f")) | ||
__classPrivateFieldSet(this, _Result_metadata, {}, "f"); | ||
__classPrivateFieldGet(this, _Result_metadata, "f")[key] = value; | ||
} | ||
getMetadata() { | ||
return __classPrivateFieldGet(this, _Result_metadata, "f"); | ||
} | ||
hasMetaData() { | ||
return !!__classPrivateFieldGet(this, _Result_metadata, "f") && Object.keys(__classPrivateFieldGet(this, _Result_metadata, "f")).length > 0; | ||
} | ||
setStatusCode(statusCode, success) { | ||
@@ -29,1 +58,2 @@ this.statusCode = statusCode; | ||
exports.Result = Result; | ||
_Result_metadata = new WeakMap(); |
{ | ||
"name": "result-tsk", | ||
"version": "2.0.1", | ||
"version": "2.1.0", | ||
"description": "result tool for use with or without NodeTskeleton template project", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -115,2 +115,29 @@ # Result tool 🧰 | ||
## Metadata | ||
In some cases you may need to add metadata as part of the result to use in the adapter layer as part of the response or for special purposes, so you have the following functions. | ||
```ts | ||
// Metadata is a Record<string, any> type like { [key: string]: any } | ||
// Method for add object metadata | ||
setMetadata(headers: Metadata): void | ||
// Method for add a key value pair metadata | ||
addMetadata(key: string, value: string | number): void; | ||
// Get object metadata | ||
getMetadata(): Metadata; | ||
// Verify if has metadata | ||
hasMetaData(): boolean; | ||
``` | ||
It is important to note that the metadata will not be resolved as part of the response when executing the `toResultDto` method. | ||
```ts | ||
// The result object also helps you with the metadata for use in adapter layer. | ||
result.setData(productDto, this.resultCodes.SUCCESS); | ||
result.addMetadata("keyOne", "valueOne"); | ||
result.addMetadata("keyTwo", 100); | ||
// Or set an object | ||
result.setMetadata({ keyOne: "valueOne", keyTwo: 100, keyN: "valueN" }); | ||
``` | ||
## RunKit demo | ||
@@ -117,0 +144,0 @@ |
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
18868
244
149
1