spiceflow 0.0.7 → 1.0.1

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 +15 -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 +570 -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/index.d.ts +2 -7
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -22
  45. package/dist/index.js.map +1 -1
  46. package/dist/spiceflow.d.ts +237 -0
  47. package/dist/spiceflow.d.ts.map +1 -0
  48. package/dist/spiceflow.js +484 -0
  49. package/dist/spiceflow.js.map +1 -0
  50. package/dist/spiceflow.test.d.ts +2 -0
  51. package/dist/spiceflow.test.d.ts.map +1 -0
  52. package/dist/spiceflow.test.js +225 -0
  53. package/dist/spiceflow.test.js.map +1 -0
  54. package/dist/stream.test.d.ts +2 -0
  55. package/dist/stream.test.d.ts.map +1 -0
  56. package/dist/stream.test.js +286 -0
  57. package/dist/stream.test.js.map +1 -0
  58. package/dist/types.d.ts +1 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +2 -0
  61. package/dist/types.js.map +1 -0
  62. package/dist/utils.d.ts +4 -20
  63. package/dist/utils.d.ts.map +1 -1
  64. package/dist/utils.js +17 -46
  65. package/dist/utils.js.map +1 -1
  66. package/package.json +12 -37
  67. package/src/client/errors.ts +21 -0
  68. package/src/client/index.ts +541 -0
  69. package/src/client/types.ts +233 -0
  70. package/src/client/utils.ts +7 -0
  71. package/src/client/ws.ts +99 -0
  72. package/src/client.test.ts +235 -0
  73. package/src/elysia-fork/context.ts +196 -0
  74. package/src/elysia-fork/error.ts +293 -0
  75. package/src/elysia-fork/types.ts +1353 -0
  76. package/src/elysia-fork/utils.ts +85 -0
  77. package/src/index.ts +2 -34
  78. package/src/spiceflow.test.ts +290 -0
  79. package/src/spiceflow.ts +1251 -0
  80. package/src/stream.test.ts +342 -0
  81. package/src/types.ts +0 -0
  82. package/src/utils.ts +21 -70
  83. package/context.d.ts +0 -2
  84. package/context.js +0 -1
  85. package/dist/babel.test.d.ts +0 -2
  86. package/dist/babel.test.d.ts.map +0 -1
  87. package/dist/babel.test.js +0 -27
  88. package/dist/babel.test.js.map +0 -1
  89. package/dist/babelDebugOutputs.d.ts +0 -9
  90. package/dist/babelDebugOutputs.d.ts.map +0 -1
  91. package/dist/babelDebugOutputs.js +0 -34
  92. package/dist/babelDebugOutputs.js.map +0 -1
  93. package/dist/babelTransformRpc.d.ts +0 -19
  94. package/dist/babelTransformRpc.d.ts.map +0 -1
  95. package/dist/babelTransformRpc.js +0 -285
  96. package/dist/babelTransformRpc.js.map +0 -1
  97. package/dist/browser.d.ts +0 -8
  98. package/dist/browser.d.ts.map +0 -1
  99. package/dist/browser.js +0 -126
  100. package/dist/browser.js.map +0 -1
  101. package/dist/build.d.ts +0 -13
  102. package/dist/build.d.ts.map +0 -1
  103. package/dist/build.js +0 -230
  104. package/dist/build.js.map +0 -1
  105. package/dist/cli.d.ts +0 -3
  106. package/dist/cli.d.ts.map +0 -1
  107. package/dist/cli.js +0 -111
  108. package/dist/cli.js.map +0 -1
  109. package/dist/context-internal.d.ts +0 -20
  110. package/dist/context-internal.d.ts.map +0 -1
  111. package/dist/context-internal.js +0 -16
  112. package/dist/context-internal.js.map +0 -1
  113. package/dist/context.d.ts +0 -2
  114. package/dist/context.d.ts.map +0 -1
  115. package/dist/context.js +0 -2
  116. package/dist/context.js.map +0 -1
  117. package/dist/expose.d.ts +0 -6
  118. package/dist/expose.d.ts.map +0 -1
  119. package/dist/expose.js +0 -32
  120. package/dist/expose.js.map +0 -1
  121. package/dist/headers.d.ts +0 -2
  122. package/dist/headers.d.ts.map +0 -1
  123. package/dist/headers.js +0 -18
  124. package/dist/headers.js.map +0 -1
  125. package/dist/jsonRpc.d.ts +0 -32
  126. package/dist/jsonRpc.d.ts.map +0 -1
  127. package/dist/jsonRpc.js +0 -3
  128. package/dist/jsonRpc.js.map +0 -1
  129. package/dist/server.d.ts +0 -32
  130. package/dist/server.d.ts.map +0 -1
  131. package/dist/server.js +0 -292
  132. package/dist/server.js.map +0 -1
  133. package/headers.d.ts +0 -2
  134. package/headers.js +0 -1
  135. package/sdk-template/package.json +0 -22
  136. package/sdk-template/src/index.ts +0 -2
  137. package/sdk-template/src/v1/example.ts +0 -5
  138. package/sdk-template/src/v1/generator.ts +0 -12
  139. package/sdk-template/tsconfig.json +0 -16
  140. package/src/babel.test.ts +0 -35
  141. package/src/babelDebugOutputs.ts +0 -56
  142. package/src/babelTransformRpc.ts +0 -394
  143. package/src/browser.ts +0 -141
  144. package/src/build.ts +0 -298
  145. package/src/cli.ts +0 -132
  146. package/src/context-internal.ts +0 -36
  147. package/src/context.ts +0 -5
  148. package/src/expose.ts +0 -34
  149. package/src/headers.ts +0 -19
  150. package/src/jsonRpc.ts +0 -43
  151. package/src/server.ts +0 -384
