@bepalo/spine 1.0.3

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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +830 -0
  3. package/dist/auth-middlewares.d.ts +119 -0
  4. package/dist/auth-middlewares.d.ts.map +1 -0
  5. package/dist/auth-middlewares.js +168 -0
  6. package/dist/auth-middlewares.js.map +1 -0
  7. package/dist/cjs/auth-middlewares.d.ts +119 -0
  8. package/dist/cjs/auth-middlewares.d.ts.map +1 -0
  9. package/dist/cjs/auth-middlewares.js +168 -0
  10. package/dist/cjs/auth-middlewares.js.map +1 -0
  11. package/dist/cjs/helpers.d.ts +180 -0
  12. package/dist/cjs/helpers.d.ts.map +1 -0
  13. package/dist/cjs/helpers.js +366 -0
  14. package/dist/cjs/helpers.js.map +1 -0
  15. package/dist/cjs/index.d.ts +11 -0
  16. package/dist/cjs/index.d.ts.map +1 -0
  17. package/dist/cjs/index.js +30 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/middlewares.d.ts +88 -0
  20. package/dist/cjs/middlewares.d.ts.map +1 -0
  21. package/dist/cjs/middlewares.js +262 -0
  22. package/dist/cjs/middlewares.js.map +1 -0
  23. package/dist/cjs/parsers.d.ts +177 -0
  24. package/dist/cjs/parsers.d.ts.map +1 -0
  25. package/dist/cjs/parsers.js +1021 -0
  26. package/dist/cjs/parsers.js.map +1 -0
  27. package/dist/cjs/router.d.ts +124 -0
  28. package/dist/cjs/router.d.ts.map +1 -0
  29. package/dist/cjs/router.js +1378 -0
  30. package/dist/cjs/router.js.map +1 -0
  31. package/dist/cjs/status.d.ts +77 -0
  32. package/dist/cjs/status.d.ts.map +1 -0
  33. package/dist/cjs/status.js +252 -0
  34. package/dist/cjs/status.js.map +1 -0
  35. package/dist/cjs/types.d.ts +135 -0
  36. package/dist/cjs/types.d.ts.map +1 -0
  37. package/dist/cjs/types.js +109 -0
  38. package/dist/cjs/types.js.map +1 -0
  39. package/dist/cjs/utils.d.ts +11 -0
  40. package/dist/cjs/utils.d.ts.map +1 -0
  41. package/dist/cjs/utils.js +76 -0
  42. package/dist/cjs/utils.js.map +1 -0
  43. package/dist/cjs/utils.node.d.ts +4 -0
  44. package/dist/cjs/utils.node.d.ts.map +1 -0
  45. package/dist/cjs/utils.node.js +99 -0
  46. package/dist/cjs/utils.node.js.map +1 -0
  47. package/dist/helpers.d.ts +180 -0
  48. package/dist/helpers.d.ts.map +1 -0
  49. package/dist/helpers.js +366 -0
  50. package/dist/helpers.js.map +1 -0
  51. package/dist/index.d.ts +11 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +30 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/middlewares.d.ts +88 -0
  56. package/dist/middlewares.d.ts.map +1 -0
  57. package/dist/middlewares.js +262 -0
  58. package/dist/middlewares.js.map +1 -0
  59. package/dist/parsers.d.ts +177 -0
  60. package/dist/parsers.d.ts.map +1 -0
  61. package/dist/parsers.js +1021 -0
  62. package/dist/parsers.js.map +1 -0
  63. package/dist/router.d.ts +124 -0
  64. package/dist/router.d.ts.map +1 -0
  65. package/dist/router.js +1378 -0
  66. package/dist/router.js.map +1 -0
  67. package/dist/status.d.ts +77 -0
  68. package/dist/status.d.ts.map +1 -0
  69. package/dist/status.js +252 -0
  70. package/dist/status.js.map +1 -0
  71. package/dist/types.d.ts +135 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/types.js +109 -0
  74. package/dist/types.js.map +1 -0
  75. package/dist/utils.d.ts +11 -0
  76. package/dist/utils.d.ts.map +1 -0
  77. package/dist/utils.js +76 -0
  78. package/dist/utils.js.map +1 -0
  79. package/dist/utils.node.d.ts +4 -0
  80. package/dist/utils.node.d.ts.map +1 -0
  81. package/dist/utils.node.js +66 -0
  82. package/dist/utils.node.js.map +1 -0
  83. package/package.json +57 -0
