@modern-js/bff-core 1.22.1 → 1.22.2-beta.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 (38) hide show
  1. package/CHANGELOG.md +135 -17
  2. package/dist/js/modern/api.js +49 -34
  3. package/dist/js/modern/client/generate-client.js +52 -34
  4. package/dist/js/modern/client/index.js +1 -1
  5. package/dist/js/modern/client/result.js +10 -8
  6. package/dist/js/modern/errors/http.js +8 -14
  7. package/dist/js/modern/index.js +19 -3
  8. package/dist/js/modern/operators/http.js +139 -116
  9. package/dist/js/modern/router/constants.js +31 -13
  10. package/dist/js/modern/router/index.js +68 -131
  11. package/dist/js/modern/router/types.js +0 -1
  12. package/dist/js/modern/router/utils.js +36 -54
  13. package/dist/js/modern/types.js +45 -47
  14. package/dist/js/modern/utils/alias.js +35 -50
  15. package/dist/js/modern/utils/debug.js +5 -2
  16. package/dist/js/modern/utils/index.js +5 -2
  17. package/dist/js/modern/utils/meta.js +8 -4
  18. package/dist/js/modern/utils/storage.js +8 -14
  19. package/dist/js/modern/utils/validate.js +23 -29
  20. package/dist/js/node/api.js +78 -46
  21. package/dist/js/node/client/generate-client.js +85 -55
  22. package/dist/js/node/client/index.js +17 -18
  23. package/dist/js/node/client/result.js +32 -18
  24. package/dist/js/node/errors/http.js +28 -22
  25. package/dist/js/node/index.js +45 -122
  26. package/dist/js/node/operators/http.js +184 -169
  27. package/dist/js/node/router/constants.js +60 -28
  28. package/dist/js/node/router/index.js +112 -201
  29. package/dist/js/node/router/types.js +15 -5
  30. package/dist/js/node/router/utils.js +71 -78
  31. package/dist/js/node/types.js +71 -57
  32. package/dist/js/node/utils/alias.js +65 -73
  33. package/dist/js/node/utils/debug.js +27 -10
  34. package/dist/js/node/utils/index.js +28 -68
  35. package/dist/js/node/utils/meta.js +30 -12
  36. package/dist/js/node/utils/storage.js +36 -24
  37. package/dist/js/node/utils/validate.js +50 -44
  38. package/package.json +12 -40
