sonamu 0.2.13 → 0.2.14

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.
@@ -1,15 +1,14 @@
1
1
  import { z } from "zod";
2
2
  import { TemplateOptions } from "../types/types";
3
- import { EntityNamesRecord } from "../entity/entity-manager";
4
3
  import { ExtendedApi } from "../api/decorators";
5
4
  import { Template } from "./base-template";
6
5
  export declare class Template__generated_http extends Template {
7
6
  constructor();
8
- getTargetAndPath(names: EntityNamesRecord): {
7
+ getTargetAndPath(): {
9
8
  target: string;
10
9
  path: string;
11
10
  };
12
- render({ entityId }: TemplateOptions["generated_http"], apis: ExtendedApi[]): {
11
+ render({}: TemplateOptions["generated_http"]): {
13
12
  body: string;
14
13
  importKeys: never[];
15
14
  target: string;
@@ -1 +1 @@
1
- {"version":3,"file":"generated_http.template.d.ts","sourceRoot":"","sources":["../../src/templates/generated_http.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK3C,qBAAa,wBAAyB,SAAQ,QAAQ;;IAKpD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;;;;;;IAsC3E,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA2CvE,gBAAgB,CACd,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAAE,GACnD;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAM9B"}
1
+ {"version":3,"file":"generated_http.template.d.ts","sourceRoot":"","sources":["../../src/templates/generated_http.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,qBAAa,wBAAyB,SAAQ,QAAQ;;IAKpD,gBAAgB;;;;IAOhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,gBAAgB,CAAC;;;;;;IA+C5C,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IA2CvE,gBAAgB,CACd,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;KAAE,GACnD;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAM9B"}
@@ -6,53 +6,60 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Template__generated_http = void 0;
7
7
  const qs_1 = __importDefault(require("qs"));
8
8
  const zod_1 = require("zod");
9
- const entity_manager_1 = require("../entity/entity-manager");
10
9
  const code_converters_1 = require("../api/code-converters");
11
10
  const base_template_1 = require("./base-template");
12
11
  const prettier_1 = __importDefault(require("prettier"));
13
- const luxon_1 = require("luxon");
14
12
  const sonamu_1 = require("../api/sonamu");
15
13
  class Template__generated_http extends base_template_1.Template {
16
14
  constructor() {
17
15
  super("generated_http");
18
16
  }
19
- getTargetAndPath(names) {
17
+ getTargetAndPath() {
20
18
  return {
21
19
  target: "api/src/application",
22
- path: `${names.fs}/${names.fs}.generated.http`,
20
+ path: `sonamu.generated.http`,
23
21
  };
24
22
  }
25
- render({ entityId }, apis) {
26
- const names = entity_manager_1.EntityManager.getNamesFromId(entityId);
27
- const references = sonamu_1.Sonamu.syncer.types;
23
+ render({}) {
24
+ const { types, apis } = sonamu_1.Sonamu.syncer;
28
25
  const lines = apis.map((api) => {
29
- var _a, _b, _c;
30
- const reqObject = this.resolveApiParams(api, references);
31
- let qsLines = [];
32
- let bodyLines = [];
33
- if (((_a = api.options.httpMethod) !== null && _a !== void 0 ? _a : "GET") === "GET") {
34
- qsLines = [
35
- qs_1.default.stringify(reqObject, { encode: false }).split("&").join("\n\t&"),
36
- ];
37
- }
38
- else {
39
- bodyLines = [
40
- "",
41
- prettier_1.default.format(JSON.stringify(reqObject), {
42
- parser: "json",
43
- }),
44
- ];
45
- }
26
+ var _a, _b;
27
+ const reqObject = this.resolveApiParams(api, types);
28
+ const dataLines = (() => {
29
+ var _a;
30
+ if (((_a = api.options.httpMethod) !== null && _a !== void 0 ? _a : "GET") === "GET") {
31
+ return {
32
+ querystring: [
33
+ qs_1.default
34
+ .stringify(reqObject, { encode: false })
35
+ .split("&")
36
+ .join("\n\t&"),
37
+ ],
38
+ body: [],
39
+ };
40
+ }
41
+ else {
42
+ return {
43
+ querystring: [],
44
+ body: [
45
+ "",
46
+ prettier_1.default.format(JSON.stringify(reqObject), {
47
+ parser: "json",
48
+ }),
49
+ ],
50
+ };
51
+ }
52
+ })();
46
53
  return [
47
54
  [
48
- `${(_b = api.options.httpMethod) !== null && _b !== void 0 ? _b : "GET"} {{baseUrl}}/api${api.path}`,
49
- ...qsLines,
55
+ `${(_a = api.options.httpMethod) !== null && _a !== void 0 ? _a : "GET"} {{baseUrl}}/api${api.path}`,
56
+ ...dataLines.querystring,
50
57
  ].join("\n\t?"),
51
- `Content-Type: ${(_c = api.options.contentType) !== null && _c !== void 0 ? _c : "application/json"}`,
52
- ...bodyLines,
58
+ `Content-Type: ${(_b = api.options.contentType) !== null && _b !== void 0 ? _b : "application/json"}`,
59
+ ...dataLines.body,
53
60
  ].join("\n");
54
61
  });
55
- return Object.assign(Object.assign({}, this.getTargetAndPath(names)), { body: lines.join("\n\n###\n\n"), importKeys: [] });
62
+ return Object.assign(Object.assign({}, this.getTargetAndPath()), { body: lines.join("\n\n###\n\n"), importKeys: [] });
56
63
  }
57
64
  zodTypeToReqDefault(zodType, name) {
58
65
  var _a;
@@ -67,7 +74,7 @@ class Template__generated_http extends base_template_1.Template {
67
74
  }
68
75
  else if (zodType instanceof zod_1.z.ZodString) {
69
76
  if (name.endsWith("_at") || name.endsWith("_date") || name === "range") {
70
- return luxon_1.DateTime.local().toSQL().slice(0, 10);
77
+ return "2000-01-01";
71
78
  }
72
79
  else {
73
80
  return name.toUpperCase();
@@ -1 +1 @@
1
- {"version":3,"file":"generated_http.template.js","sourceRoot":"","sources":["../../src/templates/generated_http.template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generated_http.template.js","sourceRoot":"","sources":["../../src/templates/generated_http.template.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sonamu",
3
- "version": "0.2.13",
3
+ "version": "0.2.14",
4
4
  "description": "Sonamu — TypeScript Fullstack API Framework",
5
5
  "keywords": [
6
6
  "typescript",
@@ -1,12 +1,10 @@
1
1
  import qs from "qs";
2
2
  import { z } from "zod";
3
3
  import { TemplateOptions } from "../types/types";
4
- import { EntityManager, EntityNamesRecord } from "../entity/entity-manager";
5
4
  import { getZodObjectFromApi } from "../api/code-converters";
6
5
  import { ExtendedApi } from "../api/decorators";
7
6
  import { Template } from "./base-template";
8
7
  import prettier from "prettier";
9
- import { DateTime } from "luxon";
10
8
  import { Sonamu } from "../api/sonamu";
11
9
 
12
10
  export class Template__generated_http extends Template {
@@ -14,46 +12,55 @@ export class Template__generated_http extends Template {
14
12
  super("generated_http");
15
13
  }
16
14
 
17
- getTargetAndPath(names: EntityNamesRecord) {
15
+ getTargetAndPath() {
18
16
  return {
19
17
  target: "api/src/application",
20
- path: `${names.fs}/${names.fs}.generated.http`,
18
+ path: `sonamu.generated.http`,
21
19
  };
22
20
  }
23
21
 
24
- render({ entityId }: TemplateOptions["generated_http"], apis: ExtendedApi[]) {
25
- const names = EntityManager.getNamesFromId(entityId);
26
- const references = Sonamu.syncer.types;
22
+ render({}: TemplateOptions["generated_http"]) {
23
+ const { types, apis } = Sonamu.syncer;
27
24
 
28
25
  const lines = apis.map((api) => {
29
- const reqObject = this.resolveApiParams(api, references);
26
+ const reqObject = this.resolveApiParams(api, types);
27
+
28
+ const dataLines = (() => {
29
+ if ((api.options.httpMethod ?? "GET") === "GET") {
30
+ return {
31
+ querystring: [
32
+ qs
33
+ .stringify(reqObject, { encode: false })
34
+ .split("&")
35
+ .join("\n\t&"),
36
+ ],
37
+ body: [],
38
+ };
39
+ } else {
40
+ return {
41
+ querystring: [],
42
+ body: [
43
+ "",
44
+ prettier.format(JSON.stringify(reqObject), {
45
+ parser: "json",
46
+ }),
47
+ ],
48
+ };
49
+ }
50
+ })();
30
51
 
31
- let qsLines: string[] = [];
32
- let bodyLines: string[] = [];
33
- if ((api.options.httpMethod ?? "GET") === "GET") {
34
- qsLines = [
35
- qs.stringify(reqObject, { encode: false }).split("&").join("\n\t&"),
36
- ];
37
- } else {
38
- bodyLines = [
39
- "",
40
- prettier.format(JSON.stringify(reqObject), {
41
- parser: "json",
42
- }),
43
- ];
44
- }
45
52
  return [
46
53
  [
47
54
  `${api.options.httpMethod ?? "GET"} {{baseUrl}}/api${api.path}`,
48
- ...qsLines,
55
+ ...dataLines.querystring,
49
56
  ].join("\n\t?"),
50
57
  `Content-Type: ${api.options.contentType ?? "application/json"}`,
51
- ...bodyLines,
58
+ ...dataLines.body,
52
59
  ].join("\n");
53
60
  });
54
61
 
55
62
  return {
56
- ...this.getTargetAndPath(names),
63
+ ...this.getTargetAndPath(),
57
64
  body: lines.join("\n\n###\n\n"),
58
65
  importKeys: [],
59
66
  };
@@ -71,7 +78,7 @@ export class Template__generated_http extends Template {
71
78
  return [this.zodTypeToReqDefault(zodType.element, name)];
72
79
  } else if (zodType instanceof z.ZodString) {
73
80
  if (name.endsWith("_at") || name.endsWith("_date") || name === "range") {
74
- return DateTime.local().toSQL().slice(0, 10);
81
+ return "2000-01-01";
75
82
  } else {
76
83
  return name.toUpperCase();
77
84
  }