package/dist/types.js ADDED
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpError = exports.RouterError = exports.MIME_TYPES = exports.Break_Pipe = exports.Break_Pipeline = void 0;
4
+ // Symbol used to signal breaking from all handler pipeline in queue
5
+ exports.Break_Pipeline = Symbol("Break_Pipeline");
6
+ // Symbol used to signal breaking from current handler pipeline in queue but not others
7
+ exports.Break_Pipe = Symbol("Break_Pipe");
8
+ exports.MIME_TYPES = new Map([
9
+ ["aac", "audio/aac"],
10
+ ["abw", "application/x-abiword"],
11
+ ["apng", "image/apng"],
12
+ ["arc", "application/x-freearc"],
13
+ ["avif", "image/avif"],
14
+ ["avi", "video/x-msvideo"],
15
+ ["azw", "application/vnd.amazon.ebook"],
16
+ ["bin", "application/octet-stream"],
17
+ ["bmp", "image/bmp"],
18
+ ["bz", "application/x-bzip"],
19
+ ["bz2", "application/x-bzip2"],
20
+ ["cda", "application/x-cdf"],
21
+ ["csh", "application/x-csh"],
22
+ ["css", "text/css"],
23
+ ["csv", "text/csv"],
24
+ ["doc", "application/msword"],
25
+ [
26
+ "docx",
27
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
28
+ ],
29
+ ["eot", "application/vnd.ms-fontobject"],
30
+ ["epub", "application/epub+zip"],
31
+ ["gz", "application/gzip"],
32
+ ["gif", "image/gif"],
33
+ ["htm", "text/html"],
34
+ ["html", "text/html"],
35
+ ["ico", "image/vnd.microsoft.icon"],
36
+ ["ics", "text/calendar"],
37
+ ["jar", "application/java-archive"],
38
+ ["jpeg", "image/jpeg"],
39
+ ["jpg", "image/jpeg"],
40
+ ["js", "text/javascript"],
41
+ ["json", "application/json"],
42
+ ["jsonld", "application/ld+json"],
43
+ ["md", "text/markdown"],
44
+ ["mid", "audio/midi"],
45
+ ["midi", "audio/midi"],
46
+ ["mjs", "text/javascript"],
47
+ ["m4a", "audio/mp4"],
48
+ ["mp3", "audio/mpeg"],
49
+ ["mp4", "video/mp4"],
50
+ ["mpeg", "video/mpeg"],
51
+ ["mpkg", "application/vnd.apple.installer+xml"],
52
+ ["odp", "application/vnd.oasis.opendocument.presentation"],
53
+ ["ods", "application/vnd.oasis.opendocument.spreadsheet"],
54
+ ["odt", "application/vnd.oasis.opendocument.text"],
55
+ ["oga", "audio/ogg"],
56
+ ["ogv", "video/ogg"],
57
+ ["ogx", "application/ogg"],
58
+ ["opus", "audio/ogg"],
59
+ ["otf", "font/otf"],
60
+ ["png", "image/png"],
61
+ ["pdf", "application/pdf"],
62
+ ["php", "application/x-httpd-php"],
63
+ ["ppt", "application/vnd.ms-powerpoint"],
64
+ [
65
+ "pptx",
66
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation",
67
+ ],
68
+ ["rar", "application/vnd.rar"],
69
+ ["rtf", "application/rtf"],
70
+ ["sh", "application/x-sh"],
71
+ ["svg", "image/svg+xml"],
72
+ ["tar", "application/x-tar"],
73
+ ["tif", "image/tiff"],
74
+ ["tiff", "image/tiff"],
75
+ ["ts", "video/mp2t"],
76
+ ["ttf", "font/ttf"],
77
+ ["txt", "text/plain"],
78
+ ["vsd", "application/vnd.visio"],
79
+ ["wav", "audio/wav"],
80
+ ["weba", "audio/webm"],
81
+ ["webm", "video/webm"],
82
+ ["webmanifest", "application/manifest+json"],
83
+ ["webp", "image/webp"],
84
+ ["woff", "font/woff"],
85
+ ["woff2", "font/woff2"],
86
+ ["xhtml", "application/xhtml+xml"],
87
+ ["xls", "application/vnd.ms-excel"],
88
+ ["xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],
89
+ ["xml", "application/xml"],
90
+ ["xul", "application/vnd.mozilla.xul+xml"],
91
+ ["zip", "application/zip"],
92
+ ["3gp", "video/3gpp"],
93
+ ["3g2", "video/3gpp2"],
94
+ ["7z", "application/x-7z-compressed"],
95
+ ]);
96
+ class RouterError extends Error {
97
+ constructor(message, options) {
98
+ super(message, options);
99
+ }
100
+ }
101
+ exports.RouterError = RouterError;
102
+ class HttpError extends Error {
103
+ constructor(status, message, options) {
104
+ super(message, options);
105
+ this.status = status;
106
+ }
107
+ }
108
+ exports.HttpError = HttpError;
109
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface DirWalkNode {
2
+ type: string;
3
+ name: string;
4
+ path: string;
5
+ parent: string;
6
+ fullPath: string;
7
+ relativePath: string;
8
+ }
9
+ export declare const toBase64UUID: (u: string) => string;
10
+ export declare const fromBase64UUID: (cuuid: string) => string;
11
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsBD,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,KAAG,MA4BxC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAyB9C,CAAC"}
package/dist/utils.js ADDED
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fromBase64UUID = exports.toBase64UUID = void 0;
4
+ const CCPlus = 43; // "+".charCodeAt(0);
5
+ const CCFSlash = 47; // "/".charCodeAt(0);
6
+ const CCEqual = 61; // "=".charCodeAt(0);
7
+ const CCMinus = 45; // "-".charCodeAt(0);
8
+ const CCUnderScore = 95; // "_".charCodeAt(0);
9
+ const CC0 = 48; // "0".charCodeAt(0);
10
+ const CC9 = 57; // "9".charCodeAt(0);
11
+ const CCa_offset10 = 87; // "a".charCodeAt(0) - 10;
12
+ const HEXMAP = "0123456789abcdef";
13
+ const h = (b, index) => {
14
+ const cc = b.charCodeAt(index);
15
+ return HEXMAP[cc >> 4] + HEXMAP[cc & 15];
16
+ };
17
+ const hb = (c) => (c <= CC9 ? c - CC0 : c - CCa_offset10);
18
+ const b = (h, i) => String.fromCharCode((hb(h.charCodeAt(i)) << 4) | hb(h.charCodeAt(i + 1)));
19
+ const toBase64UUID = (u) => {
20
+ const binary = `${b(u, 0)}${b(u, 2)}${b(u, 4)}${b(u, 6)}${b(u, 9)}${b(u, 11)}${b(u, 14)}${b(u, 16)}${b(u, 19)}${b(u, 21)}${b(u, 24)}${b(u, 26)}${b(u, 28)}${b(u, 30)}${b(u, 32)}${b(u, 34)}`;
21
+ const base64 = btoa(binary);
22
+ let base64Url = "";
23
+ let lastI = 0;
24
+ const base64Len = base64.length;
25
+ for (let i = 0; i < base64Len;) {
26
+ const cc = base64.charCodeAt(i);
27
+ switch (cc) {
28
+ case CCPlus:
29
+ base64Url += base64.substring(lastI, i) + "-";
30
+ lastI = ++i;
31
+ break;
32
+ case CCFSlash:
33
+ base64Url += base64.substring(lastI, i) + "_";
34
+ lastI = ++i;
35
+ break;
36
+ case CCEqual:
37
+ base64Url += base64.substring(lastI, i);
38
+ return base64Url;
39
+ default:
40
+ i++;
41
+ }
42
+ }
43
+ if (lastI < base64Len) {
44
+ base64Url += base64.substring(lastI);
45
+ }
46
+ return base64Url;
47
+ };
48
+ exports.toBase64UUID = toBase64UUID;
49
+ const fromBase64UUID = (cuuid) => {
50
+ let base64 = "";
51
+ let lastI = 0;
52
+ const cuuidLen = cuuid.length;
53
+ for (let i = 0; i < cuuidLen;) {
54
+ const cc = cuuid.charCodeAt(i);
55
+ switch (cc) {
56
+ case CCMinus:
57
+ base64 += cuuid.substring(lastI, i) + "+";
58
+ lastI = ++i;
59
+ break;
60
+ case CCUnderScore:
61
+ base64 += cuuid.substring(lastI, i) + "/";
62
+ lastI = ++i;
63
+ break;
64
+ default:
65
+ i++;
66
+ }
67
+ }
68
+ if (lastI < cuuidLen) {
69
+ base64 += cuuid.substring(lastI);
70
+ }
71
+ const b = atob(base64);
72
+ const uuid = `${h(b, 0)}${h(b, 1)}${h(b, 2)}${h(b, 3)}-${h(b, 4)}${h(b, 5)}-${h(b, 6)}${h(b, 7)}-${h(b, 8)}${h(b, 9)}-${h(b, 10)}${h(b, 11)}${h(b, 12)}${h(b, 13)}${h(b, 14)}${h(b, 15)}`;
73
+ return uuid;
74
+ };
75
+ exports.fromBase64UUID = fromBase64UUID;
76
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AASA,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,qBAAqB;AACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,qBAAqB;AAC1C,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,qBAAqB;AACzC,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,qBAAqB;AACzC,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,qBAAqB;AAC9C,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,qBAAqB;AACrC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,qBAAqB;AACrC,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,0BAA0B;AACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,KAAa,EAAE,EAAE;IACrC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,EAAE,IAAI,CAAC,CAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,CAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;AAElE,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACjC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAErE,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE;IAChD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC7L,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAI,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,QAAQ,EAAE,EAAE,CAAC;YACX,KAAK,MAAM;gBACT,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC9C,KAAK,GAAG,EAAE,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC9C,KAAK,GAAG,EAAE,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,OAAO;gBACV,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB;gBACE,CAAC,EAAE,CAAC;QACR,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtB,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AA5BW,QAAA,YAAY,gBA4BvB;AAEK,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAI,CAAC;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAQ,EAAE,EAAE,CAAC;YACX,KAAK,OAAO;gBACV,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC1C,KAAK,GAAG,EAAE,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC1C,KAAK,GAAG,EAAE,CAAC,CAAC;gBACZ,MAAM;YACR;gBACE,CAAC,EAAE,CAAC;QACR,CAAC;IACH,CAAC;IACD,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1L,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAzBW,QAAA,cAAc,kBAyBzB"}
@@ -0,0 +1,4 @@
1
+ import { DirWalkNode } from "./utils.ts";
2
+ export declare function walk(dir: string, rootPath?: string): AsyncGenerator<DirWalkNode>;
3
+ export declare const dynamicImport: (fullPath: string) => Promise<unknown>;
4
+ //# sourceMappingURL=utils.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.node.d.ts","sourceRoot":"","sources":["../src/utils.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzC,wBAAuB,IAAI,CACzB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAAC,WAAW,CAAC,CAiB7B;AAED,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAErE,CAAC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
12
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
13
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
14
+ var m = o[Symbol.asyncIterator], i;
15
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
16
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
17
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
18
+ };
19
+ var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
20
+ var i, p;
21
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
22
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
23
+ };
24
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
25
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
26
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
27
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
28
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
29
+ 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]); } }
30
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
31
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
32
+ function fulfill(value) { resume("next", value); }
33
+ function reject(value) { resume("throw", value); }
34
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.dynamicImport = void 0;
38
+ exports.walk = walk;
39
+ const promises_1 = require("node:fs/promises");
40
+ const node_path_1 = require("node:path");
41
+ function walk(dir, rootPath) {
42
+ return __asyncGenerator(this, arguments, function* walk_1() {
43
+ rootPath = rootPath || dir;
44
+ for (const entry of yield __await((0, promises_1.readdir)(dir, {
45
+ withFileTypes: true,
46
+ }))) {
47
+ const name = entry.name;
48
+ const parent = (0, node_path_1.relative)(rootPath, dir).replace(/\\/g, "/");
49
+ const path = (0, node_path_1.join)(dir, name).replace(/\\/g, "/");
50
+ const fullPath = (0, node_path_1.resolve)(dir, name).replace(/\\/g, "/");
51
+ const relativePath = (0, node_path_1.relative)(rootPath, path).replace(/\\/g, "/");
52
+ if (entry.isDirectory()) {
53
+ yield yield __await({ type: "dir", name, path, parent, fullPath, relativePath });
54
+ yield __await(yield* __asyncDelegator(__asyncValues(walk(path, rootPath))));
55
+ }
56
+ else {
57
+ yield yield __await({ type: "file", name, path, parent, fullPath, relativePath });
58
+ }
59
+ }
60
+ });
61
+ }
62
+ const dynamicImport = (fullPath) => __awaiter(void 0, void 0, void 0, function* () {
63
+ return yield import(fullPath);
64
+ });
65
+ exports.dynamicImport = dynamicImport;
66
+ //# sourceMappingURL=utils.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.node.js","sourceRoot":"","sources":["../src/utils.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAoBC;AAvBD,+CAA2C;AAC3C,yCAAoD;AAEpD,SAAuB,IAAI,CACzB,GAAW,EACX,QAAiB;;QAEjB,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,cAAM,IAAA,kBAAO,EAAC,GAAG,EAAE;YACrC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAA,EAAE,CAAC;YACH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,IAAA,oBAAQ,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAA,oBAAQ,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,oBAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA,CAAC;gBAClE,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA,CAAA,CAAA,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,oBAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAA,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;CAAA;AAEM,MAAM,aAAa,GAAG,CAAO,QAAgB,EAAoB,EAAE;IACxE,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC,CAAA,CAAC;AAFW,QAAA,aAAa,iBAExB"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@bepalo/spine",
3
+ "version": "1.0.3",
4
+ "description": "A fast and feature-rich javascript-runtime-agnostic HTTP request router.",
5
+ "author": "Natnael Eshetu",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/bepalo/spine.git"
10
+ },
11
+ "homepage": "https://github.com/bepalo/spine#readme",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js",
16
+ "require": "./dist/cjs/index.js"
17
+ }
18
+ },
19
+ "main": "./dist/cjs/index.js",
20
+ "module": "./dist/index.js",
21
+ "types": "./dist/index.d.ts",
22
+ "files": [
23
+ "dist/",
24
+ "LICENSE",
25
+ "README.md"
26
+ ],
27
+ "devDependencies": {
28
+ "@types/bun": "^1.3.14",
29
+ "@types/node": "^24.0.13",
30
+ "concurrently": "^9.2.1",
31
+ "typescript": "^5.8.3"
32
+ },
33
+ "keywords": [
34
+ "router",
35
+ "rest",
36
+ "http",
37
+ "https",
38
+ "middleware",
39
+ "backend",
40
+ "fast",
41
+ "efficient",
42
+ "modern",
43
+ "feature-rich"
44
+ ],
45
+ "dependencies": {
46
+ "@bepalo/rjson": "^2.2.12"
47
+ },
48
+ "scripts": {
49
+ "build:esm": "tsc --project tsconfig.esm.json",
50
+ "build:cjs": "tsc --project tsconfig.cjs.json",
51
+ "build": "concurrently \"pnpm run build:esm\" \"pnpm run build:cjs\"",
52
+ "build:watch": "concurrently \"tsc --watch --project tsconfig.esm.json\" \"tsc --watch --project tsconfig.cjs.json\"",
53
+ "test": "bun test",
54
+ "test:watch": "bun test --watch",
55
+ "test:coverage": "bun test --coverage"
56
+ }
57
+ }