@pjts/client 0.0.43

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.
@@ -0,0 +1,36 @@
1
+ export declare class FileDto {
2
+ readonly fileName: string;
3
+ static fromUnknown(data: any): FileDto;
4
+ constructor(fileName: string);
5
+ toJSON(): string;
6
+ }
7
+ export declare class Ids {
8
+ readonly value: string[];
9
+ constructor(value: string[]);
10
+ toJSON(): string[];
11
+ }
12
+ export declare class Value {
13
+ readonly val: number;
14
+ static fromUnknown(data: unknown): Value;
15
+ constructor(val: number);
16
+ toJSON(): number;
17
+ }
18
+ export declare class Pagination {
19
+ static fromUnknown(data: unknown): Pagination;
20
+ readonly limit: number;
21
+ readonly offset: number;
22
+ constructor(data: {
23
+ limit: number;
24
+ offset: number;
25
+ });
26
+ toJSON(): {
27
+ limit: number;
28
+ offset: number;
29
+ };
30
+ }
31
+ export declare class AuthToken {
32
+ readonly token: string;
33
+ static fromUnknown(value: unknown): AuthToken;
34
+ constructor(token: string);
35
+ toJSON(): string;
36
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var FileDto_1, Value_1, Pagination_1, AuthToken_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AuthToken = exports.Pagination = exports.Value = exports.Ids = exports.FileDto = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@pjts/core");
7
+ const class_validator_1 = require("class-validator");
8
+ let FileDto = FileDto_1 = class FileDto {
9
+ fileName;
10
+ static fromUnknown(data) {
11
+ return new FileDto_1(data.fileName);
12
+ }
13
+ constructor(fileName) {
14
+ this.fileName = fileName;
15
+ }
16
+ toJSON() {
17
+ return this.fileName;
18
+ }
19
+ };
20
+ FileDto = FileDto_1 = tslib_1.__decorate([
21
+ core_1.ObjectDomainPrimitive,
22
+ tslib_1.__metadata("design:paramtypes", [String])
23
+ ], FileDto);
24
+ exports.FileDto = FileDto;
25
+ let Ids = class Ids {
26
+ value;
27
+ constructor(value) {
28
+ this.value = value;
29
+ }
30
+ toJSON() {
31
+ return this.value;
32
+ }
33
+ };
34
+ Ids = tslib_1.__decorate([
35
+ core_1.StringArrayDomainPrimitive,
36
+ tslib_1.__metadata("design:paramtypes", [Array])
37
+ ], Ids);
38
+ exports.Ids = Ids;
39
+ let Value = Value_1 = class Value {
40
+ val;
41
+ static fromUnknown(data) {
42
+ return new Value_1(Number(data));
43
+ }
44
+ constructor(val) {
45
+ this.val = val;
46
+ }
47
+ toJSON() {
48
+ return this.val;
49
+ }
50
+ };
51
+ Value = Value_1 = tslib_1.__decorate([
52
+ core_1.NumberDomainPrimitive,
53
+ tslib_1.__metadata("design:paramtypes", [Number])
54
+ ], Value);
55
+ exports.Value = Value;
56
+ let Pagination = Pagination_1 = class Pagination {
57
+ static fromUnknown(data) {
58
+ const payload = (0, core_1.asObject)('Pagination', data);
59
+ return new Pagination_1({ limit: Number(payload.limit), offset: Number(payload.offset) });
60
+ }
61
+ limit;
62
+ offset;
63
+ constructor(data) {
64
+ this.limit = data.limit;
65
+ this.offset = data.offset;
66
+ }
67
+ toJSON() {
68
+ return {
69
+ limit: this.limit,
70
+ offset: this.offset,
71
+ };
72
+ }
73
+ };
74
+ tslib_1.__decorate([
75
+ (0, class_validator_1.IsInt)(),
76
+ (0, class_validator_1.Min)(1),
77
+ tslib_1.__metadata("design:type", Number)
78
+ ], Pagination.prototype, "limit", void 0);
79
+ tslib_1.__decorate([
80
+ (0, class_validator_1.IsInt)(),
81
+ (0, class_validator_1.Min)(0),
82
+ tslib_1.__metadata("design:type", Number)
83
+ ], Pagination.prototype, "offset", void 0);
84
+ Pagination = Pagination_1 = tslib_1.__decorate([
85
+ core_1.ObjectDomainPrimitive,
86
+ tslib_1.__metadata("design:paramtypes", [Object])
87
+ ], Pagination);
88
+ exports.Pagination = Pagination;
89
+ let AuthToken = AuthToken_1 = class AuthToken {
90
+ token;
91
+ static fromUnknown(value) {
92
+ return new AuthToken_1(String(value));
93
+ }
94
+ constructor(token) {
95
+ this.token = token;
96
+ }
97
+ toJSON() {
98
+ return this.token;
99
+ }
100
+ };
101
+ AuthToken = AuthToken_1 = tslib_1.__decorate([
102
+ core_1.StringDomainPrimitive,
103
+ tslib_1.__metadata("design:paramtypes", [String])
104
+ ], AuthToken);
105
+ exports.AuthToken = AuthToken;
106
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/__test__/domain.ts"],"names":[],"mappings":";;;;;AAAA,qCAMoB;AACpB,qDAA6C;AAGtC,IAAM,OAAO,eAAb,MAAM,OAAO;IAKU;IAJrB,MAAM,CAAC,WAAW,CAAC,IAAI;QAC5B,OAAO,IAAI,SAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,YAA4B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAI,CAAC;IAE1C,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CACF,CAAA;AAVY,OAAO;IADnB,4BAAqB;;GACT,OAAO,CAUnB;AAVY,0BAAO;AAab,IAAM,GAAG,GAAT,MAAM,GAAG;IACc;IAA5B,YAA4B,KAAe;QAAf,UAAK,GAAL,KAAK,CAAU;IAAI,CAAC;IAEzC,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF,CAAA;AANY,GAAG;IADf,iCAA0B;;GACd,GAAG,CAMf;AANY,kBAAG;AAST,IAAM,KAAK,aAAX,MAAM,KAAK;IAKY;IAJ5B,MAAM,CAAC,WAAW,CAAC,IAAa;QAC9B,OAAO,IAAI,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,YAA4B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAErC,MAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;CACF,CAAA;AAVY,KAAK;IADjB,4BAAqB;;GACT,KAAK,CAUjB;AAVY,sBAAK;AAaX,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,WAAW,CAAC,IAAa;QAC9B,MAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC5C,OAAO,IAAI,YAAU,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACzF,CAAC;IAIe,KAAK,CAAQ;IAIb,MAAM,CAAQ;IAE9B,YAAY,IAAuC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAEM,MAAM;QACX,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;CACF,CAAA;AAnBC;IAAC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;yCACsB;AAE7B;IAAC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;0CACuB;AAZnB,UAAU;IADtB,4BAAqB;;GACT,UAAU,CAyBtB;AAzBY,gCAAU;AA4BhB,IAAM,SAAS,iBAAf,MAAM,SAAS;IAKQ;IAJrB,MAAM,CAAC,WAAW,CAAC,KAAc;QACtC,OAAO,IAAI,WAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACrC,CAAC;IAED,YAA4B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAI,CAAC;IAEvC,MAAM;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;CACF,CAAA;AAVY,SAAS;IADrB,4BAAqB;;GACT,SAAS,CAUrB;AAVY,8BAAS"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const fs_1 = tslib_1.__importDefault(require("fs"));
5
+ const path_1 = tslib_1.__importDefault(require("path"));
6
+ const schema_1 = require("@pjts/schema");
7
+ const clientTypes = (0, schema_1.buildClientTypes)(['/Users/pj/Documents/altbra/repositories/pjx/modules/client/src/__test__/index.ts'], [
8
+ '__test__'
9
+ ], {
10
+ alwaysStrict: true,
11
+ noEmitOnError: true,
12
+ skipLibCheck: false,
13
+ strict: true
14
+ });
15
+ fs_1.default.writeFileSync(path_1.default.resolve(__dirname, `./types.d.ts`), clientTypes);
16
+ //# sourceMappingURL=generate-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/__test__/generate-types.ts"],"names":[],"mappings":";;;AAAA,oDAAoB;AACpB,wDAAwB;AACxB,yCAAgD;AAEhD,MAAM,WAAW,GAAG,IAAA,yBAAgB,EAAC,CAAC,kFAAkF,CAAC,EAAE;IACvH,UAAU;CACb,EAAE;IACC,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,IAAI;CACf,CAAC,CAAA;AACF,YAAE,CAAC,aAAa,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { TestService } from './service';
2
+ export declare class TestModule {
3
+ get testService(): TestService;
4
+ }
5
+ export declare class TestModule2 {
6
+ get testService2(): TestService;
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestModule2 = exports.TestModule = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@pjts/core");
6
+ const service_1 = require("./service");
7
+ let TestModule = class TestModule {
8
+ get testService() {
9
+ return new service_1.TestService();
10
+ }
11
+ };
12
+ TestModule = tslib_1.__decorate([
13
+ (0, core_1.HttpModule)('/v1')
14
+ // @ts-ignore
15
+ ], TestModule);
16
+ exports.TestModule = TestModule;
17
+ let TestModule2 = class TestModule2 {
18
+ get testService2() {
19
+ return new service_1.TestService();
20
+ }
21
+ };
22
+ TestModule2 = tslib_1.__decorate([
23
+ (0, core_1.HttpModule)('/v1')
24
+ // @ts-ignore
25
+ ], TestModule2);
26
+ exports.TestModule2 = TestModule2;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/__test__/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAwC;AACxC,uCAAuC;AAIhC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACnB,IAAW,WAAW;QAClB,OAAO,IAAI,qBAAW,EAAE,CAAA;IAC5B,CAAC;CACJ,CAAA;AAJY,UAAU;IAFtB,IAAA,iBAAU,EAAC,KAAK,CAAC;IAClB,aAAa;GACA,UAAU,CAItB;AAJY,gCAAU;AAQhB,IAAM,WAAW,GAAjB,MAAM,WAAW;IACpB,IAAW,YAAY;QACnB,OAAO,IAAI,qBAAW,EAAE,CAAA;IAC5B,CAAC;CACJ,CAAA;AAJY,WAAW;IAFvB,IAAA,iBAAU,EAAC,KAAK,CAAC;IAClB,aAAa;GACA,WAAW,CAIvB;AAJY,kCAAW"}
@@ -0,0 +1,15 @@
1
+ import { AuthToken, FileDto, Ids, Pagination, Value } from "./domain";
2
+ export declare class TestService {
3
+ addOne(value: Value): Promise<number>;
4
+ addTwo(value: Value): Promise<number>;
5
+ addThree(value: Value): Promise<number>;
6
+ add(value1: Value, value2: Value): Promise<number>;
7
+ addFour(pagination: Pagination): Promise<number>;
8
+ reject(): Promise<void>;
9
+ deleteOne(): Promise<void>;
10
+ protectedMethod(authToken: AuthToken): Promise<string>;
11
+ findbyIds(ids: Ids): Promise<Ids>;
12
+ findbyIds2(ids: Ids): Promise<Ids>;
13
+ findbyIds3(ids: Ids): Promise<Ids>;
14
+ upload(file1: FileDto): Promise<string>;
15
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@pjts/core");
6
+ const domain_1 = require("./domain");
7
+ let TestService = class TestService {
8
+ async addOne(value) {
9
+ return value.val + 1;
10
+ }
11
+ async addTwo(value) {
12
+ return value.val + 2;
13
+ }
14
+ async addThree(value) {
15
+ return value.val + 3;
16
+ }
17
+ async add(value1, value2) {
18
+ return value1.val + value2.val;
19
+ }
20
+ async addFour(pagination) {
21
+ return pagination.limit + pagination.offset + 4;
22
+ }
23
+ async reject() {
24
+ throw core_1.AppError.notFound('Resource not found');
25
+ }
26
+ async deleteOne() {
27
+ //
28
+ }
29
+ async protectedMethod(authToken) {
30
+ return authToken.token;
31
+ }
32
+ async findbyIds(ids) {
33
+ return ids;
34
+ }
35
+ async findbyIds2(ids) {
36
+ return ids;
37
+ }
38
+ async findbyIds3(ids) {
39
+ return ids;
40
+ }
41
+ async upload(file1) {
42
+ return file1.fileName;
43
+ }
44
+ };
45
+ tslib_1.__decorate([
46
+ core_1.Post,
47
+ tslib_1.__param(0, core_1.Body),
48
+ tslib_1.__metadata("design:type", Function),
49
+ tslib_1.__metadata("design:paramtypes", [domain_1.Value]),
50
+ tslib_1.__metadata("design:returntype", Promise)
51
+ ], TestService.prototype, "addOne", null);
52
+ tslib_1.__decorate([
53
+ core_1.Get,
54
+ tslib_1.__param(0, core_1.QueryParam),
55
+ tslib_1.__metadata("design:type", Function),
56
+ tslib_1.__metadata("design:paramtypes", [domain_1.Value]),
57
+ tslib_1.__metadata("design:returntype", Promise)
58
+ ], TestService.prototype, "addTwo", null);
59
+ tslib_1.__decorate([
60
+ core_1.Get,
61
+ tslib_1.__param(0, core_1.UrlParam),
62
+ tslib_1.__metadata("design:type", Function),
63
+ tslib_1.__metadata("design:paramtypes", [domain_1.Value]),
64
+ tslib_1.__metadata("design:returntype", Promise)
65
+ ], TestService.prototype, "addThree", null);
66
+ tslib_1.__decorate([
67
+ core_1.Get,
68
+ tslib_1.__param(0, core_1.UrlParam),
69
+ tslib_1.__param(1, core_1.UrlParam),
70
+ tslib_1.__metadata("design:type", Function),
71
+ tslib_1.__metadata("design:paramtypes", [domain_1.Value, domain_1.Value]),
72
+ tslib_1.__metadata("design:returntype", Promise)
73
+ ], TestService.prototype, "add", null);
74
+ tslib_1.__decorate([
75
+ core_1.Get,
76
+ tslib_1.__param(0, core_1.QueryParams),
77
+ tslib_1.__metadata("design:type", Function),
78
+ tslib_1.__metadata("design:paramtypes", [domain_1.Pagination]),
79
+ tslib_1.__metadata("design:returntype", Promise)
80
+ ], TestService.prototype, "addFour", null);
81
+ tslib_1.__decorate([
82
+ core_1.Delete,
83
+ tslib_1.__metadata("design:type", Function),
84
+ tslib_1.__metadata("design:paramtypes", []),
85
+ tslib_1.__metadata("design:returntype", Promise)
86
+ ], TestService.prototype, "reject", null);
87
+ tslib_1.__decorate([
88
+ core_1.Delete,
89
+ tslib_1.__metadata("design:type", Function),
90
+ tslib_1.__metadata("design:paramtypes", []),
91
+ tslib_1.__metadata("design:returntype", Promise)
92
+ ], TestService.prototype, "deleteOne", null);
93
+ tslib_1.__decorate([
94
+ core_1.Get,
95
+ tslib_1.__param(0, core_1.Auth),
96
+ tslib_1.__metadata("design:type", Function),
97
+ tslib_1.__metadata("design:paramtypes", [domain_1.AuthToken]),
98
+ tslib_1.__metadata("design:returntype", Promise)
99
+ ], TestService.prototype, "protectedMethod", null);
100
+ tslib_1.__decorate([
101
+ core_1.Get,
102
+ tslib_1.__param(0, core_1.QueryParam),
103
+ tslib_1.__metadata("design:type", Function),
104
+ tslib_1.__metadata("design:paramtypes", [domain_1.Ids]),
105
+ tslib_1.__metadata("design:returntype", Promise)
106
+ ], TestService.prototype, "findbyIds", null);
107
+ tslib_1.__decorate([
108
+ core_1.Get,
109
+ tslib_1.__param(0, core_1.UrlParam),
110
+ tslib_1.__metadata("design:type", Function),
111
+ tslib_1.__metadata("design:paramtypes", [domain_1.Ids]),
112
+ tslib_1.__metadata("design:returntype", Promise)
113
+ ], TestService.prototype, "findbyIds2", null);
114
+ tslib_1.__decorate([
115
+ core_1.Post,
116
+ tslib_1.__param(0, core_1.Body),
117
+ tslib_1.__metadata("design:type", Function),
118
+ tslib_1.__metadata("design:paramtypes", [domain_1.Ids]),
119
+ tslib_1.__metadata("design:returntype", Promise)
120
+ ], TestService.prototype, "findbyIds3", null);
121
+ tslib_1.__decorate([
122
+ core_1.Post,
123
+ tslib_1.__param(0, core_1.File),
124
+ tslib_1.__metadata("design:type", Function),
125
+ tslib_1.__metadata("design:paramtypes", [domain_1.FileDto]),
126
+ tslib_1.__metadata("design:returntype", Promise)
127
+ ], TestService.prototype, "upload", null);
128
+ TestService = tslib_1.__decorate([
129
+ core_1.AppService
130
+ ], TestService);
131
+ exports.TestService = TestService;
132
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/__test__/service.ts"],"names":[],"mappings":";;;;AAAA,qCAWoB;AACpB,qCAAsE;AAG/D,IAAM,WAAW,GAAjB,MAAM,WAAW;IAET,AAAN,KAAK,CAAC,MAAM,CAAO,KAAY;QACpC,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;IACtB,CAAC;IAGY,AAAN,KAAK,CAAC,MAAM,CAAa,KAAY;QAC1C,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;IACtB,CAAC;IAGY,AAAN,KAAK,CAAC,QAAQ,CAAW,KAAY;QAC1C,OAAO,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;IACtB,CAAC;IAGY,AAAN,KAAK,CAAC,GAAG,CAAW,MAAa,EAAY,MAAa;QAC/D,OAAO,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;IAChC,CAAC;IAGY,AAAN,KAAK,CAAC,OAAO,CAAc,UAAsB;QACtD,OAAO,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;IACjD,CAAC;IAGY,AAAN,KAAK,CAAC,MAAM;QACjB,MAAM,eAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;IAC/C,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS;QACpB,EAAE;IACJ,CAAC;IAGY,AAAN,KAAK,CAAC,eAAe,CAAO,SAAoB;QACrD,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS,CAAa,GAAQ;QACzC,OAAO,GAAG,CAAA;IACZ,CAAC;IAGY,AAAN,KAAK,CAAC,UAAU,CAAW,GAAQ;QACxC,OAAO,GAAG,CAAA;IACZ,CAAC;IAGY,AAAN,KAAK,CAAC,UAAU,CAAO,GAAQ;QACpC,OAAO,GAAG,CAAA;IACZ,CAAC;IAGY,AAAN,KAAK,CAAC,MAAM,CAAO,KAAc;QACtC,OAAO,KAAK,CAAC,QAAQ,CAAA;IACvB,CAAC;CACF,CAAA;AA1Dc;IADZ,WAAI;IACgB,mBAAA,WAAI,CAAA;;6CAAQ,cAAK;;yCAErC;AAGY;IADZ,UAAG;IACiB,mBAAA,iBAAU,CAAA;;6CAAQ,cAAK;;yCAE3C;AAGY;IADZ,UAAG;IACmB,mBAAA,eAAQ,CAAA;;6CAAQ,cAAK;;2CAE3C;AAGY;IADZ,UAAG;IACc,mBAAA,eAAQ,CAAA;IAAiB,mBAAA,eAAQ,CAAA;;6CAAhB,cAAK,EAAoB,cAAK;;sCAEhE;AAGY;IADZ,UAAG;IACkB,mBAAA,kBAAW,CAAA;;6CAAa,mBAAU;;0CAEvD;AAGY;IADZ,aAAM;;;;yCAGN;AAGY;IADZ,aAAM;;;;4CAGN;AAGY;IADZ,UAAG;IAC0B,mBAAA,WAAI,CAAA;;6CAAY,kBAAS;;kDAEtD;AAGY;IADZ,UAAG;IACoB,mBAAA,iBAAU,CAAA;;6CAAM,YAAG;;4CAE1C;AAGY;IADZ,UAAG;IACqB,mBAAA,eAAQ,CAAA;;6CAAM,YAAG;;6CAEzC;AAGY;IADZ,WAAI;IACoB,mBAAA,WAAI,CAAA;;6CAAM,YAAG;;6CAErC;AAGY;IADZ,WAAI;IACgB,mBAAA,WAAI,CAAA;;6CAAQ,gBAAO;;yCAEvC;AA3DU,WAAW;IADvB,iBAAU;GACE,WAAW,CA4DvB;AA5DY,kCAAW"}
@@ -0,0 +1,32 @@
1
+ interface EndpointParam {
2
+ dto: string;
3
+ path: string | string[];
4
+ source: string;
5
+ builder: (sourceObj: Record<string, unknown>) => any;
6
+ }
7
+ declare class AppError extends Error {
8
+ readonly statusCode: number;
9
+ constructor(statusCode: number, message: string);
10
+ toString(): string;
11
+ toJSON(): Record<string, unknown>;
12
+ }
13
+ export interface ClientOptions {
14
+ url: string;
15
+ log?: boolean;
16
+ onError?: (error: AppError) => void;
17
+ }
18
+ interface ServiceEndpoint {
19
+ url: string;
20
+ method: string;
21
+ status: number;
22
+ httpMethod: string;
23
+ headers: Record<string, string>;
24
+ params: EndpointParam[];
25
+ }
26
+ export interface ServiceConfig {
27
+ name: string;
28
+ endpoints: ServiceEndpoint[];
29
+ }
30
+ export type HttpClient<T> = (_options: ClientOptions) => T;
31
+ export declare const buildClient: <T>(serviceConfigs: ServiceConfig[]) => HttpClient<T>;
32
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const isomorphic_fetch_1 = tslib_1.__importDefault(require("isomorphic-fetch"));
6
+ class AppError extends Error {
7
+ statusCode;
8
+ constructor(statusCode, message) {
9
+ super(message);
10
+ this.statusCode = statusCode;
11
+ if (Error.captureStackTrace !== undefined) {
12
+ Error.captureStackTrace(this, this.constructor);
13
+ }
14
+ }
15
+ toString() {
16
+ return this.message;
17
+ }
18
+ toJSON() {
19
+ return {
20
+ message: this.message,
21
+ statusCode: this.statusCode,
22
+ };
23
+ }
24
+ }
25
+ const applyUrlParams = (url, params) => {
26
+ if (params.length === 0)
27
+ return url;
28
+ return url + '/' + params.map(param => {
29
+ if (Array.isArray(param)) {
30
+ return param.map(encodeURIComponent).join(',');
31
+ }
32
+ return encodeURIComponent(param);
33
+ }).join('/');
34
+ };
35
+ const buildQueryParams = (params) => {
36
+ if (!Object.keys(params).length)
37
+ return '';
38
+ return ('?' +
39
+ Object.entries(params)
40
+ .filter(entry => entry[1] !== undefined)
41
+ .map(entry => {
42
+ if (Array.isArray(entry[1])) {
43
+ return entry[0] + '=' + entry[1].map(param => encodeURIComponent(String(param))).join(',');
44
+ }
45
+ return entry[0] + '=' + encodeURIComponent(String(entry[1]));
46
+ })
47
+ .join('&'));
48
+ };
49
+ const buildClient = (serviceConfigs) => {
50
+ return (options) => {
51
+ const api = {};
52
+ serviceConfigs.forEach(service => {
53
+ api[service.name] = {};
54
+ service.endpoints.forEach(endpoint => {
55
+ api[service.name][endpoint.method] = async (...args) => {
56
+ const hasFiles = endpoint.params.some(p => p.source === 'file');
57
+ const payload = endpoint.params
58
+ .filter(p => p.source !== 'middleware')
59
+ .reduce((acc, param, index) => {
60
+ if (Array.isArray(param.path)) {
61
+ param.path.forEach(paramKey => {
62
+ if (param.source === 'params') {
63
+ acc.params.push(args[index][paramKey]);
64
+ }
65
+ else if (hasFiles && ['body', 'file'].includes(param.source)) {
66
+ throw new Error('Files cannot be uploaded with multi param dtos');
67
+ }
68
+ else {
69
+ acc[param.source][paramKey] = args[index][paramKey];
70
+ }
71
+ });
72
+ }
73
+ else {
74
+ if (param.source === 'params') {
75
+ acc.params.push(args[index]);
76
+ }
77
+ else if (hasFiles && ['body', 'file'].includes(param.source)) {
78
+ acc.formData.append(param.path, args[index]);
79
+ }
80
+ else {
81
+ acc[param.source][param.path] = args[index];
82
+ }
83
+ }
84
+ return acc;
85
+ }, {
86
+ headers: {},
87
+ body: {},
88
+ formData: new FormData(),
89
+ query: {},
90
+ params: [],
91
+ });
92
+ try {
93
+ const url = applyUrlParams(options.url + endpoint.url, payload.params) + buildQueryParams(payload.query);
94
+ const body = hasFiles ? payload.formData : Object.keys(payload.body).length === 0 && endpoint.httpMethod !== 'POST' ? undefined : JSON.stringify(payload.body || {});
95
+ const _response = await (0, isomorphic_fetch_1.default)(url, {
96
+ method: endpoint.httpMethod,
97
+ headers: {
98
+ ...(!hasFiles ? {
99
+ 'Content-Type': 'application/json'
100
+ } : {}),
101
+ ...payload.headers,
102
+ },
103
+ body,
104
+ });
105
+ if (options.log) {
106
+ console.log({
107
+ status: _response.status,
108
+ contentType: _response.headers.get('content-type'),
109
+ contentDisposition: _response.headers.get('content-disposition'),
110
+ url,
111
+ method: endpoint.httpMethod,
112
+ body,
113
+ hasFiles,
114
+ headers: payload.headers,
115
+ });
116
+ }
117
+ if (_response.status !== endpoint.status) {
118
+ const response = await _response.json();
119
+ throw new AppError(response?.statusCode || 500, response.message || 'Something went wrong');
120
+ }
121
+ if (endpoint.httpMethod === 'DELETE') {
122
+ return;
123
+ }
124
+ if (_response.headers.get('content-disposition')?.includes('attachment')) {
125
+ const file = window.URL.createObjectURL(await _response.blob());
126
+ window.open(file, '_blank');
127
+ return;
128
+ }
129
+ if (_response.headers.get('content-type')?.includes('application/json')) {
130
+ const response = await _response.json();
131
+ return response.data;
132
+ }
133
+ if (_response.headers.get('content-type')?.includes('text/html')) {
134
+ return await _response.text();
135
+ }
136
+ return null;
137
+ }
138
+ catch (err) {
139
+ const error = err instanceof AppError ? err : new AppError(err?.status || 0, err?.message || 'Something went wrong');
140
+ if (options.onError) {
141
+ options.onError(error);
142
+ }
143
+ throw error;
144
+ }
145
+ };
146
+ });
147
+ });
148
+ return api;
149
+ };
150
+ };
151
+ exports.buildClient = buildClient;
152
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fastify_1 = require("@pjts/fastify");
4
+ const schema_1 = require("@pjts/schema");
5
+ const index_1 = require("./index");
6
+ const __test__1 = require("./__test__");
7
+ const server = (0, fastify_1.buildServer)([new __test__1.TestModule(), new __test__1.TestModule2()], 3019);
8
+ const config = (0, schema_1.buildClientConfig)(new __test__1.TestModule());
9
+ const client = (0, index_1.buildClient)(config);
10
+ const api = client({
11
+ url: 'http://0.0.0.0:3019',
12
+ });
13
+ describe('PJX', () => {
14
+ beforeEach(async () => {
15
+ await server.start('*');
16
+ });
17
+ afterEach(async () => {
18
+ await server.stop();
19
+ });
20
+ it('should handle @Post request with @Body parameters', async () => {
21
+ const data = await api.testService.addOne(2);
22
+ expect(data).toBe(3);
23
+ });
24
+ it('should handle @Get request with @QueryParam parameters', async () => {
25
+ const data = await api.testService.addTwo(2);
26
+ expect(data).toBe(4);
27
+ });
28
+ it('should handle @Get request with @UrlParam parameters', async () => {
29
+ const data = await api.testService.addThree(2);
30
+ expect(data).toBe(5);
31
+ });
32
+ it('should handle @Get request with multiple @UrlParam parameters', async () => {
33
+ const data = await api.testService.add(7, 2);
34
+ expect(data).toBe(9);
35
+ });
36
+ it('should handle @Get request with @UrlParam parameters', async () => {
37
+ const data = await api.testService.addFour({ limit: 5, offset: 6 });
38
+ expect(data).toBe(15);
39
+ });
40
+ it('should handle @Delete request and AppError', async () => {
41
+ await expect(() => api.testService.reject()).rejects.toThrow('Resource not found');
42
+ });
43
+ it('should handle @Delete request', async () => {
44
+ const value = await api.testService.deleteOne();
45
+ expect(value).toBe(undefined);
46
+ });
47
+ it('should pass Auth parameter in headers', async () => {
48
+ const data = await api.testService.protectedMethod('my token');
49
+ expect(data).toBe('my token');
50
+ });
51
+ it('should handle query string array input parameter', async () => {
52
+ {
53
+ const data = await api.testService.findbyIds(['id-1', 'id-2']);
54
+ expect(data).toEqual(['id-1', 'id-2']);
55
+ }
56
+ {
57
+ const data = await api.testService.findbyIds(['70722151297999282', '70722151297952294']);
58
+ expect(data).toEqual(['70722151297999282', '70722151297952294']);
59
+ }
60
+ });
61
+ it('should handle url string array input parameter', async () => {
62
+ {
63
+ const data = await api.testService.findbyIds2(['id-1', 'id-2']);
64
+ expect(data).toEqual(['id-1', 'id-2']);
65
+ }
66
+ {
67
+ const data = await api.testService.findbyIds2(['70722151297999282', '70722151297952294']);
68
+ expect(data).toEqual(['70722151297999282', '70722151297952294']);
69
+ }
70
+ });
71
+ it('should handle body string array input parameter', async () => {
72
+ const data = await api.testService.findbyIds3(['id-1', 'id-2']);
73
+ expect(data).toEqual(['id-1', 'id-2']);
74
+ });
75
+ it('should handle file transfers', () => {
76
+ //
77
+ });
78
+ });
79
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@pjts/client",
3
+ "version": "0.0.43",
4
+ "description": "Piotr Józefów DDD utility package",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "author": "Piotr Józefów",
8
+ "license": "MIT",
9
+ "engines": {
10
+ "node": "^18.14.0"
11
+ },
12
+ "engineStrict": true,
13
+ "scripts": {
14
+ "lint": "eslint src/ --ext .js,.jsx,.ts,.tsx",
15
+ "test": "NODE_ENV=test jest --coverage=false --verbose",
16
+ "test:watch": "NODE_ENV=test jest --coverage=false --watchAll --testNamePattern=",
17
+ "test:coverage": "npm test --collectCoverage",
18
+ "build": "rm -rf ./dist && tsc",
19
+ "ts-node": "ts-node -r tsconfig-paths/register",
20
+ "test:types": "npm run ts-node ./src/__test__/generate-types.ts",
21
+ "package": "npm run build && npm publish --access=public",
22
+ "prepare": "npm install @pjts/core@latest @pjts/fastify@latest @pjts/schema@latest & npm version patch"
23
+ },
24
+ "devDependencies": {
25
+ "@pjts/core": "^0.0.59",
26
+ "@pjts/fastify": "^0.0.77",
27
+ "@pjts/schema": "^0.0.109",
28
+ "@types/jest": "^29.4.0",
29
+ "@types/node": "^18.13.0",
30
+ "jest": "^29.4.2",
31
+ "prettier": "^2.8.4",
32
+ "ts-jest": "^29.0.5",
33
+ "ts-node": "^10.9.1",
34
+ "tsconfig-paths": "^3.14.2",
35
+ "typescript": "^4.9.5"
36
+ },
37
+ "dependencies": {
38
+ "@types/isomorphic-fetch": "^0.0.36",
39
+ "isomorphic-fetch": "^3.0.0"
40
+ },
41
+ "publishConfig": {
42
+ "registry": "https://registry.npmjs.org"
43
+ }
44
+ }