spiceflow 0.0.7 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +1 -171
  2. package/dist/client/errors.d.ts +7 -0
  3. package/dist/client/errors.d.ts.map +1 -0
  4. package/dist/client/errors.js +18 -0
  5. package/dist/client/errors.js.map +1 -0
  6. package/dist/client/index.d.ts +14 -0
  7. package/dist/client/index.d.ts.map +1 -0
  8. package/dist/client/index.js +376 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/types.d.ts +87 -0
  11. package/dist/client/types.d.ts.map +1 -0
  12. package/dist/client/types.js +2 -0
  13. package/dist/client/types.js.map +1 -0
  14. package/dist/client/utils.d.ts +2 -0
  15. package/dist/client/utils.d.ts.map +1 -0
  16. package/dist/client/utils.js +9 -0
  17. package/dist/client/utils.js.map +1 -0
  18. package/dist/client/ws.d.ts +15 -0
  19. package/dist/client/ws.d.ts.map +1 -0
  20. package/dist/client/ws.js +51 -0
  21. package/dist/client/ws.js.map +1 -0
  22. package/dist/client.test.d.ts +2 -0
  23. package/dist/client.test.d.ts.map +1 -0
  24. package/dist/client.test.js +237 -0
  25. package/dist/client.test.js.map +1 -0
  26. package/dist/elysia-fork/context.d.ts +87 -0
  27. package/dist/elysia-fork/context.d.ts.map +1 -0
  28. package/dist/elysia-fork/context.js +2 -0
  29. package/dist/elysia-fork/context.js.map +1 -0
  30. package/dist/elysia-fork/error.d.ts +246 -0
  31. package/dist/elysia-fork/error.d.ts.map +1 -0
  32. package/dist/elysia-fork/error.js +195 -0
  33. package/dist/elysia-fork/error.js.map +1 -0
  34. package/dist/elysia-fork/types.d.ts +652 -0
  35. package/dist/elysia-fork/types.d.ts.map +1 -0
  36. package/dist/elysia-fork/types.js +3 -0
  37. package/dist/elysia-fork/types.js.map +1 -0
  38. package/dist/elysia-fork/utils.d.ts +134 -0
  39. package/dist/elysia-fork/utils.d.ts.map +1 -0
  40. package/dist/elysia-fork/utils.js +70 -0
  41. package/dist/elysia-fork/utils.js.map +1 -0
  42. package/dist/spiceflow.d.ts +253 -0
  43. package/dist/spiceflow.d.ts.map +1 -0
  44. package/dist/spiceflow.js +500 -0
  45. package/dist/spiceflow.js.map +1 -0
  46. package/dist/spiceflow.test.d.ts +2 -0
  47. package/dist/spiceflow.test.d.ts.map +1 -0
  48. package/dist/spiceflow.test.js +225 -0
  49. package/dist/spiceflow.test.js.map +1 -0
  50. package/dist/stream.test.d.ts +2 -0
  51. package/dist/stream.test.d.ts.map +1 -0
  52. package/dist/stream.test.js +286 -0
  53. package/dist/stream.test.js.map +1 -0
  54. package/dist/types.d.ts +1 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +2 -0
  57. package/dist/types.js.map +1 -0
  58. package/dist/utils.d.ts +4 -20
  59. package/dist/utils.d.ts.map +1 -1
  60. package/dist/utils.js +17 -46
  61. package/dist/utils.js.map +1 -1
  62. package/package.json +12 -36
  63. package/src/client/errors.ts +21 -0
  64. package/src/client/index.ts +539 -0
  65. package/src/client/types.ts +233 -0
  66. package/src/client/utils.ts +7 -0
  67. package/src/client/ws.ts +99 -0
  68. package/src/client.test.ts +235 -0
  69. package/src/elysia-fork/context.ts +196 -0
  70. package/src/elysia-fork/error.ts +293 -0
  71. package/src/elysia-fork/types.ts +1454 -0
  72. package/src/elysia-fork/utils.ts +85 -0
  73. package/src/spiceflow.test.ts +290 -0
  74. package/src/spiceflow.ts +1266 -0
  75. package/src/stream.test.ts +342 -0
  76. package/src/types.ts +0 -0
  77. package/src/utils.ts +21 -70
  78. package/context.d.ts +0 -2
  79. package/context.js +0 -1
  80. package/dist/babel.test.d.ts +0 -2
  81. package/dist/babel.test.d.ts.map +0 -1
  82. package/dist/babel.test.js +0 -27
  83. package/dist/babel.test.js.map +0 -1
  84. package/dist/babelDebugOutputs.d.ts +0 -9
  85. package/dist/babelDebugOutputs.d.ts.map +0 -1
  86. package/dist/babelDebugOutputs.js +0 -34
  87. package/dist/babelDebugOutputs.js.map +0 -1
  88. package/dist/babelTransformRpc.d.ts +0 -19
  89. package/dist/babelTransformRpc.d.ts.map +0 -1
  90. package/dist/babelTransformRpc.js +0 -285
  91. package/dist/babelTransformRpc.js.map +0 -1
  92. package/dist/browser.d.ts +0 -8
  93. package/dist/browser.d.ts.map +0 -1
  94. package/dist/browser.js +0 -126
  95. package/dist/browser.js.map +0 -1
  96. package/dist/build.d.ts +0 -13
  97. package/dist/build.d.ts.map +0 -1
  98. package/dist/build.js +0 -230
  99. package/dist/build.js.map +0 -1
  100. package/dist/cli.d.ts +0 -3
  101. package/dist/cli.d.ts.map +0 -1
  102. package/dist/cli.js +0 -111
  103. package/dist/cli.js.map +0 -1
  104. package/dist/context-internal.d.ts +0 -20
  105. package/dist/context-internal.d.ts.map +0 -1
  106. package/dist/context-internal.js +0 -16
  107. package/dist/context-internal.js.map +0 -1
  108. package/dist/context.d.ts +0 -2
  109. package/dist/context.d.ts.map +0 -1
  110. package/dist/context.js +0 -2
  111. package/dist/context.js.map +0 -1
  112. package/dist/expose.d.ts +0 -6
  113. package/dist/expose.d.ts.map +0 -1
  114. package/dist/expose.js +0 -32
  115. package/dist/expose.js.map +0 -1
  116. package/dist/headers.d.ts +0 -2
  117. package/dist/headers.d.ts.map +0 -1
  118. package/dist/headers.js +0 -18
  119. package/dist/headers.js.map +0 -1
  120. package/dist/index.d.ts +0 -8
  121. package/dist/index.d.ts.map +0 -1
  122. package/dist/index.js +0 -23
  123. package/dist/index.js.map +0 -1
  124. package/dist/jsonRpc.d.ts +0 -32
  125. package/dist/jsonRpc.d.ts.map +0 -1
  126. package/dist/jsonRpc.js +0 -3
  127. package/dist/jsonRpc.js.map +0 -1
  128. package/dist/server.d.ts +0 -32
  129. package/dist/server.d.ts.map +0 -1
  130. package/dist/server.js +0 -292
  131. package/dist/server.js.map +0 -1
  132. package/headers.d.ts +0 -2
  133. package/headers.js +0 -1
  134. package/sdk-template/package.json +0 -22
  135. package/sdk-template/src/index.ts +0 -2
  136. package/sdk-template/src/v1/example.ts +0 -5
  137. package/sdk-template/src/v1/generator.ts +0 -12
  138. package/sdk-template/tsconfig.json +0 -16
  139. package/src/babel.test.ts +0 -35
  140. package/src/babelDebugOutputs.ts +0 -56
  141. package/src/babelTransformRpc.ts +0 -394
  142. package/src/browser.ts +0 -141
  143. package/src/build.ts +0 -298
  144. package/src/cli.ts +0 -132
  145. package/src/context-internal.ts +0 -36
  146. package/src/context.ts +0 -5
  147. package/src/expose.ts +0 -34
  148. package/src/headers.ts +0 -19
  149. package/src/index.ts +0 -34
  150. package/src/jsonRpc.ts +0 -43
  151. package/src/server.ts +0 -384
