@ir-kit/openapi-ts-typia 0.1.0

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.
Files changed (51) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +136 -0
  3. package/dist/api.d.ts +22 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +24 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/config.d.ts +9 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +55 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/index.d.ts +5 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +4 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/orpc/index.d.ts +14 -0
  16. package/dist/orpc/index.d.ts.map +1 -0
  17. package/dist/orpc/index.js +63 -0
  18. package/dist/orpc/index.js.map +1 -0
  19. package/dist/plugin.d.ts +3 -0
  20. package/dist/plugin.d.ts.map +1 -0
  21. package/dist/plugin.js +3 -0
  22. package/dist/plugin.js.map +1 -0
  23. package/dist/shared/emit.d.ts +59 -0
  24. package/dist/shared/emit.d.ts.map +1 -0
  25. package/dist/shared/emit.js +91 -0
  26. package/dist/shared/emit.js.map +1 -0
  27. package/dist/shared/operation.d.ts +11 -0
  28. package/dist/shared/operation.d.ts.map +1 -0
  29. package/dist/shared/operation.js +72 -0
  30. package/dist/shared/operation.js.map +1 -0
  31. package/dist/shared/type-transformer.d.ts +12 -0
  32. package/dist/shared/type-transformer.d.ts.map +1 -0
  33. package/dist/shared/type-transformer.js +169 -0
  34. package/dist/shared/type-transformer.js.map +1 -0
  35. package/dist/shared/typia-tags.generated.d.ts +99 -0
  36. package/dist/shared/typia-tags.generated.d.ts.map +1 -0
  37. package/dist/shared/typia-tags.generated.js +134 -0
  38. package/dist/shared/typia-tags.generated.js.map +1 -0
  39. package/dist/types.d.ts +123 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +2 -0
  42. package/dist/types.js.map +1 -0
  43. package/dist/v1/api.d.ts +10 -0
  44. package/dist/v1/api.d.ts.map +1 -0
  45. package/dist/v1/api.js +46 -0
  46. package/dist/v1/api.js.map +1 -0
  47. package/dist/v1/plugin.d.ts +3 -0
  48. package/dist/v1/plugin.d.ts.map +1 -0
  49. package/dist/v1/plugin.js +146 -0
  50. package/dist/v1/plugin.js.map +1 -0
  51. package/package.json +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/v1/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GACjD,MAAM,GAAG,SAAS,CAQpB;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GACjD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAIvC;AAED,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,MAAM,GACP,EAAE,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAUvD;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAC/B,SAAS,EAAE,EAAE,CAAC,eAAe,EAC7B,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,MAAM,GAAG,SAAS,CAQpB"}
