tezx 1.0.50 → 1.0.52

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,4 @@
1
+ import { TezX } from "../core/server.js";
2
+ export declare function bunAdapter<T extends Record<string, any> = {}>(TezX: TezX<T>): {
3
+ listen: (port: number, callback?: (message: string) => void) => any;
4
+ };
package/adapter/bun.js ADDED
@@ -0,0 +1,77 @@
1
+ import { GlobalConfig } from "../core/config.js";
2
+ import { Context } from "../core/context.js";
3
+ export function bunAdapter(TezX) {
4
+ function listen(port, callback) {
5
+ const serve = typeof Bun !== "undefined" ? Bun.serve : null;
6
+ try {
7
+ if (!serve) {
8
+ throw new Error("Bun is not find");
9
+ }
10
+ GlobalConfig.adapter = "bun";
11
+ const server = serve({
12
+ port: port,
13
+ async fetch(req) {
14
+ let options = {
15
+ connInfo: {
16
+ remoteAddr: server.requestIP(req),
17
+ localAddr: server.address,
18
+ },
19
+ };
20
+ const response = await TezX.serve(req, options);
21
+ if (typeof response?.websocket == "function" && response.ctx instanceof Context && response.ctx.wsProtocol) {
22
+ let websocket = response?.websocket(response?.ctx);
23
+ const upgradeSuccess = server.upgrade(req, {
24
+ data: { ...websocket },
25
+ });
26
+ if (upgradeSuccess)
27
+ return undefined;
28
+ }
29
+ if (response instanceof Response) {
30
+ return response;
31
+ }
32
+ return new Response(response.body ?? null, {
33
+ status: response.status ?? 200,
34
+ statusText: response.statusText || "",
35
+ headers: new Headers(response.headers ?? {}),
36
+ });
37
+ },
38
+ websocket: {
39
+ open(ws) {
40
+ return ws.data?.open?.(ws);
41
+ },
42
+ message(ws, msg) {
43
+ return ws.data?.message?.(ws, msg);
44
+ },
45
+ close(ws, code, reason) {
46
+ return ws.data?.close?.(ws, { code, reason });
47
+ },
48
+ ping(ws, data) {
49
+ return ws.data?.ping?.(ws, data);
50
+ },
51
+ pong(ws, data) {
52
+ return ws.data?.pong?.(ws, data);
53
+ },
54
+ drain(ws) {
55
+ return ws.data?.drain?.(ws);
56
+ },
57
+ }
58
+ });
59
+ GlobalConfig.server = server;
60
+ const protocol = "\x1b[1;34mhttp\x1b[0m";
61
+ const message = `\x1b[1m Bun TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
62
+ if (typeof callback == "function") {
63
+ callback(message);
64
+ }
65
+ else {
66
+ GlobalConfig.debugging.success(message);
67
+ }
68
+ return server;
69
+ }
70
+ catch (err) {
71
+ throw new Error(err?.message);
72
+ }
73
+ }
74
+ return {
75
+ listen,
76
+ };
77
+ }
@@ -0,0 +1,4 @@
1
+ import { TezX } from "../core/server.js";
2
+ export declare function denoAdapter<T extends Record<string, any> = {}>(TezX: TezX<T>): {
3
+ listen: (port: number, callback?: (message: string) => void) => any;
4
+ };
@@ -0,0 +1,59 @@
1
+ import { GlobalConfig } from "../core/config.js";
2
+ export function denoAdapter(TezX) {
3
+ function listen(port, callback) {
4
+ const isDeno = typeof Deno !== "undefined";
5
+ try {
6
+ async function handleRequest(req, connInfo) {
7
+ let remoteAddr = connInfo.remoteAddr;
8
+ let localAddr = { ...server.addr };
9
+ let address = {
10
+ remoteAddr: {
11
+ port: remoteAddr?.port,
12
+ address: remoteAddr?.hostname,
13
+ transport: remoteAddr?.transport,
14
+ family: remoteAddr?.family,
15
+ },
16
+ localAddr: {
17
+ port: localAddr?.port,
18
+ address: localAddr?.hostname,
19
+ transport: localAddr?.transport,
20
+ family: localAddr?.family,
21
+ },
22
+ };
23
+ let options = {
24
+ connInfo: address,
25
+ };
26
+ const response = await TezX.serve(req, options);
27
+ if (response instanceof Response) {
28
+ return response;
29
+ }
30
+ return new Response(response.body ?? null, {
31
+ status: response.status ?? 200,
32
+ statusText: response.statusText || "",
33
+ headers: new Headers(response.headers ?? {}),
34
+ });
35
+ }
36
+ const server = isDeno ? Deno.serve({ port }, handleRequest) : null;
37
+ if (!server) {
38
+ throw new Error("Deno is not find");
39
+ }
40
+ GlobalConfig.adapter = "deno";
41
+ GlobalConfig.server = server;
42
+ const protocol = "\x1b[1;34mhttp\x1b[0m";
43
+ const message = `\x1b[1m🚀 Deno TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
44
+ if (typeof callback === "function") {
45
+ callback(message);
46
+ }
47
+ else {
48
+ GlobalConfig.debugging.success(message);
49
+ }
50
+ return server;
51
+ }
52
+ catch (err) {
53
+ throw new Error(err?.message);
54
+ }
55
+ }
56
+ return {
57
+ listen,
58
+ };
59
+ }
@@ -1,11 +1,4 @@
1
- import { TezX } from "../core/server.js";
2
1
  export type AdapterType = "bun" | "deno" | "node";
3
- export declare function denoAdapter<T extends Record<string, any> = {}>(TezX: TezX<T>): {
4
- listen: (port: number, callback?: (message: string) => void) => any;
5
- };
6
- export declare function bunAdapter<T extends Record<string, any> = {}>(TezX: TezX<T>): {
7
- listen: (port: number, callback?: (message: string) => void) => any;
8
- };
9
- export declare function nodeAdapter<T extends Record<string, any> = {}>(TezX: TezX<T>): {
10
- listen: (port: number, callback?: (message: string) => void) => void;
11
- };
2
+ export * from "./bun.js";
3
+ export * from "./deno.js";
4
+ export * from "./node.js";
package/adapter/index.js CHANGED
@@ -1,177 +1,3 @@
1
- import { GlobalConfig } from "../core/config.js";
2
- export function denoAdapter(TezX) {
3
- function listen(port, callback) {
4
- const isDeno = typeof Deno !== "undefined";
5
- try {
6
- async function handleRequest(req, connInfo) {
7
- let remoteAddr = connInfo.remoteAddr;
8
- let localAddr = { ...server.addr };
9
- let address = {
10
- remoteAddr: {
11
- port: remoteAddr?.port,
12
- address: remoteAddr?.hostname,
13
- transport: remoteAddr?.transport,
14
- family: remoteAddr?.family,
15
- },
16
- localAddr: {
17
- port: localAddr?.port,
18
- address: localAddr?.hostname,
19
- transport: localAddr?.transport,
20
- family: localAddr?.family,
21
- },
22
- };
23
- let options = {
24
- connInfo: address,
25
- };
26
- const response = await TezX.serve(req, options);
27
- if (response instanceof Response) {
28
- return response;
29
- }
30
- else {
31
- return new Response(response.body, {
32
- status: response.status,
33
- statusText: response.statusText || "",
34
- headers: new Headers(response.headers),
35
- });
36
- }
37
- }
38
- const server = isDeno ? Deno.serve({ port }, handleRequest) : null;
39
- if (!server) {
40
- throw new Error("Deno is not find");
41
- }
42
- GlobalConfig.adapter = "deno";
43
- GlobalConfig.server = server;
44
- const protocol = "\x1b[1;34mhttp\x1b[0m";
45
- const message = `\x1b[1m🚀 Deno TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
46
- if (typeof callback === "function") {
47
- callback(message);
48
- }
49
- else {
50
- GlobalConfig.debugging.success(message);
51
- }
52
- return server;
53
- }
54
- catch (err) {
55
- throw new Error(err?.message);
56
- }
57
- }
58
- return {
59
- listen,
60
- };
61
- }
62
- export function bunAdapter(TezX) {
63
- function listen(port, callback) {
64
- const serve = typeof Bun !== "undefined" ? Bun.serve : null;
65
- try {
66
- if (!serve) {
67
- throw new Error("Bun is not find");
68
- }
69
- GlobalConfig.adapter = "bun";
70
- const server = serve({
71
- port: port,
72
- async fetch(req) {
73
- let options = {
74
- connInfo: {
75
- remoteAddr: server.requestIP(req),
76
- localAddr: server.address,
77
- },
78
- };
79
- const response = await TezX.serve(req, options);
80
- if (response instanceof Response) {
81
- return response;
82
- }
83
- else {
84
- return new Response(response.body, {
85
- status: response.status,
86
- statusText: response.statusText || "",
87
- headers: new Headers(response.headers),
88
- });
89
- }
90
- },
91
- });
92
- GlobalConfig.server = server;
93
- const protocol = "\x1b[1;34mhttp\x1b[0m";
94
- const message = `\x1b[1m Bun TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
95
- if (typeof callback == "function") {
96
- callback(message);
97
- }
98
- else {
99
- GlobalConfig.debugging.success(message);
100
- }
101
- return server;
102
- }
103
- catch (err) {
104
- throw new Error(err?.message);
105
- }
106
- }
107
- return {
108
- listen,
109
- };
110
- }
111
- export function nodeAdapter(TezX) {
112
- function listen(port, callback) {
113
- import("http")
114
- .then((r) => {
115
- GlobalConfig.adapter = "node";
116
- let server = r.createServer(async (req, res) => {
117
- let address = {};
118
- if (req.socket) {
119
- address = {
120
- remoteAddr: {
121
- family: req.socket.remoteFamily,
122
- address: req.socket.remoteAddress,
123
- port: req.socket.remotePort,
124
- },
125
- localAddr: {
126
- address: req.socket.localAddress,
127
- port: req.socket.localPort,
128
- family: req.socket.localFamily,
129
- },
130
- };
131
- }
132
- let options = {
133
- connInfo: address,
134
- };
135
- const response = await TezX.serve(req, options);
136
- const statusText = response?.statusText;
137
- if (!(response instanceof Response)) {
138
- throw new Error("Invalid response from TezX.serve");
139
- }
140
- const headers = Object.fromEntries(await response.headers.entries());
141
- if (statusText) {
142
- res.statusMessage = statusText;
143
- }
144
- res.writeHead(response.status, headers);
145
- const { Readable } = await import("stream");
146
- if (response.body instanceof Readable) {
147
- response.body.pipe(res);
148
- }
149
- else {
150
- const body = await response.arrayBuffer();
151
- if (body.byteLength > 0) {
152
- return res.end(Buffer.from(body));
153
- }
154
- res.end();
155
- }
156
- });
157
- server.listen(port, () => {
158
- const protocol = "\x1b[1;34mhttp\x1b[0m";
159
- const message = `\x1b[1m NodeJS TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
160
- GlobalConfig.server = server;
161
- if (typeof callback == "function") {
162
- callback(message);
163
- }
164
- else {
165
- GlobalConfig.debugging.success(message);
166
- }
167
- return server;
168
- });
169
- })
170
- .catch((r) => {
171
- throw Error(r.message);
172
- });
173
- }
174
- return {
175
- listen,
176
- };
177
- }
1
+ export * from "./bun.js";
2
+ export * from "./deno.js";
3
+ export * from "./node.js";
@@ -0,0 +1,4 @@
1
+ import { TezX } from "../core/server.js";
2
+ export declare function nodeAdapter<T extends Record<string, any> = {}>(TezX: TezX<T>): {
3
+ listen: (port: number, callback?: (message: string) => void) => void;
4
+ };
@@ -0,0 +1,75 @@
1
+ import { GlobalConfig } from "../core/config.js";
2
+ import { Context } from "../core/context.js";
3
+ export function nodeAdapter(TezX) {
4
+ function listen(port, callback) {
5
+ import("http")
6
+ .then((r) => {
7
+ GlobalConfig.adapter = "node";
8
+ let server = r.createServer(async (req, res) => {
9
+ let address = {};
10
+ if (req.socket) {
11
+ address = {
12
+ remoteAddr: {
13
+ family: req.socket.remoteFamily,
14
+ address: req.socket.remoteAddress,
15
+ port: req.socket.remotePort,
16
+ },
17
+ localAddr: {
18
+ address: req.socket.localAddress,
19
+ port: req.socket.localPort,
20
+ family: req.socket.localFamily,
21
+ },
22
+ };
23
+ }
24
+ let options = {
25
+ connInfo: address,
26
+ };
27
+ const response = await TezX.serve(req, options);
28
+ if (typeof response?.websocket == "function" && response.ctx instanceof Context && response.ctx.wsProtocol) {
29
+ let ctx = response.ctx;
30
+ response.websocket(ctx, server);
31
+ res.end();
32
+ return;
33
+ }
34
+ const statusText = response?.statusText;
35
+ if (!(response instanceof Response)) {
36
+ throw new Error("Invalid response from TezX.serve");
37
+ }
38
+ const headers = Object.fromEntries(await response.headers.entries());
39
+ if (statusText) {
40
+ res.statusMessage = statusText;
41
+ }
42
+ res.writeHead(response.status, headers);
43
+ const { Readable } = await import("stream");
44
+ if (response.body instanceof Readable) {
45
+ response.body.pipe(res);
46
+ }
47
+ else {
48
+ const body = await response.arrayBuffer();
49
+ if (body.byteLength > 0) {
50
+ return res.end(Buffer.from(body));
51
+ }
52
+ res.end();
53
+ }
54
+ });
55
+ server.listen(port, () => {
56
+ const protocol = "\x1b[1;34mhttp\x1b[0m";
57
+ const message = `\x1b[1m NodeJS TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
58
+ GlobalConfig.server = server;
59
+ if (typeof callback == "function") {
60
+ callback(message);
61
+ }
62
+ else {
63
+ GlobalConfig.debugging.success(message);
64
+ }
65
+ return server;
66
+ });
67
+ })
68
+ .catch((r) => {
69
+ throw Error(r.message);
70
+ });
71
+ }
72
+ return {
73
+ listen,
74
+ };
75
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bunAdapter = bunAdapter;
4
+ const config_js_1 = require("../core/config.js");
5
+ const context_js_1 = require("../core/context.js");
6
+ function bunAdapter(TezX) {
7
+ function listen(port, callback) {
8
+ const serve = typeof Bun !== "undefined" ? Bun.serve : null;
9
+ try {
10
+ if (!serve) {
11
+ throw new Error("Bun is not find");
12
+ }
13
+ config_js_1.GlobalConfig.adapter = "bun";
14
+ const server = serve({
15
+ port: port,
16
+ async fetch(req) {
17
+ let options = {
18
+ connInfo: {
19
+ remoteAddr: server.requestIP(req),
20
+ localAddr: server.address,
21
+ },
22
+ };
23
+ const response = await TezX.serve(req, options);
24
+ if (typeof response?.websocket == "function" && response.ctx instanceof context_js_1.Context && response.ctx.wsProtocol) {
25
+ let websocket = response?.websocket(response?.ctx);
26
+ const upgradeSuccess = server.upgrade(req, {
27
+ data: { ...websocket },
28
+ });
29
+ if (upgradeSuccess)
30
+ return undefined;
31
+ }
32
+ if (response instanceof Response) {
33
+ return response;
34
+ }
35
+ return new Response(response.body ?? null, {
36
+ status: response.status ?? 200,
37
+ statusText: response.statusText || "",
38
+ headers: new Headers(response.headers ?? {}),
39
+ });
40
+ },
41
+ websocket: {
42
+ open(ws) {
43
+ return ws.data?.open?.(ws);
44
+ },
45
+ message(ws, msg) {
46
+ return ws.data?.message?.(ws, msg);
47
+ },
48
+ close(ws, code, reason) {
49
+ return ws.data?.close?.(ws, { code, reason });
50
+ },
51
+ ping(ws, data) {
52
+ return ws.data?.ping?.(ws, data);
53
+ },
54
+ pong(ws, data) {
55
+ return ws.data?.pong?.(ws, data);
56
+ },
57
+ drain(ws) {
58
+ return ws.data?.drain?.(ws);
59
+ },
60
+ }
61
+ });
62
+ config_js_1.GlobalConfig.server = server;
63
+ const protocol = "\x1b[1;34mhttp\x1b[0m";
64
+ const message = `\x1b[1m Bun TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
65
+ if (typeof callback == "function") {
66
+ callback(message);
67
+ }
68
+ else {
69
+ config_js_1.GlobalConfig.debugging.success(message);
70
+ }
71
+ return server;
72
+ }
73
+ catch (err) {
74
+ throw new Error(err?.message);
75
+ }
76
+ }
77
+ return {
78
+ listen,
79
+ };
80
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.denoAdapter = denoAdapter;
4
+ const config_js_1 = require("../core/config.js");
5
+ function denoAdapter(TezX) {
6
+ function listen(port, callback) {
7
+ const isDeno = typeof Deno !== "undefined";
8
+ try {
9
+ async function handleRequest(req, connInfo) {
10
+ let remoteAddr = connInfo.remoteAddr;
11
+ let localAddr = { ...server.addr };
12
+ let address = {
13
+ remoteAddr: {
14
+ port: remoteAddr?.port,
15
+ address: remoteAddr?.hostname,
16
+ transport: remoteAddr?.transport,
17
+ family: remoteAddr?.family,
18
+ },
19
+ localAddr: {
20
+ port: localAddr?.port,
21
+ address: localAddr?.hostname,
22
+ transport: localAddr?.transport,
23
+ family: localAddr?.family,
24
+ },
25
+ };
26
+ let options = {
27
+ connInfo: address,
28
+ };
29
+ const response = await TezX.serve(req, options);
30
+ if (response instanceof Response) {
31
+ return response;
32
+ }
33
+ return new Response(response.body ?? null, {
34
+ status: response.status ?? 200,
35
+ statusText: response.statusText || "",
36
+ headers: new Headers(response.headers ?? {}),
37
+ });
38
+ }
39
+ const server = isDeno ? Deno.serve({ port }, handleRequest) : null;
40
+ if (!server) {
41
+ throw new Error("Deno is not find");
42
+ }
43
+ config_js_1.GlobalConfig.adapter = "deno";
44
+ config_js_1.GlobalConfig.server = server;
45
+ const protocol = "\x1b[1;34mhttp\x1b[0m";
46
+ const message = `\x1b[1m🚀 Deno TezX Server running at ${protocol}://localhost:${port}/\x1b[0m`;
47
+ if (typeof callback === "function") {
48
+ callback(message);
49
+ }
50
+ else {
51
+ config_js_1.GlobalConfig.debugging.success(message);
52
+ }
53
+ return server;
54
+ }
55
+ catch (err) {
56
+ throw new Error(err?.message);
57
+ }
58
+ }
59
+ return {
60
+ listen,
61
+ };
62
+ }