package/dist/server.js DELETED
@@ -1,292 +0,0 @@
1
- var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
2
- var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
3
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
5
- return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
6
- function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
7
- function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
8
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
9
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
10
- function fulfill(value) { resume("next", value); }
11
- function reject(value) { resume("throw", value); }
12
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
13
- };
14
- import superjson from 'superjson';
15
- import { asyncLocalStorage } from './context-internal.js';
16
- import { jsonRpcError } from './utils.js';
17
- export function createRpcMethod(method, meta, customWrapRpcMethod) {
18
- let wrapped = method;
19
- if (typeof customWrapRpcMethod === 'function') {
20
- wrapped = customWrapRpcMethod(method, meta);
21
- if (typeof wrapped !== 'function') {
22
- throw new Error(`wrapMethod didn't return a function, got "${typeof wrapped}"`);
23
- }
24
- }
25
- else if (customWrapRpcMethod !== undefined &&
26
- customWrapRpcMethod !== null) {
27
- throw new Error(`Invalid wrapMethod type, expected "function", got "${typeof customWrapRpcMethod}"`);
28
- }
29
- return (...args) => wrapped(...args);
30
- }
31
- export function internalEdgeHandler({ methodsMap, }) {
32
- return async ({ req, basePath }) => {
33
- const body = await req.json();
34
- const res = new Response();
35
- const result = await asyncLocalStorage.run({ req, res }, () => handler({
36
- methodsMap,
37
- body,
38
- pathname: new URL(req.url).pathname,
39
- basePath,
40
- method: req.method,
41
- }));
42
- if (isAsyncGenerator(result)) {
43
- const encoder = new TextEncoder();
44
- let generatorFinished = false;
45
- req.signal.addEventListener('abort', () => {
46
- var _a;
47
- if (!generatorFinished) {
48
- console.log(`request aborted, cancelling generator`);
49
- (_a = result.return) === null || _a === void 0 ? void 0 : _a.call(result, undefined);
50
- }
51
- });
52
- const readableStream = new ReadableStream({
53
- start(controller) { },
54
- async pull(controller) {
55
- while (true) {
56
- const { done, value } = await result.next();
57
- if (done) {
58
- break;
59
- }
60
- controller.enqueue(encoder.encode('data: ' + JSON.stringify(value.json) + '\n\n'));
61
- }
62
- generatorFinished = true;
63
- controller.close();
64
- },
65
- cancel() { },
66
- });
67
- return new Response(readableStream, {
68
- headers: {
69
- 'content-type': 'text/event-stream',
70
- 'cache-control': 'no-cache',
71
- connection: 'keep-alive',
72
- },
73
- });
74
- }
75
- const { status, json } = result;
76
- return new Response(JSON.stringify(json, null, 2), {
77
- status,
78
- headers: (res === null || res === void 0 ? void 0 : res.headers) || {
79
- 'content-type': 'application/json',
80
- },
81
- });
82
- };
83
- }
84
- export function internalNodeJsHandler({ methodsMap, }) {
85
- return async ({ req, res, basePath, }) => {
86
- let body = req['body'];
87
- if (body && typeof body === 'string') {
88
- // if the sdk send a request without content-type header as json, it will be a string
89
- body = JSON.parse(body);
90
- }
91
- if (!body) {
92
- // if used outside of next.js, the body is not available
93
- try {
94
- body = await readReqJson(req);
95
- }
96
- catch (error) {
97
- res.writeHead(400);
98
- res.end(JSON.stringify(jsonRpcError({ message: 'Invalid body, must be JSON' })));
99
- return;
100
- }
101
- }
102
- const result = await asyncLocalStorage.run({ req, res }, () => handler({
103
- methodsMap,
104
- body,
105
- basePath,
106
- pathname: req.url,
107
- method: req.method,
108
- }));
109
- if (isAsyncGenerator(result)) {
110
- res.writeHead(200, {
111
- 'content-type': 'text/event-stream',
112
- 'cache-control': 'no-cache',
113
- connection: 'keep-alive',
114
- // https://github.com/vercel/next.js/issues/9965#issuecomment-584319868
115
- 'content-encoding': 'none',
116
- });
117
- let generatorFinished = false;
118
- // handle cancellation
119
- res.on('close', () => {
120
- var _a, _b;
121
- if (!generatorFinished) {
122
- console.log(`response closed, cancelling generator`);
123
- (_b = (_a = result).return) === null || _b === void 0 ? void 0 : _b.call(_a);
124
- }
125
- });
126
- while (true) {
127
- const { done, value } = await result.next();
128
- if (done) {
129
- break;
130
- }
131
- res.write('data: ' + JSON.stringify(value.json) + '\n\n');
132
- }
133
- generatorFinished = true;
134
- res.end();
135
- return;
136
- }
137
- const { status, json } = result;
138
- res.writeHead(status || 200).end(JSON.stringify(json, null, 2));
139
- };
140
- }
141
- function isAsyncGenerator(obj) {
142
- return obj != null && typeof obj.next === 'function';
143
- }
144
- const handler = async ({ method, methodsMap, basePath, body, pathname, }) => {
145
- if (!methodsMap) {
146
- throw new Error('No methods found');
147
- }
148
- if (basePath && pathname.startsWith(basePath)) {
149
- if (basePath.endsWith('/')) {
150
- basePath = basePath.slice(0, -1);
151
- }
152
- pathname = pathname.slice(basePath.length);
153
- }
154
- if (method !== 'POST') {
155
- return {
156
- status: 405,
157
- json: {
158
- jsonrpc: '2.0',
159
- id: null,
160
- error: {
161
- code: -32001,
162
- message: 'Server error',
163
- data: {
164
- cause: `HTTP method "${method}" is not allowed`,
165
- },
166
- },
167
- },
168
- };
169
- }
170
- const { id, method: fn, params, meta: argsMeta } = body;
171
- const mod = methodsMap[pathname] && (await methodsMap[pathname]());
172
- if (!mod) {
173
- return {
174
- status: 400,
175
- json: {
176
- jsonrpc: '2.0',
177
- id,
178
- error: {
179
- code: -32601,
180
- message: 'Method not found',
181
- data: {
182
- cause: `Path "${pathname}" is not handled by any method`,
183
- },
184
- },
185
- },
186
- };
187
- }
188
- const requestedMethod = mod[fn];
189
- if (typeof requestedMethod !== 'function') {
190
- return {
191
- status: 400,
192
- json: {
193
- jsonrpc: '2.0',
194
- id,
195
- error: {
196
- code: -32601,
197
- message: 'Method not found',
198
- data: {
199
- cause: `Method "${fn}" is not a function, in ${Object.keys(mod).join(', ')}`,
200
- },
201
- },
202
- },
203
- };
204
- }
205
- try {
206
- const args = superjson.deserialize({
207
- json: params,
208
- meta: argsMeta,
209
- });
210
- const result = await requestedMethod(...args);
211
- if (!isAsyncGenerator(result)) {
212
- const { json, meta } = superjson.serialize(result);
213
- return {
214
- json: {
215
- jsonrpc: '2.0',
216
- id,
217
- result: json,
218
- meta,
219
- },
220
- };
221
- }
222
- return (function () {
223
- return __asyncGenerator(this, arguments, function* () {
224
- // send a response for each yielded value
225
- try {
226
- while (true) {
227
- const { done, value } = yield __await(result.next());
228
- if (done) {
229
- break;
230
- }
231
- const { json, meta } = superjson.serialize(value);
232
- yield yield __await({
233
- json: {
234
- jsonrpc: '2.0',
235
- id,
236
- result: json,
237
- meta,
238
- },
239
- });
240
- }
241
- }
242
- catch (error) {
243
- const { name = 'RpcError', message = `Invalid value thrown in "${method}", must be instance of Error`, stack = undefined, } = error instanceof Error ? error : {};
244
- return yield __await({
245
- json: {
246
- jsonrpc: '2.0',
247
- id,
248
- error: {
249
- code: 1,
250
- message,
251
- data: Object.assign({ name }, (process.env.NODE_ENV === 'production' ? {} : { stack })),
252
- },
253
- },
254
- });
255
- }
256
- });
257
- })();
258
- }
259
- catch (error) {
260
- const { name = 'RpcError', message = `Invalid value thrown in "${method}", must be instance of Error`, stack = undefined, } = error instanceof Error ? error : {};
261
- return {
262
- status: 502,
263
- json: {
264
- jsonrpc: '2.0',
265
- id,
266
- error: {
267
- code: 1,
268
- message,
269
- data: Object.assign({ name }, (process.env.NODE_ENV === 'production' ? {} : { stack })),
270
- },
271
- },
272
- };
273
- }
274
- };
275
- function readReqJson(req) {
276
- return new Promise((resolve, reject) => {
277
- let data = '';
278
- req.on('data', (chunk) => {
279
- data += chunk;
280
- });
281
- req.on('end', () => {
282
- try {
283
- const parsedData = JSON.parse(data);
284
- resolve(parsedData);
285
- }
286
- catch (error) {
287
- reject(error);
288
- }
289
- });
290
- });
291
- }
292
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/headers.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import * as headers from './dist/headers';
2
- export = headers;
package/headers.js DELETED
@@ -1 +0,0 @@
1
- export * from './dist/headers';
@@ -1,22 +0,0 @@
1
- {
2
- "name": "sdk-template",
3
- "version": "0.0.0",
4
- "description": "Spiceflow API template",
5
- "private": true,
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "type": "module",
9
- "files": [
10
- "dist",
11
- "README.md"
12
- ],
13
- "scripts": {
14
- "build": "spiceflow --url http://localhost:3333",
15
- "watch": "spiceflow --watch --url http://localhost:3333",
16
- "serve": "spiceflow serve --port 3333"
17
- },
18
- "dependencies": {
19
- "spiceflow": "workspace:*"
20
- },
21
- "devDependencies": {}
22
- }
@@ -1,2 +0,0 @@
1
- export * from './v1/example';
2
- export * from './v1/generator';
@@ -1,5 +0,0 @@
1
- "use spiceflow"
2
-
3
- export async function action({ }) {
4
- return 'hello';
5
- }
@@ -1,12 +0,0 @@
1
- "use spiceflow"
2
-
3
- export async function* generator() {
4
- for (let i = 0; i < 10; i++) {
5
- await sleep(300);
6
- yield { i };
7
- }
8
- }
9
-
10
- function sleep(ms: number) {
11
- return new Promise((resolve) => setTimeout(resolve, ms));
12
- }
@@ -1,16 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "rootDir": "src",
5
- "lib": ["dom", "dom.iterable", "esnext"],
6
- "skipLibCheck": true,
7
- "strict": true,
8
- "esModuleInterop": true,
9
- "module": "esnext",
10
- "moduleResolution": "node",
11
- "resolveJsonModule": true,
12
- "isolatedModules": true,
13
- "noImplicitAny": false
14
- },
15
- "exclude": ["node_modules", "dist", "scripts"]
16
- }
package/src/babel.test.ts DELETED
@@ -1,35 +0,0 @@
1
- import { test, expect, describe } from 'vitest';
2
- import { parseExpression } from '@babel/parser';
3
- import generate from '@babel/generator';
4
- import { exportDefaultDeclaration } from '@babel/types';
5
-
6
- // import { parseExpression } from './utils';
7
-
8
- test('parseExpression', () => {
9
- {
10
- const parsed = parseExpression(
11
- '{ "type": "StringLiteral", "value": "/api/actions-node" }',
12
- );
13
- const code = generate(parsed).code;
14
- expect(code).toMatchInlineSnapshot(`
15
- "{
16
- "type": "StringLiteral",
17
- "value": "/api/actions-node"
18
- }"
19
- `);
20
- }
21
- {
22
- const parsed = parseExpression('null');
23
- const code = generate(parsed).code;
24
- expect(code).toMatchInlineSnapshot(`"null"`);
25
- }
26
- {
27
- const parsed = parseExpression(
28
- `typeof wrapMethod === 'function' ? wrapMethod : undefined`,
29
- );
30
- const code = generate(parsed).code;
31
- expect(code).toMatchInlineSnapshot(
32
- `"typeof wrapMethod === 'function' ? wrapMethod : undefined"`,
33
- );
34
- }
35
- });
@@ -1,56 +0,0 @@
1
- import * as babel from '@babel/core';
2
- import generate from '@babel/generator';
3
- import * as types from '@babel/types';
4
- import fs from 'fs';
5
- import { PluginOptions } from './babelTransformRpc.js';
6
- import { default as nodePath, default as path } from 'path';
7
-
8
- import { getFileName, logger } from './utils.js';
9
-
10
- type Babel = { types: typeof types };
11
-
12
- let deletedDir = false;
13
-
14
- export default function debugOutputsPlugin(
15
- { types: t }: Babel,
16
- { isServer }: PluginOptions,
17
- ): babel.PluginObj | undefined {
18
- const cwd = process.cwd();
19
-
20
- if (!deletedDir) {
21
- deletedDir = true;
22
-
23
- fs.mkdirSync('./actions-outputs', { recursive: true });
24
- }
25
- return {
26
- visitor: {
27
- Program: {
28
- exit(program, state) {
29
- const filePath =
30
- getFileName(state) ?? nodePath.join('pages', 'Default.js');
31
-
32
- if (!process.env.DEBUG_ACTIONS) {
33
- return;
34
- }
35
-
36
- // stringify the AST and print it
37
- const output = generate(
38
- program.node,
39
- {
40
- /* options */
41
- },
42
- this.file.code,
43
- );
44
- let p = path.resolve(
45
- './actions-outputs',
46
- isServer ? 'server/' : 'client/',
47
- path.relative(cwd, path.resolve(filePath)),
48
- );
49
- logger.log(`${isServer ? 'server' : 'client'} plugin output:`, p);
50
- fs.mkdirSync(path.dirname(p), { recursive: true });
51
- fs.writeFileSync(p, output.code);
52
- },
53
- },
54
- },
55
- };
56
- }