package/dist/v1/api.js ADDED
@@ -0,0 +1,46 @@
1
+ import { $ } from "@hey-api/openapi-ts";
2
+ export function createRequestSchemaV1(ctx) {
3
+ return ctx.plugin.querySymbol({
4
+ category: "schema",
5
+ resource: "operation",
6
+ resourceId: ctx.operation.id,
7
+ role: "data",
8
+ tool: "@ir-kit/openapi-ts-typia",
9
+ });
10
+ }
11
+ export function createRequestValidatorV1(ctx) {
12
+ const symbol = createRequestSchemaV1(ctx);
13
+ if (!symbol)
14
+ return;
15
+ return standardValidatorFunc(symbol);
16
+ }
17
+ export function createResponseValidatorV1({ operation, plugin, }) {
18
+ const symbol = plugin.querySymbol({
19
+ category: "schema",
20
+ resource: "operation",
21
+ resourceId: operation.id,
22
+ role: "response",
23
+ tool: "@ir-kit/openapi-ts-typia",
24
+ });
25
+ if (!symbol)
26
+ return;
27
+ return standardValidatorFunc(symbol);
28
+ }
29
+ export function getJsonSchemaSymbolV1(plugin, operation, role) {
30
+ return plugin.querySymbol({
31
+ category: "schema",
32
+ resource: "operation",
33
+ resourceId: operation.id,
34
+ role: `${role}-json-schema`,
35
+ tool: "@ir-kit/openapi-ts-typia",
36
+ });
37
+ }
38
+ function standardValidatorFunc(schema) {
39
+ const result = $.const("result").assign($(schema).attr("~standard").attr("validate").call("data").await());
40
+ const issuesCheck = $.if($("result").attr("issues")).do($.throw($.new("Error").args($("JSON").attr("stringify").call($("result").attr("issues")))));
41
+ return $.func()
42
+ .async()
43
+ .param("data")
44
+ .do(result, issuesCheck, $.return($("result").attr("value")));
45
+ }
46
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/v1/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAMxC,MAAM,UAAU,qBAAqB,CACnC,GAAkD;IAElD,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5B,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,0BAA0B;KACjC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAkD;IAElD,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,SAAS,EACT,MAAM,GACQ;IACd,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,SAAS,CAAC,EAAE;QACxB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,0BAA0B;KACjC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAA+B,EAC/B,SAA6B,EAC7B,IAAyB;IAEzB,OAAO,MAAM,CAAC,WAAW,CAAC;QACxB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,SAAS,CAAC,EAAE;QACxB,IAAI,EAAE,GAAG,IAAI,cAAc;QAC3B,IAAI,EAAE,0BAA0B;KACjC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACrC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAClE,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CACjB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC7D,CACF,CACF,CAAC;IAEF,OAAO,CAAC,CAAC,IAAI,EAAE;SACZ,KAAK,EAAE;SACP,KAAK,CAAC,MAAM,CAAC;SACb,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TypiaPlugin } from "../types";
2
+ export declare const handlerV1: TypiaPlugin["Handler"];
3
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/v1/plugin.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAY5C,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,SAAS,CAqG5C,CAAC"}
@@ -0,0 +1,146 @@
1
+ import { $ } from "@hey-api/openapi-ts";
2
+ import { applyNaming, } from "@hey-api/shared";
3
+ import { emitBulkJsonSchemas, emitJsonComponents, emitJsonSchemaTwin, emitValidator, registerTypiaSymbol, } from "../shared/emit";
4
+ import { buildRequestInputType, queryDataTypeSymbol, queryErrorsTypeSymbol, queryResponseTypeSymbol, } from "../shared/operation";
5
+ export const handlerV1 = ({ plugin }) => {
6
+ plugin.symbol("createValidate", { external: "typia" });
7
+ plugin.symbol("json", { external: "typia" });
8
+ plugin.symbol("IValidation", { external: "typia", kind: "type" });
9
+ plugin.symbol("StandardSchemaV1", {
10
+ external: "@standard-schema/spec",
11
+ kind: "type",
12
+ });
13
+ const slots = [];
14
+ plugin.forEach("operation", (event) => {
15
+ const { operation, tags } = event;
16
+ if (plugin.config.requests.enabled) {
17
+ const dataSymbol = queryDataTypeSymbol(plugin, operation);
18
+ if (dataSymbol) {
19
+ slots.push({
20
+ comment: buildOperationComment(operation),
21
+ operationId: operation.id,
22
+ role: "data",
23
+ tags,
24
+ typeExpr: buildRequestInputType(dataSymbol),
25
+ });
26
+ }
27
+ }
28
+ if (plugin.config.responses.enabled) {
29
+ const responseSymbol = queryResponseTypeSymbol(plugin, operation);
30
+ if (responseSymbol) {
31
+ slots.push({
32
+ operationId: operation.id,
33
+ role: "response",
34
+ tags,
35
+ typeExpr: $.type(responseSymbol),
36
+ });
37
+ }
38
+ const errorsSymbol = queryErrorsTypeSymbol(plugin, operation);
39
+ if (errorsSymbol) {
40
+ for (const status of collectErrorStatuses(operation)) {
41
+ slots.push({
42
+ operationId: operation.id,
43
+ role: `error-${status}`,
44
+ tags,
45
+ typeExpr: $.type(errorsSymbol).idx($.type.literal(status)),
46
+ });
47
+ }
48
+ }
49
+ }
50
+ });
51
+ if (!slots.length)
52
+ return;
53
+ const bulkSymbol = plugin.config.jsonSchema
54
+ ? emitBulkJsonSchemas({
55
+ plugin,
56
+ typeExprs: slots.map((slot) => slot.typeExpr),
57
+ })
58
+ : undefined;
59
+ if (bulkSymbol) {
60
+ emitJsonComponents({ bulkSymbol, plugin });
61
+ }
62
+ slots.forEach((slot, index) => {
63
+ const naming = namingForRole(plugin, slot.role);
64
+ const validatorSymbol = registerTypiaSymbol({
65
+ meta: {
66
+ resource: "operation",
67
+ resourceId: slot.operationId,
68
+ role: slot.role,
69
+ tags: slot.tags,
70
+ },
71
+ naming,
72
+ namingAnchor: slot.operationId,
73
+ plugin,
74
+ });
75
+ emitValidator({
76
+ comment: slot.comment,
77
+ plugin,
78
+ symbol: validatorSymbol,
79
+ typeExpr: slot.typeExpr,
80
+ });
81
+ if (bulkSymbol) {
82
+ const jsonSymbol = registerTypiaSymbol({
83
+ meta: {
84
+ resource: "operation",
85
+ resourceId: slot.operationId,
86
+ role: `${slot.role}-json-schema`,
87
+ tags: slot.tags,
88
+ },
89
+ naming: { case: naming.case, name: naming.jsonName },
90
+ namingAnchor: slot.operationId,
91
+ plugin,
92
+ });
93
+ emitJsonSchemaTwin({ bulkSymbol, index, plugin, symbol: jsonSymbol });
94
+ }
95
+ });
96
+ };
97
+ function collectErrorStatuses(operation) {
98
+ const out = [];
99
+ const responses = operation.responses;
100
+ if (!responses)
101
+ return out;
102
+ for (const code in responses) {
103
+ const status = Number.parseInt(code, 10);
104
+ if (!Number.isFinite(status))
105
+ continue;
106
+ if (status < 400 || status > 599)
107
+ continue;
108
+ if (!responses[code]?.schema)
109
+ continue;
110
+ out.push(status);
111
+ }
112
+ return out;
113
+ }
114
+ function namingForRole(plugin, role) {
115
+ if (role === "data")
116
+ return plugin.config.requests;
117
+ if (role === "response")
118
+ return plugin.config.responses;
119
+ // Errors derive naming from responses config but append `Error<code>` suffix.
120
+ const status = role.slice("error-".length);
121
+ const base = plugin.config.responses;
122
+ return {
123
+ case: base.case,
124
+ jsonName: (input) => `${applyNaming(input, { case: base.case, name: base.name })}Error${status}JsonSchema`,
125
+ name: (input) => `${applyNaming(input, { case: base.case, name: base.name })}Error${status}`,
126
+ };
127
+ }
128
+ function buildOperationComment(operation) {
129
+ if (!operation.summary && !operation.description && !operation.deprecated)
130
+ return;
131
+ const parts = [];
132
+ if (operation.summary)
133
+ parts.push(operation.summary);
134
+ if (operation.description) {
135
+ if (parts.length)
136
+ parts.push("");
137
+ parts.push(operation.description);
138
+ }
139
+ if (operation.deprecated) {
140
+ if (parts.length)
141
+ parts.push("");
142
+ parts.push("@deprecated");
143
+ }
144
+ return parts;
145
+ }
146
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/v1/plugin.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,92 @@
1
+ {
2
+ "name": "@ir-kit/openapi-ts-typia",
3
+ "version": "0.1.0",
4
+ "description": "Typia plugin for @hey-api/openapi-ts — generate compile-time Standard Schema validators from OpenAPI specs",
5
+ "keywords": [
6
+ "openapi",
7
+ "openapi-ts",
8
+ "typia",
9
+ "standard-schema",
10
+ "validator",
11
+ "codegen",
12
+ "type-safe",
13
+ "plugin"
14
+ ],
15
+ "homepage": "https://github.com/ir-kit/ir-kit/tree/main/packages/openapi/plugins/typia",
16
+ "bugs": {
17
+ "url": "https://github.com/ir-kit/ir-kit/issues"
18
+ },
19
+ "license": "MIT",
20
+ "author": {
21
+ "name": "Ahmed Rowaihi",
22
+ "email": "ahmedrowaihi@gmail.com"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/ir-kit/ir-kit.git",
27
+ "directory": "packages/openapi/plugins/typia"
28
+ },
29
+ "type": "module",
30
+ "main": "./dist/index.js",
31
+ "types": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/index.js",
36
+ "require": "./dist/index.js"
37
+ },
38
+ "./orpc": {
39
+ "types": "./dist/orpc/index.d.ts",
40
+ "import": "./dist/orpc/index.js",
41
+ "require": "./dist/orpc/index.js"
42
+ },
43
+ "./package.json": "./package.json"
44
+ },
45
+ "files": [
46
+ "dist",
47
+ "README.md",
48
+ "LICENSE.md"
49
+ ],
50
+ "publishConfig": {
51
+ "access": "public",
52
+ "provenance": true
53
+ },
54
+ "peerDependencies": {
55
+ "@hey-api/codegen-core": ">=0.7.0",
56
+ "@hey-api/openapi-ts": ">=0.95.0",
57
+ "@hey-api/shared": ">=0.3.0",
58
+ "@orpc/contract": ">=1.13.0",
59
+ "@orpc/openapi": ">=1.13.0",
60
+ "@standard-schema/spec": "^1.0.0",
61
+ "typia": "^12.0.0"
62
+ },
63
+ "peerDependenciesMeta": {
64
+ "@orpc/contract": {
65
+ "optional": true
66
+ },
67
+ "@orpc/openapi": {
68
+ "optional": true
69
+ }
70
+ },
71
+ "devDependencies": {
72
+ "@hey-api/codegen-core": "^0.8.1",
73
+ "@hey-api/openapi-ts": "^0.97.0",
74
+ "@hey-api/shared": "^0.4.2",
75
+ "@orpc/contract": "^1.13.14",
76
+ "@orpc/openapi": "^1.13.14",
77
+ "@standard-schema/spec": "^1.1.0",
78
+ "@types/node": "^22",
79
+ "jiti": "^2.6.1",
80
+ "typia": "12.0.2",
81
+ "@ir-kit/tsconfig": "0.0.0"
82
+ },
83
+ "engines": {
84
+ "node": ">=20.19.0"
85
+ },
86
+ "scripts": {
87
+ "build": "tsc",
88
+ "dev": "tsc --watch",
89
+ "sync-tags": "jiti scripts/sync-tags.ts",
90
+ "typecheck": "tsc --noEmit"
91
+ }
92
+ }