From 26e1afa676eb327e42a18c7d5732cbbb202e1a3d Mon Sep 17 00:00:00 2001 From: Anthony Griffon Date: Thu, 7 Nov 2024 10:55:41 +0100 Subject: [PATCH] chore: documentation latest --- README.md | 1 - docs-json/sdk-0.11.2.json | 26 +- docs-json/sdk-latest.json | 3741 +++++++++++++++++ docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- ...sdk_0_11_2.net.socketAddr.InvalidAddr.html | 2 +- ...sdk_latest.net.socketAddr.InvalidAddr.html | 15 + ..._edgescript_sdk_latest.net.http.serve.html | 2 + ...ipt_sdk_latest.net.http.servePullZone.html | 4 + ...edgescript_sdk_latest.net.ip.toString.html | 1 + ..._sdk_latest.net.ip.tryParseFromString.html | 2 + ...script_sdk_latest.net.socketAddr.isV4.html | 2 + ...cript_sdk_latest.net.socketAddr.v4.ip.html | 2 + ...ipt_sdk_latest.net.socketAddr.v4.port.html | 2 + ...atest.net.socketAddr.v4.tryFromString.html | 2 + ...et_edgescript_sdk_latest.net.tcp.bind.html | 2 + ...ript_sdk_latest.net.tcp.isTcpListener.html | 1 + ...dgescript_sdk_latest.net.tcp.toString.html | 2 + ...dk_latest.net.tcp.unstable_local_addr.html | 2 + ...cript_sdk_latest.net.tcp.unstable_new.html | 2 + docs/images/bunny.png | Bin 92755 -> 0 bytes docs/index.html | 30 +- .../example/deno-middleware-http/package.json | 3 + .../example/deno-middleware-http/src/main.ts | 14 +- .../_bunny_net_edgescript_sdk_0_11_2.html | 2 +- .../_bunny_net_edgescript_sdk_0_11_2.net.html | 3 +- .../_bunny_net_edgescript_sdk_latest.html | 4 + .../_bunny_net_edgescript_sdk_latest.net.html | 6 + ...ny_net_edgescript_sdk_latest.net.http.html | 9 + ...unny_net_edgescript_sdk_latest.net.ip.html | 6 + ..._edgescript_sdk_latest.net.socketAddr.html | 7 + ...gescript_sdk_latest.net.socketAddr.v4.html | 5 + ...nny_net_edgescript_sdk_latest.net.tcp.html | 7 + ..._latest.net.http.OriginRequestContext.html | 1 + ...latest.net.http.OriginResponseContext.html | 1 + ...t_sdk_latest.net.http.PullZoneHandler.html | 3 + ...atest.net.http.PullZoneHandlerOptions.html | 1 + ...ript_sdk_latest.net.http.ServeHandler.html | 1 + ...ipt_sdk_latest.net.http.ServerHandler.html | 3 + ...dgescript_sdk_latest.net.ip.Enumerate.html | 1 + ...net_edgescript_sdk_latest.net.ip.IPv4.html | 1 + ...et_edgescript_sdk_latest.net.ip.Range.html | 1 + ...ript_sdk_latest.net.socketAddr.NoAddr.html | 1 + ..._sdk_latest.net.socketAddr.SocketAddr.html | 1 + ...latest.net.socketAddr.SocketAddrError.html | 1 + ...latest.net.socketAddr.v4.SocketAddrV4.html | 1 + ...script_sdk_latest.net.tcp.TcpListener.html | 2 + scripts/build-doc.sh | 3 +- 48 files changed, 3890 insertions(+), 43 deletions(-) create mode 100644 docs-json/sdk-latest.json create mode 100644 docs/classes/_bunny_net_edgescript_sdk_latest.net.socketAddr.InvalidAddr.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.http.serve.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.http.servePullZone.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.toString.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.tryParseFromString.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.isV4.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.ip.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.port.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.tryFromString.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.bind.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.isTcpListener.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.toString.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_local_addr.html create mode 100644 docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_new.html delete mode 100644 docs/images/bunny.png create mode 100644 docs/modules/_bunny_net_edgescript_sdk_latest.html create mode 100644 docs/modules/_bunny_net_edgescript_sdk_latest.net.html create mode 100644 docs/modules/_bunny_net_edgescript_sdk_latest.net.http.html create mode 100644 docs/modules/_bunny_net_edgescript_sdk_latest.net.ip.html create mode 100644 docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.html create mode 100644 docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.html create mode 100644 docs/modules/_bunny_net_edgescript_sdk_latest.net.tcp.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginRequestContext.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginResponseContext.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandler.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandlerOptions.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServeHandler.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServerHandler.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Enumerate.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.ip.IPv4.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Range.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.NoAddr.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddr.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddrError.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.SocketAddrV4.html create mode 100644 docs/types/_bunny_net_edgescript_sdk_latest.net.tcp.TcpListener.html diff --git a/README.md b/README.md index bf3707f..99e1b76 100644 --- a/README.md +++ b/README.md @@ -42,4 +42,3 @@ If you execute this code on a deployed Bunny.net Edge Scripting script, the serv be used to execute requests on a connected PullZone. Full list of examples is in the [example folder](./example/). - diff --git a/docs-json/sdk-0.11.2.json b/docs-json/sdk-0.11.2.json index 432c906..ed66606 100644 --- a/docs-json/sdk-0.11.2.json +++ b/docs-json/sdk-0.11.2.json @@ -11,6 +11,22 @@ "variant": "declaration", "kind": 4, "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Docs for " + }, + { + "kind": "code", + "text": "`net`" + }, + { + "kind": "text", + "text": " module" + } + ] + }, "children": [ { "id": 66, @@ -2049,13 +2065,8 @@ } ], "type": { - "type": "reference", - "target": { - "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", - "qualifiedName": "Symbol" - }, - "name": "Symbol", - "package": "typescript" + "type": "intrinsic", + "name": "symbol" }, "defaultValue": "addr_symbol" }, @@ -3146,7 +3157,6 @@ } ], "packageName": "@bunny.net/edgescript-sdk", - "packageVersion": "0.11.2", "readme": [ { "kind": "text", diff --git a/docs-json/sdk-latest.json b/docs-json/sdk-latest.json new file mode 100644 index 0000000..a07f301 --- /dev/null +++ b/docs-json/sdk-latest.json @@ -0,0 +1,3741 @@ +{ + "id": 0, + "name": "@bunny.net/edgescript-sdk/latest", + "variant": "project", + "kind": 1, + "flags": {}, + "children": [ + { + "id": 1, + "name": "net", + "variant": "declaration", + "kind": 4, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Docs for " + }, + { + "kind": "code", + "text": "`net`" + }, + { + "kind": "text", + "text": " module" + } + ] + }, + "children": [ + { + "id": 66, + "name": "http", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 70, + "name": "OriginRequestContext", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 111, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 71, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 72, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 112, + "character": 2 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Request" + }, + "name": "Request", + "package": "@types/node", + "qualifiedName": "__global.Request" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 72 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 111, + "character": 35 + } + ] + } + } + }, + { + "id": 73, + "name": "OriginResponseContext", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 115, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 74, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 75, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 116, + "character": 2 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Request" + }, + "name": "Request", + "package": "@types/node", + "qualifiedName": "__global.Request" + } + }, + { + "id": 76, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 117, + "character": 2 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Response" + }, + "name": "Response", + "package": "@types/node", + "qualifiedName": "__global.Response" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 75, + 76 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 115, + "character": 36 + } + ] + } + } + }, + { + "id": 77, + "name": "PullZoneHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 120, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 78, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 79, + "name": "onOriginRequest", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add a Middleware for the requests being processed." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 80, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 124, + "character": 19 + } + ], + "signatures": [ + { + "id": 81, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 82, + "name": "middleware", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 83, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 125, + "character": 16 + } + ], + "signatures": [ + { + "id": 84, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 85, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 70, + "name": "OriginRequestContext", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Request" + }, + "name": "Request", + "package": "@types/node", + "qualifiedName": "__global.Request" + } + ], + "name": "Promise", + "package": "typescript" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Response" + }, + "name": "Response", + "package": "@types/node", + "qualifiedName": "__global.Response" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": 77, + "name": "PullZoneHandler", + "package": "@bunny.net/edgescript-sdk" + } + } + ] + } + } + }, + { + "id": 86, + "name": "onOriginResponse", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add a Middleware for the response being processed." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 133, + "character": 2 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 87, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 133, + "character": 20 + } + ], + "signatures": [ + { + "id": 88, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 89, + "name": "middleware", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 90, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 134, + "character": 16 + } + ], + "signatures": [ + { + "id": 91, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 92, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 73, + "name": "OriginResponseContext", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Response" + }, + "name": "Response", + "package": "@types/node", + "qualifiedName": "__global.Response" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": 77, + "name": "PullZoneHandler", + "package": "@bunny.net/edgescript-sdk" + } + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 79, + 86 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 120, + "character": 30 + } + ] + } + } + }, + { + "id": 67, + "name": "PullZoneHandlerOptions", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 107, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 68, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 69, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 108, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 69 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 107, + "character": 37 + } + ] + } + } + }, + { + "id": 105, + "name": "ServeHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 22, + "character": 5 + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 106, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 22, + "character": 20 + } + ] + } + }, + { + "type": "intrinsic", + "name": "unknown" + } + ] + } + }, + { + "id": 119, + "name": "ServerHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A handler for HTTP Requests.\nConsumes a request and return a response." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 20, + "character": 5 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 120, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 20, + "character": 21 + } + ], + "signatures": [ + { + "id": 121, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 122, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Request" + }, + "name": "Request", + "package": "@types/node", + "qualifiedName": "__global.Request" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Response" + }, + "name": "Response", + "package": "@types/node", + "qualifiedName": "__global.Response" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.Response" + }, + "name": "Response", + "package": "@types/node", + "qualifiedName": "__global.Response" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 93, + "name": "serve", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 43, + "character": 9 + }, + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 44, + "character": 9 + }, + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 48, + "character": 9 + }, + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 49, + "character": 9 + } + ], + "signatures": [ + { + "id": 94, + "name": "serve", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Serves HTTP requests with the provided handler." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 43, + "character": 9 + } + ], + "parameters": [ + { + "id": 95, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 119, + "name": "ServerHandler", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 105, + "name": "ServeHandler", + "package": "@bunny.net/edgescript-sdk" + } + }, + { + "id": 96, + "name": "serve", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 44, + "character": 9 + } + ], + "parameters": [ + { + "id": 97, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 98, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 100, + "name": "hostname", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 45, + "character": 28 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 99, + "name": "port", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 45, + "character": 14 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 100, + 99 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 45, + "character": 12 + } + ] + } + } + }, + { + "id": 101, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 119, + "name": "ServerHandler", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 105, + "name": "ServeHandler", + "package": "@bunny.net/edgescript-sdk" + } + }, + { + "id": 102, + "name": "serve", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 48, + "character": 9 + } + ], + "parameters": [ + { + "id": 103, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 62, + "name": "TcpListener", + "package": "@bunny.net/edgescript-sdk" + } + }, + { + "id": 104, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 119, + "name": "ServerHandler", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 105, + "name": "ServeHandler", + "package": "@bunny.net/edgescript-sdk" + } + } + ] + }, + { + "id": 107, + "name": "servePullZone", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 146, + "character": 9 + }, + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 147, + "character": 9 + }, + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 151, + "character": 9 + }, + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 155, + "character": 9 + } + ], + "signatures": [ + { + "id": 108, + "name": "servePullZone", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Serves HTTP requests for a PullZone\n\nIf you have an associated PullZone within Bunny, we'll use it on production\nand for local development you can configure it with the " + }, + { + "kind": "code", + "text": "`url`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 146, + "character": 9 + } + ], + "parameters": [ + { + "id": 109, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 67, + "name": "PullZoneHandlerOptions", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 77, + "name": "PullZoneHandler", + "package": "@bunny.net/edgescript-sdk" + } + }, + { + "id": 110, + "name": "servePullZone", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 147, + "character": 9 + } + ], + "parameters": [ + { + "id": 111, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 112, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 114, + "name": "hostname", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 148, + "character": 28 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 113, + "name": "port", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 148, + "character": 14 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 114, + 113 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 148, + "character": 12 + } + ] + } + } + }, + { + "id": 115, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 67, + "name": "PullZoneHandlerOptions", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 77, + "name": "PullZoneHandler", + "package": "@bunny.net/edgescript-sdk" + } + }, + { + "id": 116, + "name": "servePullZone", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 151, + "character": 9 + } + ], + "parameters": [ + { + "id": 117, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 62, + "name": "TcpListener", + "package": "@bunny.net/edgescript-sdk" + } + }, + { + "id": 118, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 67, + "name": "PullZoneHandlerOptions", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 77, + "name": "PullZoneHandler", + "package": "@bunny.net/edgescript-sdk" + } + } + ] + } + ], + "groups": [ + { + "title": "Type Aliases", + "children": [ + 70, + 73, + 77, + 67, + 105, + 119 + ] + }, + { + "title": "Functions", + "children": [ + 93, + 107 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/serve.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 123, + "name": "ip", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 130, + "name": "Enumerate", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 1, + "character": 12 + } + ], + "typeParameters": [ + { + "id": 131, + "name": "N", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 132, + "name": "Acc", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "default": { + "type": "tuple" + } + } + ], + "type": { + "type": "conditional", + "checkType": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "length" + }, + "objectType": { + "type": "reference", + "target": 132, + "name": "Acc", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + } + }, + "extendsType": { + "type": "reference", + "target": 131, + "name": "N", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + }, + "trueType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 132, + "name": "Acc", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + } + }, + "falseType": { + "type": "reference", + "target": 130, + "typeArguments": [ + { + "type": "reference", + "target": 131, + "name": "N", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + }, + { + "type": "tuple", + "elements": [ + { + "type": "rest", + "elementType": { + "type": "reference", + "target": 132, + "name": "Acc", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + } + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "length" + }, + "objectType": { + "type": "reference", + "target": 132, + "name": "Acc", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + } + } + ] + } + ], + "name": "Enumerate", + "package": "@bunny.net/edgescript-sdk" + } + } + }, + { + "id": 136, + "name": "IPv4", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 7, + "character": 12 + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 133, + "typeArguments": [ + { + "type": "literal", + "value": 0 + }, + { + "type": "literal", + "value": 255 + } + ], + "name": "Range", + "package": "@bunny.net/edgescript-sdk" + }, + { + "type": "reference", + "target": 133, + "typeArguments": [ + { + "type": "literal", + "value": 0 + }, + { + "type": "literal", + "value": 255 + } + ], + "name": "Range", + "package": "@bunny.net/edgescript-sdk" + }, + { + "type": "reference", + "target": 133, + "typeArguments": [ + { + "type": "literal", + "value": 0 + }, + { + "type": "literal", + "value": 255 + } + ], + "name": "Range", + "package": "@bunny.net/edgescript-sdk" + }, + { + "type": "reference", + "target": 133, + "typeArguments": [ + { + "type": "literal", + "value": 0 + }, + { + "type": "literal", + "value": 255 + } + ], + "name": "Range", + "package": "@bunny.net/edgescript-sdk" + } + ] + } + }, + { + "id": 133, + "name": "Range", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 5, + "character": 12 + } + ], + "typeParameters": [ + { + "id": 134, + "name": "F", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 135, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Exclude" + }, + "typeArguments": [ + { + "type": "reference", + "target": 130, + "typeArguments": [ + { + "type": "reference", + "target": 135, + "name": "T", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + } + ], + "name": "Enumerate", + "package": "@bunny.net/edgescript-sdk" + }, + { + "type": "reference", + "target": 130, + "typeArguments": [ + { + "type": "reference", + "target": 134, + "name": "F", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + } + ], + "name": "Enumerate", + "package": "@bunny.net/edgescript-sdk" + } + ], + "name": "Exclude", + "package": "typescript" + }, + { + "type": "reference", + "target": 135, + "name": "T", + "package": "@bunny.net/edgescript-sdk", + "refersToTypeParameter": true + } + ] + } + }, + { + "id": 124, + "name": "toString", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 9, + "character": 16 + } + ], + "signatures": [ + { + "id": 125, + "name": "toString", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 9, + "character": 16 + } + ], + "parameters": [ + { + "id": 126, + "name": "ip", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 136, + "name": "IPv4", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + }, + { + "id": 127, + "name": "tryParseFromString", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 16, + "character": 16 + } + ], + "signatures": [ + { + "id": 128, + "name": "tryParseFromString", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Try to parse na IP" + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 16, + "character": 16 + } + ], + "parameters": [ + { + "id": 129, + "name": "ip", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 136, + "name": "IPv4", + "package": "@bunny.net/edgescript-sdk" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "SyntaxError" + }, + "name": "SyntaxError", + "package": "typescript" + } + ] + } + } + ] + } + ], + "groups": [ + { + "title": "Type Aliases", + "children": [ + 130, + 136, + 133 + ] + }, + { + "title": "Functions", + "children": [ + 124, + 127 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/ip.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 2, + "name": "socketAddr", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 6, + "name": "v4", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 16, + "name": "SocketAddrV4", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 3, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 17, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 18, + "name": "_tag", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 4, + "character": 11 + } + ], + "type": { + "type": "literal", + "value": "SocketAddrV4" + } + }, + { + "id": 20, + "name": "ip", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 6, + "character": 2 + } + ], + "type": { + "type": "reference", + "target": 136, + "name": "IP.IPv4", + "package": "@bunny.net/edgescript-sdk", + "qualifiedName": "IPv4" + } + }, + { + "id": 19, + "name": "port", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 5, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 18, + 20, + 19 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 3, + "character": 27 + } + ] + } + } + }, + { + "id": 10, + "name": "ip", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 19, + "character": 16 + } + ], + "signatures": [ + { + "id": 11, + "name": "ip", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the IP address associated with this socket address." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 19, + "character": 16 + } + ], + "parameters": [ + { + "id": 12, + "name": "addr", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 16, + "name": "SocketAddrV4", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 136, + "name": "IP.IPv4", + "package": "@bunny.net/edgescript-sdk", + "qualifiedName": "IPv4" + } + } + ] + }, + { + "id": 7, + "name": "port", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 12, + "character": 16 + } + ], + "signatures": [ + { + "id": 8, + "name": "port", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the port number associated with this socket address." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 12, + "character": 16 + } + ], + "parameters": [ + { + "id": 9, + "name": "addr", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 16, + "name": "SocketAddrV4", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + }, + { + "id": 13, + "name": "tryFromString", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 26, + "character": 16 + } + ], + "signatures": [ + { + "id": 14, + "name": "tryFromString", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Try to parse a SocketAddrV4" + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 26, + "character": 16 + } + ], + "parameters": [ + { + "id": 15, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 16, + "name": "SocketAddrV4", + "package": "@bunny.net/edgescript-sdk" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "SyntaxError" + }, + "name": "SyntaxError", + "package": "typescript" + } + ] + } + } + ] + } + ], + "groups": [ + { + "title": "Type Aliases", + "children": [ + 16 + ] + }, + { + "title": "Functions", + "children": [ + 10, + 7, + 13 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket/v4.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 26, + "name": "InvalidAddr", + "variant": "declaration", + "kind": 128, + "flags": {}, + "children": [ + { + "id": 37, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 24, + "character": 2 + } + ], + "signatures": [ + { + "id": 38, + "name": "new InvalidAddr", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 24, + "character": 2 + } + ], + "parameters": [ + { + "id": 39, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 26, + "name": "InvalidAddr", + "package": "@bunny.net/edgescript-sdk" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "Error.constructor" + } + }, + { + "id": 40, + "name": "_guard", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 22, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "symbol" + }, + "defaultValue": "addr_symbol" + }, + { + "id": 46, + "name": "cause", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true, + "isInherited": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.error.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.cause" + } + }, + { + "id": 44, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isInherited": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.message" + } + }, + { + "id": 43, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isInherited": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1076, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.name" + } + }, + { + "id": 45, + "name": "stack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true, + "isInherited": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1078, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.stack" + } + }, + { + "id": 31, + "name": "prepareStackTrace", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isOptional": true, + "isInherited": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional override for formatting stack traces" + } + ], + "blockTags": [ + { + "tag": "@see", + "content": [ + { + "kind": "text", + "text": "https://v8.dev/docs/stack-trace-api#customizing-stack-traces" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 32, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "signatures": [ + { + "id": 33, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "parameters": [ + { + "id": 34, + "name": "err", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 35, + "name": "stackTraces", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.NodeJS.CallSite" + }, + "name": "CallSite", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.CallSite" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.prepareStackTrace" + } + }, + { + "id": 36, + "name": "stackTraceLimit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isInherited": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "line": 30, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.stackTraceLimit" + } + }, + { + "id": 41, + "name": "toString", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 29, + "character": 11 + } + ], + "signatures": [ + { + "id": 42, + "name": "toString", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a string representation of an object." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 29, + "character": 11 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + }, + { + "id": 27, + "name": "captureStackTrace", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true, + "isInherited": true + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 28, + "name": "captureStackTrace", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true, + "isInherited": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Create .stack property on a target object" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "parameters": [ + { + "id": 29, + "name": "targetObject", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 30, + "name": "constructorOpt", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.captureStackTrace" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.captureStackTrace" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 37 + ] + }, + { + "title": "Properties", + "children": [ + 40, + 46, + 44, + 43, + 45, + 31, + 36 + ] + }, + { + "title": "Methods", + "children": [ + 41, + 27 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 21, + "character": 13 + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + ] + }, + { + "id": 21, + "name": "NoAddr", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 5, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 22, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 23, + "name": "_tag", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 6, + "character": 11 + } + ], + "type": { + "type": "literal", + "value": "NoAddr" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 23 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 5, + "character": 21 + } + ] + } + } + }, + { + "id": 24, + "name": "SocketAddr", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 9, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 16, + "name": "v4.SocketAddrV4", + "package": "@bunny.net/edgescript-sdk", + "qualifiedName": "SocketAddrV4" + }, + { + "type": "reference", + "target": 21, + "name": "NoAddr", + "package": "@bunny.net/edgescript-sdk" + } + ] + } + }, + { + "id": 25, + "name": "SocketAddrError", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 18, + "character": 12 + } + ], + "type": { + "type": "reference", + "target": 26, + "name": "InvalidAddr", + "package": "@bunny.net/edgescript-sdk" + } + }, + { + "id": 3, + "name": "isV4", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 14, + "character": 16 + } + ], + "signatures": [ + { + "id": 4, + "name": "isV4", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Tell if it's a v4 [SocketAddr]." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 14, + "character": 16 + } + ], + "parameters": [ + { + "id": 5, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 24, + "name": "SocketAddr", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "predicate", + "name": "value", + "asserts": false, + "targetType": { + "type": "reference", + "target": 16, + "name": "SocketAddrV4", + "package": "@bunny.net/edgescript-sdk" + } + } + } + ] + } + ], + "groups": [ + { + "title": "Namespaces", + "children": [ + 6 + ] + }, + { + "title": "Classes", + "children": [ + 26 + ] + }, + { + "title": "Type Aliases", + "children": [ + 21, + 24, + 25 + ] + }, + { + "title": "Functions", + "children": [ + 3 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/socket_addr.ts", + "line": 1, + "character": 0 + } + ] + }, + { + "id": 47, + "name": "tcp", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 62, + "name": "TcpListener", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 4, + "character": 12 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 63, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 64, + "name": "_tag", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Prevent the construction" + } + ], + "modifierTags": [ + "@internal" + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 9, + "character": 11 + } + ], + "type": { + "type": "literal", + "value": "TcpListener" + } + }, + { + "id": 65, + "name": "addr", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 10, + "character": 2 + } + ], + "type": { + "type": "reference", + "target": 24, + "name": "SocketAddr.SocketAddr", + "package": "@bunny.net/edgescript-sdk", + "qualifiedName": "SocketAddr" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 64, + 65 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 4, + "character": 26 + } + ] + } + } + }, + { + "id": 59, + "name": "bind", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 67, + "character": 16 + } + ], + "signatures": [ + { + "id": 60, + "name": "bind", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Bind an Addr" + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 67, + "character": 16 + } + ], + "parameters": [ + { + "id": 61, + "name": "addr", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 16, + "name": "SocketAddrV4", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 62, + "name": "TcpListener", + "package": "@bunny.net/edgescript-sdk" + } + } + ] + }, + { + "id": 48, + "name": "isTcpListener", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 13, + "character": 16 + } + ], + "signatures": [ + { + "id": 49, + "name": "isTcpListener", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 13, + "character": 16 + } + ], + "parameters": [ + { + "id": 50, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "type": { + "type": "predicate", + "name": "value", + "asserts": false, + "targetType": { + "type": "reference", + "target": 62, + "name": "TcpListener", + "package": "@bunny.net/edgescript-sdk" + } + } + } + ] + }, + { + "id": 54, + "name": "toString", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 27, + "character": 16 + } + ], + "signatures": [ + { + "id": 55, + "name": "toString", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Format the associated [TcpListener] to a String" + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 27, + "character": 16 + } + ], + "parameters": [ + { + "id": 56, + "name": "tcp", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 62, + "name": "TcpListener", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + }, + { + "id": 51, + "name": "unstable_local_addr", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 20, + "character": 16 + } + ], + "signatures": [ + { + "id": 52, + "name": "unstable_local_addr", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the local socket address of this listener." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 20, + "character": 16 + } + ], + "parameters": [ + { + "id": 53, + "name": "tcp", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 62, + "name": "TcpListener", + "package": "@bunny.net/edgescript-sdk" + } + } + ], + "type": { + "type": "reference", + "target": 24, + "name": "SocketAddr.SocketAddr", + "package": "@bunny.net/edgescript-sdk", + "qualifiedName": "SocketAddr" + } + } + ] + }, + { + "id": 57, + "name": "unstable_new", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 39, + "character": 16 + } + ], + "signatures": [ + { + "id": 58, + "name": "unstable_new", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Create a new [TcpListener]." + } + ] + }, + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 39, + "character": 16 + } + ], + "type": { + "type": "reference", + "target": 62, + "name": "TcpListener", + "package": "@bunny.net/edgescript-sdk" + } + } + ] + } + ], + "groups": [ + { + "title": "Type Aliases", + "children": [ + 62 + ] + }, + { + "title": "Functions", + "children": [ + 59, + 48, + 54, + 51, + 57 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/tcp.ts", + "line": 1, + "character": 0 + } + ] + } + ], + "groups": [ + { + "title": "Namespaces", + "children": [ + 66, + 123, + 2, + 47 + ] + } + ], + "sources": [ + { + "fileName": "libs/bunny-sdk/src/net/index.ts", + "line": 1, + "character": 0 + } + ] + } + ], + "groups": [ + { + "title": "Namespaces", + "children": [ + 1 + ] + } + ], + "packageName": "@bunny.net/edgescript-sdk", + "packageVersion": "0.11.2", + "readme": [ + { + "kind": "text", + "text": "# @bunny.net/edge-script-sdk\n---\n\nThe " + }, + { + "kind": "code", + "text": "`@bunny.net/edge-script-sdk`" + } + ], + "symbolIdMap": { + "0": { + "sourceFileName": "src/lib.ts", + "qualifiedName": "" + }, + "1": { + "sourceFileName": "src/net/index.ts", + "qualifiedName": "" + }, + "2": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "" + }, + "3": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "isV4" + }, + "4": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "isV4" + }, + "5": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "value" + }, + "6": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "" + }, + "7": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "port" + }, + "8": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "port" + }, + "9": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "addr" + }, + "10": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "ip" + }, + "11": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "ip" + }, + "12": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "addr" + }, + "13": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "tryFromString" + }, + "14": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "tryFromString" + }, + "15": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "value" + }, + "16": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "SocketAddrV4" + }, + "17": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "__type" + }, + "18": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "__type._tag" + }, + "19": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "__type.port" + }, + "20": { + "sourceFileName": "src/net/socket/v4.ts", + "qualifiedName": "__type.ip" + }, + "21": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "NoAddr" + }, + "22": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "__type" + }, + "23": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "__type._tag" + }, + "24": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "SocketAddr" + }, + "25": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "SocketAddrError" + }, + "26": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "InvalidAddr" + }, + "27": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "28": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "29": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "targetObject" + }, + "30": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "constructorOpt" + }, + "31": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.prepareStackTrace" + }, + "32": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "33": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "34": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "err" + }, + "35": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "stackTraces" + }, + "36": { + "sourceFileName": "../../node_modules/.pnpm/@types+node@20.14.15/node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.stackTraceLimit" + }, + "37": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "InvalidAddr.__constructor" + }, + "38": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "InvalidAddr" + }, + "39": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "message" + }, + "40": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "InvalidAddr._guard" + }, + "41": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "InvalidAddr.toString" + }, + "42": { + "sourceFileName": "src/net/socket_addr.ts", + "qualifiedName": "InvalidAddr.toString" + }, + "43": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.name" + }, + "44": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.message" + }, + "45": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.stack" + }, + "46": { + "sourceFileName": "../../node_modules/.pnpm/typescript@5.5.4/node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "Error.cause" + }, + "47": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "" + }, + "48": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "isTcpListener" + }, + "49": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "isTcpListener" + }, + "50": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "value" + }, + "51": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "unstable_local_addr" + }, + "52": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "unstable_local_addr" + }, + "53": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "tcp" + }, + "54": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "toString" + }, + "55": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "toString" + }, + "56": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "tcp" + }, + "57": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "unstable_new" + }, + "58": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "unstable_new" + }, + "59": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "bind" + }, + "60": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "bind" + }, + "61": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "addr" + }, + "62": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "TcpListener" + }, + "63": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "__type" + }, + "64": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "__type._tag" + }, + "65": { + "sourceFileName": "src/net/tcp.ts", + "qualifiedName": "__type.addr" + }, + "66": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "" + }, + "67": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "PullZoneHandlerOptions" + }, + "68": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "69": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.url" + }, + "70": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "OriginRequestContext" + }, + "71": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "72": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.request" + }, + "73": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "OriginResponseContext" + }, + "74": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "75": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.request" + }, + "76": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.response" + }, + "77": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "PullZoneHandler" + }, + "78": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "79": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.onOriginRequest" + }, + "80": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "81": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "82": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "middleware" + }, + "83": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "84": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "85": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "ctx" + }, + "86": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.onOriginResponse" + }, + "87": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "88": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "89": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "middleware" + }, + "90": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "91": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "92": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "ctx" + }, + "93": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "serve" + }, + "94": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "serve" + }, + "95": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "handler" + }, + "96": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "serve" + }, + "97": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "listener" + }, + "98": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "99": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.port" + }, + "100": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.hostname" + }, + "101": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "handler" + }, + "102": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "serve" + }, + "103": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "listener" + }, + "104": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "handler" + }, + "105": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "ServeHandler" + }, + "106": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "107": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "servePullZone" + }, + "108": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "servePullZone" + }, + "109": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "options" + }, + "110": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "servePullZone" + }, + "111": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "listener" + }, + "112": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "113": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.port" + }, + "114": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type.hostname" + }, + "115": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "options" + }, + "116": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "servePullZone" + }, + "117": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "listener" + }, + "118": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "options" + }, + "119": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "ServerHandler" + }, + "120": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "121": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "__type" + }, + "122": { + "sourceFileName": "src/net/serve.ts", + "qualifiedName": "request" + }, + "123": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "" + }, + "124": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "toString" + }, + "125": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "toString" + }, + "126": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "ip" + }, + "127": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "tryParseFromString" + }, + "128": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "tryParseFromString" + }, + "129": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "ip" + }, + "130": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "Enumerate" + }, + "131": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "N" + }, + "132": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "Acc" + }, + "133": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "Range" + }, + "134": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "F" + }, + "135": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "T" + }, + "136": { + "sourceFileName": "src/net/ip.ts", + "qualifiedName": "IPv4" + } + }, + "files": { + "entries": { + "1": "src/lib.ts", + "2": "src/net/index.ts", + "3": "src/net/socket_addr.ts", + "4": "src/net/socket/v4.ts", + "5": "src/net/tcp.ts", + "6": "src/net/serve.ts", + "7": "src/net/ip.ts" + }, + "reflections": { + "1": 0, + "2": 1, + "3": 2, + "4": 6, + "5": 47, + "6": 66, + "7": 123 + } + } +} diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index d0efb42..0f1051b 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE8WX3W6bMABG34XrLg0o+8vVpqnVKk1r1Ey7WFUhB9zEimMz22SLpr37DF3ABgeIi13lKgR/x+DPkHP/JxDwtwjmwYdVTshhQqC4hOka8oShTLzi6Ta4CJINwimDJJjfV+dPJ2E4CeWPGRAb+X1H0xxDfhmXObHMieucWObE0zgM43CyETssh20RSYN5ZA6Xoy2S5S96+sycvhEis44X2SDGLUNrRO7gzxxy8YmS8nDFFIfsLKIprXEjp+/fhq+jvxetGfCMEg5Hm4IW1zeHRY7xD0rgZ0BSDJk9vRF0Jvc2E0jOejT8/7y+WSwh2z//0tWUQUQ2DpINZPLi5Jr1mJOkvDtn8MoInfNm1kQc12AE1DGqhXxQoMj2GYGGPSGuSL6DDAhotU4SUgX0rdDNYj+zhRRj+/LvAFlbX0U5uI8g6FIwRNbWay9Bx4yOngl2WADG4TWjuxGArbTOvnGabKH4mKbMsnd1wKD+qZ2w5TS7cQK1rEZ8tyuijlTj+pqj7uIzl1CHNne1VpyMMjESp4jqrugI7dSRWmZnR2/IHmCU6iVNMODcYiWVMB0aRu8U5leq4+xq85TS+/407EE73vLEZuxiXjFGRwSXcb37g6tb0r5GRU5ndURi+z6VIwc9Zb4l2RfEBSSWf30KjpLRd+dWxXHbO1ewioCOnY648YIsQFpS17PluW/ZAjbgNZsTLsAKwxjTBOAYaNvNAmnIG0In8Nc4WBlkqP6DVv9Sl6Ozd0DkTJcjt7oc1X+5PemyQnwpXTZMwaMuK/SX0OXTePe6rLB96XIT6VqXFZ5rXW6iXOly5EOXK4hLXa4grnS5ArjW5QrkS5droDddjjzpcovjXpdNSOe6bIK60GUTx7Eum5B+dLlFdqnLLZhjXW7xfOlyB9ilLrewTnQ58qTLNce9Ltcsx7pcgzzocg3zpss10qsuG7CndVl+/gGxPERGkR4AAA==" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE8WXXW+bMBhG/wvXXRpQ9tWrTlOnVZrWqJl2sapCBLwEhRhmm2zRtP8+QxuwjflyeR3lKiF+jsGPgfPw12HoD3OunOt1jvFxhhG7RNEG0ZDEGXtFo51z4YTbOIkIws7VQ/X/+cx1Zy4/mAVsy7/v0yhPEL30yxyf5/h1js9z/Lnvur4727J9woftYhw5V54+nI82SOZH5PSFPn3LWGYcz7JBjDsSb2J8j37liLKPKS5/rpjsmI0i6tKUCzl//9Z97f27aMyAZimmaLIpSHF9c1jmSfIjxehzgKMEEXO6EjSSe5exmM96MvxzXt8sVogcXn7qYsogIpkGSQYyafHnmvUzx2F5dUbwygiZ82ahIk5rMAHqFNVAPgrQ2PQeEQ+7Q9zgfI9IwJDROnFIFdC3QrfLw8IUUozty78P8Mb4LMrBfQSWrhiJ8cZ47TnolNHRM0aOy4BQ9Imk+wmAjbTOvtE03CH2IYqIYe/qgEH9EzthylG70YJaVSO+mxVRRopxfc0Rd/HIJZSh6q6WipOlhE3EKaK6KzpBO2WklNnZ0Vt8CJI4kksaJgGlBisphMlQ13snML+mMs6sNk8pvc9PzR40461aNmMX84aQdEJwGde7P6i4Jc1rVOR0VoeFps9TPnLQXeZbmH2JKUPY8NWn4AgZfVduXfxueuUKVhHQsdNjqj0hA5CU1HVveelTtoANeMzmmLJgnSA/ScMg8QNpuxkgNXlD6Bj9ngbLgzTVf5TqX+qyN3oHeGC67MHqsle/clvSZYF4Ll3WTMGiLgv0c+hyOx5elwW2LV1WkdC6LPCgdVlFQemyZ0OXKwikLlcQKF2uANC6XIFs6XINtKbLniVdbnDgdVmHBNdlHRRCl3UcYF3WIe3ocoMMqcsNGLAuN3i2dLkDDKnLDSyILnuWdLnmwOtyzQLW5RpkQZdrmDVdrpFWdVmDHaLLCX9Po6Ok9mkEhC4/J0PpshRvRZdV4hl0uW0KdnRZpVvW5R48qC6rbAu6rEUC6rLKA9RlLQpAlwUOnC7LECBdliEAuiwDAHVZBlnQZQVoQ5cFJKgu6zmgutyKhNTlVujEutzKgdPlViS4LuvJQLqsh8Hpsp5nQZf7wEC6rMdOrcsCBVSXFQ6oLissOF1WQLC6rMBs6LKCtKXLbdh2Xeaf/2EulyDALQAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 4bf1a17..397916f 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAE9Vd32/jNhL+X9xX1/WQlCjt0x0OPVyBw7VoD324YBGkibsN6rVzjrNtb7H/+0m2KPHHjESJw7R96SaxOfyG+mbI4Xx2P65Ox1+eV29uPq5+fjw8rN6I9epw9363erP6yw8vh8Nvm8Pu/MXu4d3u+f70+HT+/Pnh5y+2G4ANrNarl9O+eeP748PLfvf8xe1lwG0z4HYYcNsMuN3eAtzC5qfz+30z6n5/9/y8ayZdrT6tzbyqn7cZP9908wpifr16ujvtDucYbzAoP53PT0uxnJ/SALWvWKDEttZQDE/n69Pju8fDt7v/vuyez387Hs67X4dlO//2NAsoZiwd/cW25UJZFLLsHbi9bVHyQ/6sN5yIHJ3Ccge2YmDK6fqubO5shglyuLXpFm2ab89Px8PzjotwjrU/CeNCzPyUc1c5M+dIhzKQzp0rYJ3n3/XdWR3sp3glD/24+uZlv//P8bD7x93hYb87LfbVs/MHjyUMLV8U+WtK8Ot4cFJhDmc24RzMzoUMe60H5fvWIfkcsjkZrObkg01MIHHes6WQP+KjvTpnnq18jWfbrWd0zvz66fzYjOBaiM7cnyuD2qCzJVKz0ETYtY7kc2dzNZ/Hpel9+rvd6UPyJm0b4ecXCvnEgvn05zhWhFj5YsFdTcuBIQCe27f04H98OdxfyDXDgYuFDIvsYTRBkI7VWOLHPEB+XHgH85j3BubLw8v73enuvIiuDbZ+PMPaPY7lga+++aAWYmyH5ob37d3h3dI1vIzlBmhFy/n43fn0eHi3NFAaiMZETpSn3765Oz3v/n46vk/HGxjjRm4lo+P9z7vzXx8eTssifBjPGukDQCtwlgJjCSBroUb2+/5N3y+Kdxe0bY3Vg8Z4hv1/AjzLOYCegzoS357v3uXzZtOZz+LSxOWctSnz+3Ux/nt49XQ8LboHivSrM/9KnpXo05q5I7gTchyp6FRAPIckxK2l18HcbJzpG7AL3jGZ0QsQ1XBaPHy42z8+OJtyN+VsFyxbuTbBAoYN8L5Z5vPp5f585If+mWuc5yHYa03tIO9e7k4P/O70dnN6Iraqos/SbL5YlvN64563/nV0gmTZdnE1kis6MpyuLMDch6puQfOdpULsvEeozv70ZWJY9yxzaDD0+kXGl6fTkQ//xVq2MLBOQs9WcbR8c27N5EJrHSnuF159NQOz3n39+/7pn4/P591h2cVyC88ywbCQ7Urxpz0MJ0vS8wxzp7wR3AwJz7c+XlLdLcxyYz50NnP6YKWMH9o/LEwZ7TzteH6K2ykNC8cFQB1DORGnXqu2YBnvVUmcL82R/+6H/e52f7y/2986VF4AGTH3KugPu19YYDd22PFG643F3J1Q5NMbi65htXwpBJve2GBJ1BuLiR0/XW9sAWXXGw+2WU8BMZATzwMTU7BqP2e4kyr9nJrqNfTGCAY+vfHrMY5dbzw1R27OZdMbT86VQ28808E0seB8D1n1xtb0nHrj/LGUQW9MW8+iN45zhktvPDJbBlHqMt+S9caTTr6O3ni292wp5I/4aJn0xnOe7avojWlAHHrjV8+gjHrjyUnY9Maz3EnRG09PlFFvbE3OpjdG+cWoN/Yxs+iN8wcFu96Yss2qN7YmSdcb44vMpjf2sbLojVHMKXrjq8FEcczUDcxCvXGPjUdvbMyx6o17jMl64wh4C/TGPb50vTECkOVivIfIci8+gZJBbzzg5dUbI8g59MbCbwBzRnqK3jgAxhJAmfXGGGg2vTFiPMP+n1dvPDUHX8N4jjdJvePJiXj1xrP8Wq43TvRqvt54ll8peuP5niXqjbEJOY5U+fTGGOJkvXE05kS9MQaeT2887gWT3jiYhEtvPLIJMumNJ6Fz6I3HJuHVG0+7k6Y3jvSERW887Uuq3jjam3S9cTAVg954JDoynK749MaE6YxnKWa9MWU/m944mJBJb7yoyFigNx7Bn643HguDVL1xADxZbzyCNklvfLWbqjeeuvtarDce4HFJG3uLGdJeBr0xapg75eXSG+PWufXG0z6k6I0jfUjWGw/zJOuNUYqz6Y0HoHx64wnEqdeqbHrjCZwseuMBMrfeOBb9Ir0xAjtVb4zhjdEb7+/Otj5neie8DsiiN+5MH5brjTtvGPTGDpbleuPBTC69sQ+UU2/s2eY6BURDXn4eiJmCS/s5150E6WfUVJn1xhQGFr3xKzOOU28cNUduzuXQG8fNxaw3XuLgYrHgQg+59Mb+9Ex641eKJV698YR1br3xDGcY9MZTs/GKUhN8S9EbxzmZXW+8zHu2FPJHfLTpeuPZzza33ngCUKLe+PfJoDx647hJOPTG891ZqDeOnCiP3tifnENvTPOLR2+MYk7VG79SUHDqjUdtc+mN/UmS9MYji8yhN0axpuqNacwL9caWweXimKgbmPl6Yxdbst7YMcelN3YxpuiNY+HN0xu7+JL0xhTA1ItxF2LqvXgMyjS9sYeXTW9MIU/UG1tm0/XGaKQv1BvjwFgCKJ/emATNoTemjGfY/7PpjaPmYGkYz/Zmae84biI2vfF8vxbpjTm8mqU3nu/XQr3xQs+W643JCTmOVFn0xiTiFL3xPMzL9cYkeBa9cYQX6XpjfBIGvfHUJpiuN46Dnqg3npyETW8c6c5ivfEcT1L1xpG+JOiN53mTpDfGp0rTG09FR4bTFYveeMx0xrMUn9541H4OvTE+YbreeHmRMU9vPIU/SW88GQYJemMceIreeArtUr2xZTdBbxx197VEb+zBY5A2uhYzpD1evTFtmDvlZdAbj1hn1BtH+rBQbzzHhxS9sTdPit6YpjiH3tgDyqI3jkGceq3KoTeOwZmqN/YgM+qNZ6GfqzemYCfojX28b9erBu7u19Wbj6sPu9Nzg6gZLzZyUzcGf3zc7R8a4zdXV5rpju/ft1OsVw/H+5fLj2+7t32/a0uy9s3Xd3+xXa1vtmtRbYSGNayl2kgl3r5d3xgrl3dc/mCMDX+5WIDmN7GW9UYL5QyEYCA4A0Xzm8QGimCgcAbK5jeFDZTBQOkMbM4yN8Ua9KYWlTNQBQOVM7BofivXUm5U7S5OEQwsnIFl85vGoJbBwNIZqCmoOhionYEVBbUKBlbOwIZKNxUGtQ4G1i4BWj7UKANC7oBHHqD8BIQ+Ln+gZQVs0YlDCoHLIZDkxCGLwKURtOQAQCcOmQQulaAgJw7JBC6boOUI4MEWEgpcRgFJKQg5BS6poKUKoMEKIa/AJRa0dAE0YCHkFrjkEi1foEDTRMgu4bJLkOwSIbuEl50u7CrRiZEE5bJLtIQBNPBFSC/h0ktc6FWtRb0pNbiDQ3oJl16iZQyg0ShCfgmXX6JljEAjSoT8Ei6/REsZgUaFCAkmXIKJljJCoD6HBBMuwURLGYFvJSHBhEsw2VKmOYEjGVOGBJMuweRl80PZKUOGSZdhsuWMQBkmQ4ZJbw8k85dEdkGXYLKljNDYYsuQYNIlmCxIdsqQYNIlmLwQrEIXOySYdAkmNT1zSDDpEkxW9MwhwaRLMHkhGBpUMiSYdAmmWspINKhUSDDlEky1lJFoUKmQYMolmLqcsNDtQoUEUy7BlCQjUoUMU95Bq+WMRCNSIWctl2GK3CFVSDDlEkyVJLVVSDDlEkxpMhWokGDKJZhqKSPRXU6FBFMuwVRLGYnmERUSTLkEKy4EQ/NIERKscAlWXAiG7lRFSLDCJVghqCdVhPwqXH4VknxSRcivwuVXceEXelotQn4V3mG+pYxEo7lAzvMuwYqWMgqN5iIkWOESrNBkTBUhwQqXYEVLGYWmgiIkWOESrGgpo9BUUIQEK1yClU6RqCRWJZYh00qXaSVZKJYh0UqXaCVZK5Yh0UqXaCVZLpYhz0qXZyVZMZYhzUqXZiVZNJYhy0qvbKTrRqRwdElWkuf8MuRY6XKsJKvHMqRY6VKsJAvIMmRY6TJMkyWkDnmlXV5p8pCvQ15pl1eaLiF1SCztEkuTRzAdEku7xNJ0CalDZmmXWZrcIHXILO0yS9MlpA6ppb1LCfpWArmWcKml6RJSh9zSLrc0XULqkFzaJVdFl5BVyK7KZVdFsqsK2VW57KroErIK2VW57KroErIK6VW59KroErIK6VW59KroErIK+VW5/KroErIK+VW5/KroErIKCVZ5F190CVkhd18uwSq6hKxCglUuwWq6hKxDgtUuwWq6hKxDhtUuw2q6hKxDhtUuw2oyf9UhwWqXYDVdQtYhwWqXYDVdQtYhwWqXYDVdQtYhwWqXYDVdQtYhwWqXYDVdQtYhwWrvdpUuIWvkgtW/YaVryOtr7nDrb914uoy8vuaP925at3QleX3NH+9dtm7pYvL6mj/eu3Dd0vXk9TV/vHfnuqUvXbfIrevWu3bd0lXl9TV/vHfzuqULy+tr/njv9nVL15bX1/zx3gXsli4vr6/54z36AV1hAnbHH1zy00UmoPf8Hv2ArDMBu+n3r/qBLjUBu+33r/uBrjYBu/D3b/yBLjgBu/T3b/2BrjkBu/f3L/6BLjsBu/v3L/+BrjwBu/737/+BLj4B6wB4LQAQbv2psPoTkG4AeO0AEHSvEmkIgNcRAEFWoYC0BMDrCYAgC1FAmgLgdQVAkLUoIG0B8PoCIMhyFJDGAHidARBkRQpIawC83gAIuvmENAfA6w6AIOtSQNoD4PUHQJClKSANAvA6BCDpBifSIgCvRwCS7nEiTQLwugQgR9qcSJ8AvEYB0J0CQFoF4PUKQI40O5FuAXjtApD01ov0C8BrGIAcaXkiLQPwegYgaeIhTQPwugYgRxqfSN8AvMYByJHeJ9I6AK93AIquXQHpHoDXPgBFcw/pH4DXQABFV7CAtBDA6yGAootYQLoI4LURQNF1LCCNBPA6CaDoUhaQZgJ43QRQdDULSD8BvIYCKLqgBaSlAF5PARRd0wLSVQCvrQCKLmsBaSyA11mAgq5sAektgNdcgIIubgFpL4DXX4CCrm8BaTGA12OAgs59SJMBvC4DFHSVC0ifAbxGAxR0oQtIqwG8XgMUdK0LSLcBvHYDFHS5C0jDAbyOAxR0xQtIzwG8pgMUdNELSNsBvL4DlCNlL9JwAK/jAOVI2Ys0HcDrOkA5UvYijQfwOg9QjpS9SPMBvO4DlCNlL9KAAK8DASW99yI9CPCaEFCOlL1IHwK8RgSUI2Uv0osArxkB5UjZi/QjwGtIQDlS9iI9CfCaEqBHyl6kLwFeYwL0SNmL9CbAa06ApstepDsBXnsC9EjZi3QowGtRgB4pe5EmBXhdCtAjZS/SqACvUwF6pOxFehXgNStAj5S9SL8CvIYF6JGyF2lZgNezAD1S9iJdC/O3i9j3w+503j18dRX93tz0n8r4uLrtlMCFUS5/XKnmP5/WK339B6D7V3b/Ft2/3euie112r6vu9WbvvPxbdubK7v26e7/u3q+79+vu9ap7vTbzbc2E0Flsa9HuB4NR9iDNKGlGSfMeZd5TmPeUvSsXy58GqfPlz2YpL6+1a2s+tjmsmhTWshl4W/NDGWn28qGQwWgTY71R2bnanASvq9phr80SbEuzOv3zMS+V5qXrUk/iuCrsLeeqAUdvFMwPWkUZvX5+wzJaW0b7J9s/iCLOKKJ0tyfZDnNsO/ZtDWW2UTM4Hzi20IP1vA2ftuaHEqJs74bvLhosg7UuoluOyiyLiluW6zdmW2gtk90y9CEUR83H62dxA2ZYC6zMym7ND2XcEj86WMEim4lvE8MmhKvu73X397oPbUPKnlGFjsTQfsmMFXqWY6ILn8qE0TUGp20+n++f9v0nggbjyjJe9GHbB2msdRextBN3bR6F+aGso4y2nze0V2Ew2VG7NBQXcRQ/HAPKWGTsH9e2T1VxyeR4OF6+prL/amSLP9bimo1CG7bLOLYP5s23ilr2rcg3OVAb+DISvg3+3nyLt0UQK+93626SuohL4S5+ZApra+mI1+8SIo6A128HschiBa7sbMmqC9Du97oyYWkmK6q4yV72+/8dD7ufzPcoDvNa+RK6zKNNBpJxGcizfjRfZWo9dTsUOuza+CDjFux0/Yo1a8UsKpkTTNWnsrjEhURAaWWXzmj3hLtfS/MUzP7SXmzHTRbGg/XUu2RTmqQj4pJO/3/CAGfFva073oxwQslKN5H7kf0/17AMKTuvRFq6fhWl5ZT1bESXlCqTnFRccroYReIAbIDdI9DmUcjIR9HaNtHgGLfyhehyUWVykorLSRfjJwy5tXWJLnQrE8Iqcqkvn+H3NxthZ9LOouoirO7PKybkiv7gEhd7w5y767cwWLucNbEy4bY1P5Rx4TbY9w4nFotkx57asKiIY9HlSw0svHbSMMtg0inouGdAHHekxZ3CnB/6alLHHSTOx+fuw8rWOlhJWXRrqzpSFiaf9otv2Ap9hu0fh3lJxz338+m3H0/H9wggay+SXejVJgSLuBBsjD+13/xIzGAf5TvLlZlBxc2Afp7aSnRW5i3MEoH5QcdR1/3Us2XcemSFwW2yFehIB9rvoLbSh7UmBqc2eGUcXi/ArIRkbhTq/tYggrBv16unx6fd/rHJom9u3n769H8q+WzewsIAAA=="; \ No newline at end of file diff --git a/docs/classes/_bunny_net_edgescript_sdk_0_11_2.net.socketAddr.InvalidAddr.html b/docs/classes/_bunny_net_edgescript_sdk_0_11_2.net.socketAddr.InvalidAddr.html index e76463f..a8233f8 100644 --- a/docs/classes/_bunny_net_edgescript_sdk_0_11_2.net.socketAddr.InvalidAddr.html +++ b/docs/classes/_bunny_net_edgescript_sdk_0_11_2.net.socketAddr.InvalidAddr.html @@ -8,7 +8,7 @@ stackTraceLimit

Methods

Constructors

Properties

_guard: Symbol = addr_symbol
cause?: unknown
message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

+

Constructors

Properties

_guard: symbol = addr_symbol
cause?: unknown
message: string
name: string
stack?: string
prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

Optional override for formatting stack traces

stackTraceLimit: number

Methods

  • Returns a string representation of an object.

    Returns string

  • Create .stack property on a target object

    diff --git a/docs/classes/_bunny_net_edgescript_sdk_latest.net.socketAddr.InvalidAddr.html b/docs/classes/_bunny_net_edgescript_sdk_latest.net.socketAddr.InvalidAddr.html new file mode 100644 index 0000000..56b2392 --- /dev/null +++ b/docs/classes/_bunny_net_edgescript_sdk_latest.net.socketAddr.InvalidAddr.html @@ -0,0 +1,15 @@ +InvalidAddr | Edge Script SDK Documentation

    Hierarchy

    • Error
      • InvalidAddr

    Constructors

    Properties

    _guard: symbol = addr_symbol
    cause?: unknown
    message: string
    name: string
    stack?: string
    prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)

    Optional override for formatting stack traces

    +
    stackTraceLimit: number

    Methods

    • Returns a string representation of an object.

      +

      Returns string

    • Create .stack property on a target object

      +

      Parameters

      • targetObject: object
      • OptionalconstructorOpt: Function

      Returns void

    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.http.serve.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.http.serve.html new file mode 100644 index 0000000..98b6412 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.http.serve.html @@ -0,0 +1,2 @@ +serve | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.http.servePullZone.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.http.servePullZone.html new file mode 100644 index 0000000..b0e5b89 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.http.servePullZone.html @@ -0,0 +1,4 @@ +servePullZone | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.toString.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.toString.html new file mode 100644 index 0000000..e8e42d6 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.toString.html @@ -0,0 +1 @@ +toString | Edge Script SDK Documentation
    • Parameters

      Returns string

    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.tryParseFromString.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.tryParseFromString.html new file mode 100644 index 0000000..c8ce0e3 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.ip.tryParseFromString.html @@ -0,0 +1,2 @@ +tryParseFromString | Edge Script SDK Documentation
    • Try to parse na IP

      +

      Parameters

      • ip: string

      Returns net.ip.IPv4 | SyntaxError

    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.isV4.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.isV4.html new file mode 100644 index 0000000..05654a1 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.isV4.html @@ -0,0 +1,2 @@ +isV4 | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.ip.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.ip.html new file mode 100644 index 0000000..939fee4 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.ip.html @@ -0,0 +1,2 @@ +ip | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.port.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.port.html new file mode 100644 index 0000000..80c9203 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.port.html @@ -0,0 +1,2 @@ +port | Edge Script SDK Documentation
    • Returns the port number associated with this socket address.

      +

      Parameters

      Returns number

    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.tryFromString.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.tryFromString.html new file mode 100644 index 0000000..087a2a6 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.tryFromString.html @@ -0,0 +1,2 @@ +tryFromString | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.bind.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.bind.html new file mode 100644 index 0000000..2cef439 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.bind.html @@ -0,0 +1,2 @@ +bind | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.isTcpListener.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.isTcpListener.html new file mode 100644 index 0000000..4292919 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.isTcpListener.html @@ -0,0 +1 @@ +isTcpListener | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.toString.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.toString.html new file mode 100644 index 0000000..5772716 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.toString.html @@ -0,0 +1,2 @@ +toString | Edge Script SDK Documentation
    • Format the associated [TcpListener] to a String

      +

      Parameters

      Returns string

    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_local_addr.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_local_addr.html new file mode 100644 index 0000000..3a327f4 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_local_addr.html @@ -0,0 +1,2 @@ +unstable_local_addr | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_new.html b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_new.html new file mode 100644 index 0000000..cf543c3 --- /dev/null +++ b/docs/functions/_bunny_net_edgescript_sdk_latest.net.tcp.unstable_new.html @@ -0,0 +1,2 @@ +unstable_new | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/images/bunny.png b/docs/images/bunny.png deleted file mode 100644 index 7187c74cd47b2e9257614b4191a23dbc6e17abd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92755 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 diff --git a/docs/index.html b/docs/index.html index ed3af59..4190297 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,33 +1,23 @@ Edge Script SDK Documentation

    Edge Script SDK Documentation

    -

    Bunny - edgescript-sdk

    This repository contains one library for now: the @bunny.net/edgescript-sdk -which is a little lib which intend to help you develop applications running -over Bunny.

    -

    We choose to run Bunny Scripts with a Deno modified runtime that leverage our -networks and products. To be able to also develop locally as if you were inside -the Bunny Network, we are creating a library which will help you leveraging your -prefered Javascript/Typescript environment locally and benefit from the Bunny -Network for your deployed script.

    +

    Bunny.net - edgescript-sdk

    This repository contains SDK to enable local development of Bunny.net Edge Scripting: @bunny.net/edgescript-sdk

    +

    Bunny.net Edge Scripting is built with a custom Deno runtime that runs on the Bunny.net Edge Scripting. +This SDK provides similar environment to Bunny.net Edge Scripting locally, +so that you can run and debug scripts in your local environment before publishing them.

    Even if the Bunny Runtime is very similar to the Deno & Node Runtime, some API -might differ or not being available due to the fact we leverage our network +might differ or not being available due to the fact we leverage our CDN and run scripts in a serverless environment.

    -

    We also have a roadmap and some items are just not priorized yet, if you want -to have those available, reach out to us any times!

    With @bunny.net/edgescript-sdk you can write a script which will work with Deno, with Node, and within our network.

    import * as BunnySDK from "@bunny.net/edgescript-sdk";

    function sleep(ms: number): Promise<void> {
    return new Promise((resolve) => setTimeout(resolve, ms));
    }

    console.log("Starting server...");

    BunnySDK.net.http.serve({ port: 8080, hostname: '127.0.0.1' }, async (req) => {
    console.log(`[INFO]: ${req.method} - ${req.url}`);
    await sleep(1);
    return new Response("blbl");
    });
    -

    If you execute this code on a deployed Bunny Script, the serve function will -always be used to allow requests that goes from your PullZone (let's assume you -have https://domain-test.b-cdn.net as a PullZone).

    -

    In this case, every curl request to https://domain-test.b-cdn.net will be -redirect to the associated Bunny Script.

    -

    You have a full list of examples in the example folder you can -use.

    -
    \ No newline at end of file +

    If you execute this code on a deployed Bunny.net Edge Scripting script, the serve function will +be used to execute requests on a connected PullZone.

    +

    Full list of examples is in the example folder.

    +
    \ No newline at end of file diff --git a/docs/media/example/deno-middleware-http/package.json b/docs/media/example/deno-middleware-http/package.json index 6ca1148..a91f378 100644 --- a/docs/media/example/deno-middleware-http/package.json +++ b/docs/media/example/deno-middleware-http/package.json @@ -21,5 +21,8 @@ "dev": "deno run src/main.ts", "release": "echo \"No release\"" }, + "dependencies": { + "@bunny.net/edgescript-sdk": "^0.11.0" + }, "devDependencies": {} } diff --git a/docs/media/example/deno-middleware-http/src/main.ts b/docs/media/example/deno-middleware-http/src/main.ts index 56742fb..8bce624 100644 --- a/docs/media/example/deno-middleware-http/src/main.ts +++ b/docs/media/example/deno-middleware-http/src/main.ts @@ -6,14 +6,12 @@ function sleep(ms: number): Promise { console.log("Starting server..."); -BunnySDK.net.http.servePullZone({ url: "https://perdu.com/" }).onOriginRequest( - async (ctx) => { - const req = ctx.request; - console.log(`[INFO]: ${req.method} - ${req.url}`); - await sleep(1); - return ctx.request; - }, -).onOriginResponse(async (ctx) => { +BunnySDK.net.http.servePullZone({ url: "https://perdu.com/" }).onOriginRequest(async (ctx) => { + const req = ctx.request; + console.log(`[INFO]: ${req.method} - ${req.url}`); + await sleep(1); + return ctx.request; +}).onOriginResponse(async (ctx) => { const res = ctx.response; console.log(`[INFO]: ${res.status}`); await sleep(1); diff --git a/docs/modules/_bunny_net_edgescript_sdk_0_11_2.html b/docs/modules/_bunny_net_edgescript_sdk_0_11_2.html index bc5cd34..880955f 100644 --- a/docs/modules/_bunny_net_edgescript_sdk_0_11_2.html +++ b/docs/modules/_bunny_net_edgescript_sdk_0_11_2.html @@ -1,4 +1,4 @@ -@bunny.net/edgescript-sdk/0.11.2 - v0.11.2 | Edge Script SDK Documentation

    Module @bunny.net/edgescript-sdk/0.11.2 - v0.11.2

    @bunny.net/edge-script-sdk


    +@bunny.net/edgescript-sdk/0.11.2 | Edge Script SDK Documentation

    @bunny.net/edge-script-sdk


    The @bunny.net/edge-script-sdk

    Index

    Namespaces

    \ No newline at end of file diff --git a/docs/modules/_bunny_net_edgescript_sdk_0_11_2.net.html b/docs/modules/_bunny_net_edgescript_sdk_0_11_2.net.html index a96c760..fcd781e 100644 --- a/docs/modules/_bunny_net_edgescript_sdk_0_11_2.net.html +++ b/docs/modules/_bunny_net_edgescript_sdk_0_11_2.net.html @@ -1,4 +1,5 @@ -net | Edge Script SDK Documentation

    Index

    Namespaces

    http +net | Edge Script SDK Documentation

    Docs for net module

    +

    Index

    Namespaces

    http ip socketAddr tcp diff --git a/docs/modules/_bunny_net_edgescript_sdk_latest.html b/docs/modules/_bunny_net_edgescript_sdk_latest.html new file mode 100644 index 0000000..1c91491 --- /dev/null +++ b/docs/modules/_bunny_net_edgescript_sdk_latest.html @@ -0,0 +1,4 @@ +@bunny.net/edgescript-sdk/latest - v0.11.2 | Edge Script SDK Documentation

    Module @bunny.net/edgescript-sdk/latest - v0.11.2

    @bunny.net/edge-script-sdk


    +

    The @bunny.net/edge-script-sdk

    +

    Index

    Namespaces

    net +
    \ No newline at end of file diff --git a/docs/modules/_bunny_net_edgescript_sdk_latest.net.html b/docs/modules/_bunny_net_edgescript_sdk_latest.net.html new file mode 100644 index 0000000..96e2c16 --- /dev/null +++ b/docs/modules/_bunny_net_edgescript_sdk_latest.net.html @@ -0,0 +1,6 @@ +net | Edge Script SDK Documentation

    Docs for net module

    +

    Index

    Namespaces

    \ No newline at end of file diff --git a/docs/modules/_bunny_net_edgescript_sdk_latest.net.http.html b/docs/modules/_bunny_net_edgescript_sdk_latest.net.http.html new file mode 100644 index 0000000..39f88a7 --- /dev/null +++ b/docs/modules/_bunny_net_edgescript_sdk_latest.net.http.html @@ -0,0 +1,9 @@ +http | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/modules/_bunny_net_edgescript_sdk_latest.net.ip.html b/docs/modules/_bunny_net_edgescript_sdk_latest.net.ip.html new file mode 100644 index 0000000..53cf669 --- /dev/null +++ b/docs/modules/_bunny_net_edgescript_sdk_latest.net.ip.html @@ -0,0 +1,6 @@ +ip | Edge Script SDK Documentation

    Index

    Type Aliases

    Functions

    \ No newline at end of file diff --git a/docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.html b/docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.html new file mode 100644 index 0000000..67c3b73 --- /dev/null +++ b/docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.html @@ -0,0 +1,7 @@ +socketAddr | Edge Script SDK Documentation

    Index

    Namespaces

    v4 +

    Classes

    Type Aliases

    Functions

    \ No newline at end of file diff --git a/docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.html b/docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.html new file mode 100644 index 0000000..20285c1 --- /dev/null +++ b/docs/modules/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.html @@ -0,0 +1,5 @@ +v4 | Edge Script SDK Documentation

    Index

    Type Aliases

    Functions

    \ No newline at end of file diff --git a/docs/modules/_bunny_net_edgescript_sdk_latest.net.tcp.html b/docs/modules/_bunny_net_edgescript_sdk_latest.net.tcp.html new file mode 100644 index 0000000..df11c54 --- /dev/null +++ b/docs/modules/_bunny_net_edgescript_sdk_latest.net.tcp.html @@ -0,0 +1,7 @@ +tcp | Edge Script SDK Documentation

    Index

    Type Aliases

    Functions

    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginRequestContext.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginRequestContext.html new file mode 100644 index 0000000..9eff51d --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginRequestContext.html @@ -0,0 +1 @@ +OriginRequestContext | Edge Script SDK Documentation
    OriginRequestContext: {
        request: Request;
    }
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginResponseContext.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginResponseContext.html new file mode 100644 index 0000000..2a2eae9 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.OriginResponseContext.html @@ -0,0 +1 @@ +OriginResponseContext | Edge Script SDK Documentation
    OriginResponseContext: {
        request: Request;
        response: Response;
    }
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandler.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandler.html new file mode 100644 index 0000000..0017fd6 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandler.html @@ -0,0 +1,3 @@ +PullZoneHandler | Edge Script SDK Documentation
    PullZoneHandler: {
        onOriginRequest: ((middleware: ((ctx: net.http.OriginRequestContext) => Promise<Request> | Promise<Response>)) => net.http.PullZoneHandler);
        onOriginResponse: ((middleware: ((ctx: net.http.OriginResponseContext) => Promise<Response>)) => net.http.PullZoneHandler);
    }

    Type declaration

    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandlerOptions.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandlerOptions.html new file mode 100644 index 0000000..a6547e9 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.PullZoneHandlerOptions.html @@ -0,0 +1 @@ +PullZoneHandlerOptions | Edge Script SDK Documentation
    PullZoneHandlerOptions: {
        url: string;
    }
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServeHandler.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServeHandler.html new file mode 100644 index 0000000..c59e1e2 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServeHandler.html @@ -0,0 +1 @@ +ServeHandler | Edge Script SDK Documentation
    ServeHandler: {} & unknown
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServerHandler.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServerHandler.html new file mode 100644 index 0000000..8313aa7 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.http.ServerHandler.html @@ -0,0 +1,3 @@ +ServerHandler | Edge Script SDK Documentation
    ServerHandler: ((request: Request) => Response | Promise<Response>)

    A handler for HTTP Requests. +Consumes a request and return a response.

    +
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Enumerate.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Enumerate.html new file mode 100644 index 0000000..6c992e5 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Enumerate.html @@ -0,0 +1 @@ +Enumerate | Edge Script SDK Documentation
    Enumerate<N, Acc>: Acc["length"] extends N
        ? Acc[number]
        : net.ip.Enumerate<N, [...Acc, Acc["length"]]>

    Type Parameters

    • N extends number
    • Acc extends number[] = []
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.IPv4.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.IPv4.html new file mode 100644 index 0000000..9b604ee --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.IPv4.html @@ -0,0 +1 @@ +IPv4 | Edge Script SDK Documentation
    IPv4: [net.ip.Range<0, 255>, net.ip.Range<0, 255>, net.ip.Range<0, 255>, net.ip.Range<0, 255>]
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Range.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Range.html new file mode 100644 index 0000000..810f45c --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.ip.Range.html @@ -0,0 +1 @@ +Range | Edge Script SDK Documentation
    Range<F, T>: Exclude<net.ip.Enumerate<T>, net.ip.Enumerate<F>> | T

    Type Parameters

    • F extends number
    • T extends number
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.NoAddr.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.NoAddr.html new file mode 100644 index 0000000..804c510 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.NoAddr.html @@ -0,0 +1 @@ +NoAddr | Edge Script SDK Documentation
    NoAddr: {
        _tag: "NoAddr";
    }
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddr.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddr.html new file mode 100644 index 0000000..c71802c --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddr.html @@ -0,0 +1 @@ +SocketAddr | Edge Script SDK Documentation
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddrError.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddrError.html new file mode 100644 index 0000000..e31ba09 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.SocketAddrError.html @@ -0,0 +1 @@ +SocketAddrError | Edge Script SDK Documentation
    SocketAddrError: net.socketAddr.InvalidAddr
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.SocketAddrV4.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.SocketAddrV4.html new file mode 100644 index 0000000..5f71781 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.socketAddr.v4.SocketAddrV4.html @@ -0,0 +1 @@ +SocketAddrV4 | Edge Script SDK Documentation
    SocketAddrV4: {
        _tag: "SocketAddrV4";
        ip: net.ip.IPv4;
        port: number;
    }
    \ No newline at end of file diff --git a/docs/types/_bunny_net_edgescript_sdk_latest.net.tcp.TcpListener.html b/docs/types/_bunny_net_edgescript_sdk_latest.net.tcp.TcpListener.html new file mode 100644 index 0000000..30bab68 --- /dev/null +++ b/docs/types/_bunny_net_edgescript_sdk_latest.net.tcp.TcpListener.html @@ -0,0 +1,2 @@ +TcpListener | Edge Script SDK Documentation
    TcpListener: {
        _tag: "TcpListener";
        addr: net.socketAddr.SocketAddr;
    }

    Type declaration

    \ No newline at end of file diff --git a/scripts/build-doc.sh b/scripts/build-doc.sh index d237fff..2010e51 100755 --- a/scripts/build-doc.sh +++ b/scripts/build-doc.sh @@ -5,7 +5,8 @@ cd "$repo_base" echo "Creating doc for bunny-sdk" cd libs/bunny-sdk/ -npx typedoc --json ../../docs-json/sdk-$(cat package.json | jq -r '.version').json --options typedoc.json --validation.invalidLink false --name $(cat package.json | jq -r '.name')/$(cat package.json | jq -r '.version') --includeVersion true +npx typedoc --json ../../docs-json/sdk-latest.json --options typedoc.json --validation.invalidLink false --name "$(cat package.json | jq -r '.name')/latest" --includeVersion true +npx typedoc --json ../../docs-json/sdk-$(cat package.json | jq -r '.version').json --options typedoc.json --validation.invalidLink false --name $(cat package.json | jq -r '.name')/$(cat package.json | jq -r '.version') --includeVersion false cd "$repo_base" npx typedoc --entryPointStrategy merge "docs-json/*.json"