@@ -1,91 +1,76 @@
1
- import * as path from 'path';
2
- import * as os from 'os';
3
- import fs from 'fs';
4
- import Module from 'module';
5
- export const getRelativeRuntimePath = (appDirectory, serverRuntimePath) => {
6
- let relativeRuntimePath = '';
7
-
8
- if (os.platform() === 'win32') {
9
- // isRelative function in babel-plugin-resolver plugin can't handle windows relative path correctly, see babel-plugin-resolver's utils.
10
- relativeRuntimePath = `../${path.relative(appDirectory, serverRuntimePath)}`;
1
+ import * as path from "path";
2
+ import * as os from "os";
3
+ import fs from "fs";
4
+ import Module from "module";
5
+ const getRelativeRuntimePath = (appDirectory, serverRuntimePath) => {
6
+ let relativeRuntimePath = "";
7
+ if (os.platform() === "win32") {
8
+ relativeRuntimePath = `../${path.relative(
9
+ appDirectory,
10
+ serverRuntimePath
11
+ )}`;
11
12
  } else {
12
- // Look up one level, because the artifacts after build have dist directories
13
- relativeRuntimePath = path.join('../', path.relative(appDirectory, serverRuntimePath));
13
+ relativeRuntimePath = path.join(
14
+ "../",
15
+ path.relative(appDirectory, serverRuntimePath)
16
+ );
14
17
  }
15
-
16
- if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
18
+ if (process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test") {
17
19
  relativeRuntimePath = `./${path.relative(appDirectory, serverRuntimePath)}`;
18
20
  }
19
-
20
21
  return relativeRuntimePath;
21
22
  };
22
-
23
- const sortByLongestPrefix = arr => {
23
+ const sortByLongestPrefix = (arr) => {
24
24
  return arr.concat().sort((a, b) => b.length - a.length);
25
25
  };
26
-
27
- export const createMatchPath = paths => {
26
+ const createMatchPath = (paths) => {
28
27
  const sortedKeys = sortByLongestPrefix(Object.keys(paths));
29
28
  const sortedPaths = {};
30
- sortedKeys.forEach(key => {
29
+ sortedKeys.forEach((key) => {
31
30
  sortedPaths[key] = paths[key];
32
31
  });
33
- return request => {
34
- const found = Object.keys(sortedPaths).find(key => {
32
+ return (request) => {
33
+ const found = Object.keys(sortedPaths).find((key) => {
35
34
  return request.startsWith(key);
36
35
  });
37
-
38
36
  if (found) {
39
37
  let foundPaths = sortedPaths[found];
40
-
41
38
  if (!Array.isArray(foundPaths)) {
42
39
  foundPaths = [foundPaths];
43
40
  }
44
-
45
- foundPaths = foundPaths.filter(foundPath => path.isAbsolute(foundPath));
46
-
41
+ foundPaths = foundPaths.filter((foundPath) => path.isAbsolute(foundPath));
47
42
  for (const p of foundPaths) {
48
43
  const foundPath = request.replace(found, p);
49
-
50
44
  if (fs.existsSync(foundPath)) {
51
45
  return foundPath;
52
46
  }
53
47
  }
54
-
55
48
  return request.replace(found, foundPaths[0]);
56
49
  }
57
-
58
50
  return null;
59
51
  };
60
- }; // every path must be a absolute path;
61
-
62
- export const registerPaths = paths => {
63
- const originalResolveFilename = Module._resolveFilename; // eslint-disable-next-line node/no-unsupported-features/node-builtins
64
-
65
- const {
66
- builtinModules
67
- } = Module;
52
+ };
53
+ const registerPaths = (paths) => {
54
+ const originalResolveFilename = Module._resolveFilename;
55
+ const { builtinModules } = Module;
68
56
  const matchPath = createMatchPath(paths);
69
-
70
- Module._resolveFilename = function (request, _parent) {
57
+ Module._resolveFilename = function(request, _parent) {
71
58
  const isCoreModule = builtinModules.includes(request);
72
-
73
59
  if (!isCoreModule) {
74
60
  const matched = matchPath(request);
75
-
76
61
  if (matched) {
77
- // eslint-disable-next-line prefer-rest-params
78
- const modifiedArguments = [matched, ...[].slice.call(arguments, 1)]; // Passes all arguments. Even those that is not specified above.
79
-
62
+ const modifiedArguments = [matched, ...[].slice.call(arguments, 1)];
80
63
  return originalResolveFilename.apply(this, modifiedArguments);
81
64
  }
82
- } // eslint-disable-next-line prefer-rest-params
83
-
84
-
65
+ }
85
66
  return originalResolveFilename.apply(this, arguments);
86
67
  };
87
-
88
68
  return () => {
89
69
  Module._resolveFilename = originalResolveFilename;
90
70
  };
91
- };
71
+ };
72
+ export {
73
+ createMatchPath,
74
+ getRelativeRuntimePath,
75
+ registerPaths
76
+ };
@@ -1,2 +1,5 @@
1
- import { createDebugger } from '@modern-js/utils';
2
- export const debug = createDebugger('bff');
1
+ import { createDebugger } from "@modern-js/utils";
2
+ const debug = createDebugger("bff");
3
+ export {
4
+ debug
5
+ };
@@ -1,5 +1,8 @@
1
1
  export * from "./storage";
2
2
  export * from "./alias";
3
- export { debug } from "./debug";
3
+ import { debug } from "./debug";
4
4
  export * from "./meta";
5
- export * from "./validate";
5
+ export * from "./validate";
6
+ export {
7
+ debug
8
+ };
@@ -1,4 +1,8 @@
1
- export const HANDLER_WITH_META = 'HANDLER_WITH_META';
2
- export const isWithMetaHandler = handler => {
3
- return typeof handler === 'function' && handler[HANDLER_WITH_META];
4
- };
1
+ const HANDLER_WITH_META = "HANDLER_WITH_META";
2
+ const isWithMetaHandler = (handler) => {
3
+ return typeof handler === "function" && handler[HANDLER_WITH_META];
4
+ };
5
+ export {
6
+ HANDLER_WITH_META,
7
+ isWithMetaHandler
8
+ };
@@ -1,18 +1,14 @@
1
- import * as ah from 'async_hooks';
2
-
1
+ import * as ah from "async_hooks";
3
2
  const createStorage = () => {
4
3
  let storage;
5
-
6
- if (typeof ah.AsyncLocalStorage !== 'undefined') {
4
+ if (typeof ah.AsyncLocalStorage !== "undefined") {
7
5
  storage = new ah.AsyncLocalStorage();
8
6
  }
9
-
10
7
  const run = (context, cb) => {
11
8
  if (!storage) {
12
9
  throw new Error(`Unable to use async_hook, please confirm the node version >= 12.17
13
10
  `);
14
11
  }
15
-
16
12
  return new Promise((resolve, reject) => {
17
13
  storage.run(context, () => {
18
14
  try {
@@ -23,26 +19,24 @@ const createStorage = () => {
23
19
  });
24
20
  });
25
21
  };
26
-
27
22
  const useContext = () => {
28
23
  if (!storage) {
29
24
  throw new Error(`Unable to use async_hook, please confirm the node version >= 12.17
30
25
  `);
31
26
  }
32
-
33
27
  const context = storage.getStore();
34
-
35
28
  if (!context) {
36
- throw new Error(`Can't call useContext out of scope, it should be placed in the bff function`);
29
+ throw new Error(
30
+ `Can't call useContext out of scope, it should be placed in the bff function`
31
+ );
37
32
  }
38
-
39
33
  return context;
40
34
  };
41
-
42
35
  return {
43
36
  run,
44
37
  useContext
45
38
  };
46
39
  };
47
-
48
- export { createStorage };
40
+ export {
41
+ createStorage
42
+ };
@@ -1,49 +1,43 @@
1
- import util from 'util'; // fork from https://github.com/nodejs/node/blob/master/lib/internal/errors.js
2
-
3
- export const getTypeErrorMessage = actual => {
4
- let msg = '';
5
-
1
+ import util from "util";
2
+ const getTypeErrorMessage = (actual) => {
3
+ var _a;
4
+ let msg = "";
6
5
  if (actual == null) {
7
6
  msg += `. Received ${actual}`;
8
- } else if (typeof actual === 'function' && actual.name) {
7
+ } else if (typeof actual === "function" && actual.name) {
9
8
  msg += `. Received function ${actual.name}`;
10
- } else if (typeof actual === 'object') {
11
- var _actual$constructor;
12
-
13
- if ((_actual$constructor = actual.constructor) !== null && _actual$constructor !== void 0 && _actual$constructor.name) {
9
+ } else if (typeof actual === "object") {
10
+ if ((_a = actual.constructor) == null ? void 0 : _a.name) {
14
11
  msg += `. Received an instance of ${actual.constructor.name}`;
15
12
  } else {
16
- const inspected = util.inspect(actual, {
17
- depth: -1
18
- });
13
+ const inspected = util.inspect(actual, { depth: -1 });
19
14
  msg += `. Received ${inspected}`;
20
15
  }
21
16
  } else {
22
- let inspected = util.inspect(actual, {
23
- colors: false
24
- });
25
-
17
+ let inspected = util.inspect(actual, { colors: false });
26
18
  if (inspected.length > 25) {
27
19
  inspected = `${inspected.slice(0, 25)}...`;
28
20
  }
29
-
30
21
  msg += `. Received type ${typeof actual} (${inspected})`;
31
22
  }
32
-
33
23
  return msg;
34
- }; // eslint-disable-next-line @typescript-eslint/naming-convention
35
-
36
- export class ERR_INVALID_ARG_TYPE extends Error {
24
+ };
25
+ class ERR_INVALID_ARG_TYPE extends Error {
37
26
  constructor(funcName, expectedType, actual) {
38
- const message = `[ERR_INVALID_ARG_TYPE]: The '${funcName}' argument must be of type ${expectedType}${getTypeErrorMessage(actual)}`;
27
+ const message = `[ERR_INVALID_ARG_TYPE]: The '${funcName}' argument must be of type ${expectedType}${getTypeErrorMessage(
28
+ actual
29
+ )}`;
39
30
  super(message);
40
31
  }
41
-
42
32
  }
43
- export const validateFunction = (maybeFunc, name) => {
44
- if (typeof maybeFunc !== 'function') {
45
- throw new ERR_INVALID_ARG_TYPE(name, 'function', maybeFunc);
33
+ const validateFunction = (maybeFunc, name) => {
34
+ if (typeof maybeFunc !== "function") {
35
+ throw new ERR_INVALID_ARG_TYPE(name, "function", maybeFunc);
46
36
  }
47
-
48
37
  return true;
49
- };
38
+ };
39
+ export {
40
+ ERR_INVALID_ARG_TYPE,
41
+ getTypeErrorMessage,
42
+ validateFunction
43
+ };
@@ -1,66 +1,98 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var api_exports = {};
45
+ __export(api_exports, {
46
+ Api: () => Api
5
47
  });
6
- exports.Api = Api;
7
-
8
- require("reflect-metadata");
9
-
10
- var _koaCompose = _interopRequireDefault(require("koa-compose"));
11
-
12
- var _utils = require("./utils");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
48
+ module.exports = __toCommonJS(api_exports);
49
+ var import_reflect_metadata = require("reflect-metadata");
50
+ var import_koa_compose = __toESM(require("koa-compose"));
51
+ var import_utils = require("./utils");
16
52
  function Api(...args) {
17
53
  const handler = args.pop();
18
- (0, _utils.validateFunction)(handler, 'Apihandler');
54
+ (0, import_utils.validateFunction)(handler, "Apihandler");
19
55
  const operators = args;
20
56
  const metadataHelper = {
21
57
  getMetadata(key) {
22
58
  return Reflect.getMetadata(key, runner);
23
59
  },
24
-
25
60
  setMetadata(key, value) {
26
61
  return Reflect.defineMetadata(key, value, runner);
27
62
  }
28
-
29
63
  };
30
-
31
64
  for (const operator of operators) {
32
65
  if (operator.metadata) {
33
66
  operator.metadata(metadataHelper);
34
67
  }
35
68
  }
36
-
37
- const validateHandlers = operators.filter(operator => operator.validate).map(operator => operator.validate);
38
- const pipeHandlers = operators.filter(operator => operator.execute).map(operator => operator.execute);
39
-
40
- async function runner(inputs) {
41
- const executeHelper = {
42
- result: null,
43
-
44
- get inputs() {
45
- return inputs;
46
- },
47
-
48
- set inputs(val) {
49
- // eslint-disable-next-line no-param-reassign
50
- inputs = val;
51
- }
52
-
53
- };
54
- const stack = [...validateHandlers, ...pipeHandlers];
55
- stack.push(async (helper, next) => {
56
- const res = await handler(helper.inputs);
57
- helper.result = res;
58
- return next();
69
+ const validateHandlers = operators.filter((operator) => operator.validate).map((operator) => operator.validate);
70
+ const pipeHandlers = operators.filter((operator) => operator.execute).map((operator) => operator.execute);
71
+ function runner(inputs) {
72
+ return __async(this, null, function* () {
73
+ const executeHelper = {
74
+ result: null,
75
+ get inputs() {
76
+ return inputs;
77
+ },
78
+ set inputs(val) {
79
+ inputs = val;
80
+ }
81
+ };
82
+ const stack = [...validateHandlers, ...pipeHandlers];
83
+ stack.push((helper, next) => __async(this, null, function* () {
84
+ const res = yield handler(helper.inputs);
85
+ helper.result = res;
86
+ return next();
87
+ }));
88
+ yield (0, import_koa_compose.default)(stack)(executeHelper);
89
+ return executeHelper.result;
59
90
  });
60
- await (0, _koaCompose.default)(stack)(executeHelper);
61
- return executeHelper.result;
62
91
  }
63
-
64
- runner[_utils.HANDLER_WITH_META] = true;
92
+ runner[import_utils.HANDLER_WITH_META] = true;
65
93
  return runner;
66
- }
94
+ }
95
+ // Annotate the CommonJS export names for ESM import in node:
96
+ 0 && (module.exports = {
97
+ Api
98
+ });
@@ -1,24 +1,57 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var __async = (__this, __arguments, generator) => {
25
+ return new Promise((resolve, reject) => {
26
+ var fulfilled = (value) => {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ };
33
+ var rejected = (value) => {
34
+ try {
35
+ step(generator.throw(value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ };
40
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
41
+ step((generator = generator.apply(__this, __arguments)).next());
42
+ });
43
+ };
44
+ var generate_client_exports = {};
45
+ __export(generate_client_exports, {
46
+ DEFAULT_CLIENT_REQUEST_CREATOR: () => DEFAULT_CLIENT_REQUEST_CREATOR,
47
+ generateClient: () => generateClient
5
48
  });
6
- exports.generateClient = exports.DEFAULT_CLIENT_REQUEST_CREATOR = void 0;
7
-
8
- var path = _interopRequireWildcard(require("path"));
9
-
10
- var _router = require("../router");
11
-
12
- var _result = require("./result");
13
-
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
- const DEFAULT_CLIENT_REQUEST_CREATOR = '@modern-js/create-request';
19
- exports.DEFAULT_CLIENT_REQUEST_CREATOR = DEFAULT_CLIENT_REQUEST_CREATOR;
20
-
21
- const generateClient = async ({
49
+ module.exports = __toCommonJS(generate_client_exports);
50
+ var path = __toESM(require("path"));
51
+ var import_router = require("../router");
52
+ var import_result = require("./result");
53
+ const DEFAULT_CLIENT_REQUEST_CREATOR = "@modern-js/create-request";
54
+ const generateClient = (_0) => __async(void 0, [_0], function* ({
22
55
  resourcePath,
23
56
  apiDir,
24
57
  prefix,
@@ -26,56 +59,53 @@ const generateClient = async ({
26
59
  target,
27
60
  requestCreator,
28
61
  fetcher,
29
- requireResolve: _requireResolve = require.resolve
30
- }) => {
62
+ requireResolve = require.resolve
63
+ }) {
31
64
  if (!requestCreator) {
32
- // eslint-disable-next-line no-param-reassign
33
- requestCreator = _requireResolve(`${DEFAULT_CLIENT_REQUEST_CREATOR}${target ? `/${target}` : ''}`).replace(/\\/g, '/');
65
+ requestCreator = requireResolve(
66
+ `${DEFAULT_CLIENT_REQUEST_CREATOR}${target ? `/${target}` : ""}`
67
+ ).replace(/\\/g, "/");
34
68
  } else {
35
- // 这里约束传入的 requestCreator 包也必须有两个导出 client 和 server,因为目前的机制 client 和 server 要导出不同的 configure 函数;该 api 不对使用者暴露,后续可优化
36
69
  let resolvedPath = requestCreator;
37
-
38
70
  try {
39
- resolvedPath = path.dirname(_requireResolve(requestCreator));
40
- } catch (error) {} // eslint-disable-next-line no-param-reassign
41
-
42
-
43
- requestCreator = `${resolvedPath}${target ? `/${target}` : ''}`.replace(/\\/g, '/');
71
+ resolvedPath = path.dirname(requireResolve(requestCreator));
72
+ } catch (error) {
73
+ }
74
+ requestCreator = `${resolvedPath}${target ? `/${target}` : ""}`.replace(
75
+ /\\/g,
76
+ "/"
77
+ );
44
78
  }
45
-
46
- const apiRouter = new _router.ApiRouter({
79
+ const apiRouter = new import_router.ApiRouter({
47
80
  apiDir,
48
81
  prefix
49
82
  });
50
83
  const handlerInfos = apiRouter.getSingleModuleHandlers(resourcePath);
51
-
52
84
  if (!handlerInfos) {
53
- return (0, _result.Err)(`generate client error: Cannot require module ${resourcePath}`);
85
+ return (0, import_result.Err)(`generate client error: Cannot require module ${resourcePath}`);
54
86
  }
55
-
56
- let handlersCode = '';
57
-
87
+ let handlersCode = "";
58
88
  for (const handlerInfo of handlerInfos) {
59
- const {
60
- name,
61
- httpMethod,
62
- routePath
63
- } = handlerInfo;
64
- let exportStatement = `const ${name} =`;
65
-
66
- if (name.toLowerCase() === 'default') {
67
- exportStatement = 'default';
89
+ const { name, httpMethod, routePath } = handlerInfo;
90
+ let exportStatement = `var ${name} =`;
91
+ if (name.toLowerCase() === "default") {
92
+ exportStatement = "default";
68
93
  }
69
-
70
94
  const upperHttpMethod = httpMethod.toUpperCase();
71
95
  const routeName = routePath;
72
- handlersCode += `export ${exportStatement} createRequest('${routeName}', '${upperHttpMethod}', process.env.PORT || ${String(port)}${fetcher ? `, fetch` : ''});
96
+ handlersCode += `export ${exportStatement} createRequest('${routeName}', '${upperHttpMethod}', process.env.PORT || ${String(
97
+ port
98
+ )}${fetcher ? `, fetch` : ""});
73
99
  `;
74
100
  }
75
-
76
101
  const importCode = `import { createRequest } from '${requestCreator}';
77
- ${fetcher ? `import { fetch } from '${fetcher}';\n` : ''}`;
78
- return (0, _result.Ok)(`${importCode}\n${handlersCode}`);
79
- };
80
-
81
- exports.generateClient = generateClient;
102
+ ${fetcher ? `import { fetch } from '${fetcher}';
103
+ ` : ""}`;
104
+ return (0, import_result.Ok)(`${importCode}
105
+ ${handlersCode}`);
106
+ });
107
+ // Annotate the CommonJS export names for ESM import in node:
108
+ 0 && (module.exports = {
109
+ DEFAULT_CLIENT_REQUEST_CREATOR,
110
+ generateClient
111
+ });
@@ -1,18 +1,17 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _generateClient = require("./generate-client");
8
-
9
- Object.keys(_generateClient).forEach(function (key) {
10
- if (key === "default" || key === "__esModule") return;
11
- if (key in exports && exports[key] === _generateClient[key]) return;
12
- Object.defineProperty(exports, key, {
13
- enumerable: true,
14
- get: function () {
15
- return _generateClient[key];
16
- }
17
- });
18
- });
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var client_exports = {};
16
+ module.exports = __toCommonJS(client_exports);
17
+ __reExport(client_exports, require("./generate-client"), module.exports);