package/dist/utils.js CHANGED
@@ -1,50 +1,21 @@
1
- const PURE_ANNOTATION = '#__PURE__';
2
- export function annotateAsPure(t, node) {
3
- t.addComment(node, 'leading', PURE_ANNOTATION);
4
- return node;
5
- }
6
- const enabled = !!process.env.DEBUG_ACTIONS;
7
- export const logger = {
8
- log(...args) {
9
- enabled && console.log('[actions]:', ...args);
10
- },
11
- error(...args) {
12
- enabled && console.log('[actions]:', ...args);
13
- },
14
- };
15
- export function getFileName(state) {
16
- const { filename, cwd } = state;
17
- if (!filename) {
18
- return undefined;
1
+ // deno-lint-ignore no-explicit-any
2
+ export const deepFreeze = (value) => {
3
+ for (const key of Reflect.ownKeys(value)) {
4
+ if (value[key] && typeof value[key] === 'object') {
5
+ deepFreeze(value[key]);
6
+ }
19
7
  }
20
- if (cwd && filename.startsWith(cwd)) {
21
- return filename.slice(cwd.length + 1);
22
- }
23
- return filename;
24
- }
25
- export const directive = 'use spiceflow';
26
- export function jsonRpcError({ id = null, message, code = 1, }) {
27
- return {
28
- jsonrpc: '2.0',
29
- id,
30
- error: {
31
- code,
32
- message,
33
- data: null,
34
- },
35
- };
36
- }
37
- export function camelCaseCapitalized(str) {
38
- // functionName -> FunctionName
39
- // CamelCase -> CamelCase
40
- // camelCase -> CamelCase
41
- if (str.length === 0) {
42
- return str;
43
- }
44
- const first = str[0].toUpperCase();
45
- return first + str.slice(1);
8
+ return Object.freeze(value);
9
+ };
10
+ export const req = (path, options) => new Request(`http://localhost${path}`, options);
11
+ export function isAsyncIterable(obj) {
12
+ return (typeof obj === 'object' &&
13
+ typeof obj.next === 'function' &&
14
+ typeof obj.return === 'function' &&
15
+ typeof obj.throw === 'function' &&
16
+ typeof obj.return === 'function');
46
17
  }
47
- export function removeExtension(filePath) {
48
- return filePath.replace(/\.[j|t]sx?$/, '');
18
+ export function sleep(ms) {
19
+ return new Promise((resolve) => setTimeout(resolve, ms));
49
20
  }
50
21
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC,MAAM,UAAU,cAAc,CAAiB,CAAe,EAAE,IAAO;IACrE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AASD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AAC5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,CAAC,GAAG,IAAI;QACT,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACX,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,EAC3B,EAAE,GAAG,IAAI,EACT,OAAO,EACP,IAAI,GAAG,CAAC,GACT;IACC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,EAAE;QACF,KAAK,EAAE;YACL,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,IAAI;SACX;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,+BAA+B;IAC/B,yBAAyB;IACzB,yBAAyB;IAEzB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE;IACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QACvB,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAE,EAAE,CAC1D,IAAI,OAAO,CAAC,mBAAmB,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;AAEhD,MAAM,UAAU,eAAe,CAAC,GAAQ;IACvC,OAAO,CACN,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU;QAChC,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;QAC/B,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,CAChC,CAAA;AACF,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,57 +1,32 @@
1
1
  {
2
2
  "name": "spiceflow",
3
- "version": "0.0.7",
4
- "description": "If GraphQL, JSON-RPC and React server actions had a baby, it would be called spiceflow",
3
+ "version": "1.0.1",
4
+ "description": "Simple API framework with RPC and type safety",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
8
8
  "repository": "https://github.com/remorses/spiceflow",
9
- "bin": "dist/cli.js",
10
9
  "files": [
11
10
  "dist",
12
- "src",
13
- "sdk-template",
14
- "esm",
15
- "context.d.ts",
16
- "context.js",
17
- "headers.d.ts",
18
- "headers.js"
11
+ "src"
19
12
  ],
20
13
  "keywords": [],
21
14
  "author": "Tommaso De Rossi, morse <beats.by.morse@gmail.com>",
22
15
  "license": "",
23
- "peerDependencies": {
24
- "next": ">=10"
25
- },
26
16
  "dependencies": {
27
- "@babel/core": "^7.24.0",
28
- "@babel/parser": "^7.24.0",
29
- "@babel/plugin-syntax-jsx": "^7.23.3",
30
- "@babel/plugin-syntax-typescript": "^7.23.3",
31
- "@babel/plugin-transform-typescript": "^7.23.6",
32
- "@manypkg/get-packages": "^2.2.1",
33
- "@microsoft/api-extractor": "^7.43.1",
34
- "@types/fs-extra": "^11.0.4",
35
- "cac": "^6.7.14",
36
- "chokidar": "^3.6.0",
37
- "eventsource-parser": "^1.1.2",
38
- "fast-glob": "^3.3.2",
39
- "find-up": "^7.0.0",
40
- "fs-extra": "^11.2.0",
41
- "picocolors": "^1.0.0",
42
- "superjson": "^1.13.3"
17
+ "@medley/router": "^0.2.1",
18
+ "@sinclair/typebox": "^0.33.5",
19
+ "ajv": "^8.17.1",
20
+ "eventsource-parser": "^2.0.1",
21
+ "fast-querystring": "^1.1.2",
22
+ "openapi-types": "^12.1.3"
43
23
  },
44
24
  "devDependencies": {
45
- "@babel/generator": "^7.23.6",
46
- "@babel/types": "^7.24.0",
47
- "@types/babel__core": "^7.20.5",
48
- "@types/node": "20.2.5",
49
- "next": "14.2.1",
50
- "ts-json-schema-generator": "^2.1.1",
51
- "webpack": "^5.88.2"
25
+ "@types/bun": "^1.1.6",
26
+ "@types/node": "20.2.5"
52
27
  },
53
28
  "scripts": {
54
- "build": "cp ../README.md ./README.md && rm -rf ./sdk-template ../sdk-template/dist ../sdk-template/node_modules && cp -r ../sdk-template ./sdk-template && rm -rf dist && tsc",
29
+ "build": "cp ../README.md ./README.md && rm -rf dist && tsc",
55
30
  "watch": "tsc -w"
56
31
  }
57
32
  }
@@ -0,0 +1,21 @@
1
+ export class EdenFetchError<
2
+ Status = number,
3
+ Value extends any = any
4
+ > extends Error {
5
+ value: Value
6
+ constructor(
7
+ public status: Status,
8
+ public passedValue: Value
9
+ ) {
10
+ let message = String((passedValue as any)?.message || '')
11
+ if (!message) {
12
+ if (typeof passedValue === 'object') {
13
+ message = JSON.stringify(passedValue)
14
+ } else {
15
+ message = String(passedValue || '')
16
+ }
17
+ }
18
+ super(message)
19
+ this.value = passedValue
20
+ }
21
+ }