jopi-toolkit 3.0.5 → 3.0.10

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 (114) hide show
  1. package/README.md +1 -1
  2. package/dist/jk_crypto/jBundler_ifServer.d.ts +2 -2
  3. package/dist/jk_crypto/jBundler_ifServer.js +8 -8
  4. package/dist/jk_crypto/jBundler_ifServer.js.map +1 -1
  5. package/dist/jk_events/index.d.ts +5 -5
  6. package/dist/jk_events/index.js +20 -10
  7. package/dist/jk_events/index.js.map +1 -1
  8. package/dist/jk_fs/jBundler_ifBrowser.d.ts +2 -2
  9. package/dist/jk_fs/jBundler_ifBrowser.js +2 -2
  10. package/dist/jk_fs/jBundler_ifServer.d.ts +39 -3
  11. package/dist/jk_fs/jBundler_ifServer.js +152 -3
  12. package/dist/jk_fs/jBundler_ifServer.js.map +1 -1
  13. package/dist/jk_logs/index.d.ts +54 -0
  14. package/dist/jk_logs/index.js +316 -0
  15. package/dist/jk_logs/index.js.map +1 -0
  16. package/dist/jk_logs/jBundler_ifBrowser.js.map +1 -0
  17. package/dist/jk_logs/jBundler_ifServer.d.ts +2 -0
  18. package/dist/jk_logs/jBundler_ifServer.js +25 -0
  19. package/dist/jk_logs/jBundler_ifServer.js.map +1 -0
  20. package/dist/jk_schemas/index.js +2 -0
  21. package/dist/jk_schemas/index.js.map +1 -1
  22. package/dist/jk_timer/index.js +9 -4
  23. package/dist/jk_timer/index.js.map +1 -1
  24. package/dist/jk_tools/common.d.ts +29 -0
  25. package/dist/jk_tools/common.js +89 -0
  26. package/dist/jk_tools/common.js.map +1 -0
  27. package/dist/jk_tools/index.d.ts +1 -20
  28. package/dist/jk_tools/index.js +1 -71
  29. package/dist/jk_tools/index.js.map +1 -1
  30. package/dist/jk_tools/jBundler_ifBrowser.d.ts +1 -0
  31. package/dist/jk_tools/jBundler_ifBrowser.js +2 -0
  32. package/dist/jk_tools/jBundler_ifBrowser.js.map +1 -0
  33. package/dist/jk_tools/jBundler_ifServer.d.ts +22 -0
  34. package/dist/jk_tools/jBundler_ifServer.js +75 -0
  35. package/dist/jk_tools/jBundler_ifServer.js.map +1 -0
  36. package/package.json +11 -4
  37. package/src/jk_crypto/jBundler_ifServer.ts +8 -8
  38. package/src/jk_events/index.js +17 -7
  39. package/src/jk_events/index.ts +24 -3
  40. package/src/jk_fs/jBundler_ifBrowser.ts +2 -2
  41. package/src/jk_fs/jBundler_ifServer.js +552 -0
  42. package/src/jk_fs/jBundler_ifServer.ts +171 -4
  43. package/src/jk_logs/index.ts +444 -0
  44. package/src/jk_logs/jBundler_ifBrowser.ts +2 -0
  45. package/src/jk_logs/jBundler_ifServer.ts +27 -0
  46. package/src/jk_thread/common.js +7 -0
  47. package/src/jk_tools/common.js +101 -0
  48. package/src/jk_tools/common.ts +99 -0
  49. package/src/jk_tools/index.js +1 -82
  50. package/src/jk_tools/index.ts +1 -82
  51. package/src/jk_tools/jBundler_ifBrowser.ts +1 -0
  52. package/src/jk_tools/jBundler_ifServer.js +167 -0
  53. package/src/jk_tools/jBundler_ifServer.ts +109 -0
  54. package/src/jk_what/jBundler_ifServer.js +5 -0
  55. package/dist/jk_appResolver/common.d.ts +0 -40
  56. package/dist/jk_appResolver/common.js +0 -306
  57. package/dist/jk_appResolver/common.js.map +0 -1
  58. package/dist/jk_appResolver/index.d.ts +0 -30
  59. package/dist/jk_appResolver/index.js +0 -276
  60. package/dist/jk_appResolver/index.js.map +0 -1
  61. package/dist/jk_appResolver/jBundler_ifBrowser.js.map +0 -1
  62. package/dist/jk_appResolver/jBundler_ifServer.d.ts +0 -1
  63. package/dist/jk_appResolver/jBundler_ifServer.js +0 -9
  64. package/dist/jk_appResolver/jBundler_ifServer.js.map +0 -1
  65. package/dist/jk_linker/TypeComposite.d.ts +0 -12
  66. package/dist/jk_linker/TypeComposite.js +0 -112
  67. package/dist/jk_linker/TypeComposite.js.map +0 -1
  68. package/dist/jk_linker/arobaseType_List.d.ts +0 -44
  69. package/dist/jk_linker/arobaseType_List.js +0 -183
  70. package/dist/jk_linker/arobaseType_List.js.map +0 -1
  71. package/dist/jk_linker/arobaseTypes.d.ts +0 -45
  72. package/dist/jk_linker/arobaseTypes.js +0 -181
  73. package/dist/jk_linker/arobaseTypes.js.map +0 -1
  74. package/dist/jk_linker/binding.d.ts +0 -1
  75. package/dist/jk_linker/binding.js +0 -13
  76. package/dist/jk_linker/binding.js.map +0 -1
  77. package/dist/jk_linker/engine.d.ts +0 -119
  78. package/dist/jk_linker/engine.js +0 -553
  79. package/dist/jk_linker/engine.js.map +0 -1
  80. package/dist/jk_linker/index.d.ts +0 -1
  81. package/dist/jk_linker/index.js +0 -2
  82. package/dist/jk_linker/index.js.map +0 -1
  83. package/dist/jk_linker/install.d.ts +0 -4
  84. package/dist/jk_linker/install.js +0 -44
  85. package/dist/jk_linker/install.js.map +0 -1
  86. package/dist/jk_linker/jBundler_ifServer.d.ts +0 -3
  87. package/dist/jk_linker/jBundler_ifServer.js +0 -4
  88. package/dist/jk_linker/jBundler_ifServer.js.map +0 -1
  89. package/dist/jk_linker/modulesInitProcessor.d.ts +0 -7
  90. package/dist/jk_linker/modulesInitProcessor.js +0 -36
  91. package/dist/jk_linker/modulesInitProcessor.js.map +0 -1
  92. package/dist/jk_linker/typeChunks.d.ts +0 -15
  93. package/dist/jk_linker/typeChunks.js +0 -42
  94. package/dist/jk_linker/typeChunks.js.map +0 -1
  95. package/dist/jk_linker/typeComposites.d.ts +0 -13
  96. package/dist/jk_linker/typeComposites.js +0 -121
  97. package/dist/jk_linker/typeComposites.js.map +0 -1
  98. package/dist/jk_linker/typeEvents.d.ts +0 -5
  99. package/dist/jk_linker/typeEvents.js +0 -29
  100. package/dist/jk_linker/typeEvents.js.map +0 -1
  101. package/dist/jk_linker/typeList.d.ts +0 -30
  102. package/dist/jk_linker/typeList.js +0 -144
  103. package/dist/jk_linker/typeList.js.map +0 -1
  104. package/dist/jk_linker/typeListeners.d.ts +0 -21
  105. package/dist/jk_linker/typeListeners.js +0 -188
  106. package/dist/jk_linker/typeListeners.js.map +0 -1
  107. package/dist/jk_linker/typeReplaces.d.ts +0 -8
  108. package/dist/jk_linker/typeReplaces.js +0 -41
  109. package/dist/jk_linker/typeReplaces.js.map +0 -1
  110. package/dist/jk_registry/index.d.ts +0 -11
  111. package/dist/jk_registry/index.js +0 -36
  112. package/dist/jk_registry/index.js.map +0 -1
  113. /package/dist/{jk_appResolver → jk_logs}/jBundler_ifBrowser.d.ts +0 -0
  114. /package/dist/{jk_appResolver → jk_logs}/jBundler_ifBrowser.js +0 -0
package/README.md CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  Jopi Toolkit is a set of tools offering facilities for code which must be executed on both the server side and browser side.
4
4
 
5
- It's architectured in order to work with the internal bundler of Jopi Rewrite, which will dynamically replace
5
+ It's architectured in order to work with the internal bundler of Jopi, which will dynamically replace
6
6
  the word "jBundler_ifServer" by "jBundler_ifBrowser".
@@ -1,5 +1,5 @@
1
- declare function node_md5(text: string): string;
2
- declare function node_fastHash(text: string): string;
1
+ declare function node_md5(data: string | Uint8Array): string;
2
+ declare function node_fastHash(data: string | Uint8Array): string;
3
3
  export declare const md5: typeof node_md5;
4
4
  export declare const fastHash: typeof node_fastHash;
5
5
  export {};
@@ -1,16 +1,16 @@
1
1
  import crypto from "node:crypto";
2
2
  import { isNodeJS } from "jopi-toolkit/jk_what";
3
- function node_md5(text) {
4
- return crypto.createHash('md5').update(text).digest('hex');
3
+ function node_md5(data) {
4
+ return crypto.createHash('md5').update(data).digest('hex');
5
5
  }
6
- function node_fastHash(text) {
7
- return crypto.createHash('sha256').update(text).digest('hex');
6
+ function node_fastHash(data) {
7
+ return crypto.createHash('sha256').update(data).digest('hex');
8
8
  }
9
- function bun_fastHash(text) {
10
- return Bun.hash(text).toString();
9
+ function bun_fastHash(data) {
10
+ return Bun.hash(data, 12346).toString();
11
11
  }
12
- function bun_md5(text) {
13
- return Bun.MD5.hash(text, "hex");
12
+ function bun_md5(data) {
13
+ return Bun.MD5.hash(data, "hex");
14
14
  }
15
15
  export const md5 = isNodeJS ? node_md5 : bun_md5;
16
16
  export const fastHash = isNodeJS ? node_fastHash : bun_fastHash;
@@ -1 +1 @@
1
- {"version":3,"file":"jBundler_ifServer.js","sourceRoot":"","sources":["../../src/jk_crypto/jBundler_ifServer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,SAAS,QAAQ,CAAC,IAAY;IAC1B,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAC/B,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IACzB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"jBundler_ifServer.js","sourceRoot":"","sources":["../../src/jk_crypto/jBundler_ifServer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAE9C,SAAS,QAAQ,CAAC,IAAyB;IACvC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,IAAyB;IAC5C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,IAAyB;IAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,OAAO,CAAC,IAAyB;IACtC,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC"}
@@ -19,13 +19,13 @@ export declare class EventGroup {
19
19
  */
20
20
  addProvider(eventName: string, provider: EventListenerProvider): void;
21
21
  }
22
- export declare class StaticEvent {
23
- readonly eventName: string;
24
- private readonly eventItems;
25
- constructor(eventName: string, eventItems: SyncEventListener[]);
22
+ export interface StaticEvent {
26
23
  send<T>(data: T): T;
27
24
  }
28
- export declare function createStaticEvent(eventName: string, eventItems: EventListener[]): StaticEvent;
25
+ export interface SEventController {
26
+ addListener(listener: SyncEventListener): (() => void);
27
+ }
28
+ export declare function createStaticEvent(eventName: string, eventItems: SyncEventListener[]): StaticEvent;
29
29
  export declare const defaultEventGroup: EventGroup;
30
30
  export declare function newEventGroup(): EventGroup;
31
31
  export declare const enableEventSpying: (spy: (eventName: string, data?: any) => void) => void;
@@ -2,10 +2,9 @@ import { PriorityLevel as EventPriority } from "jopi-toolkit/jk_tools";
2
2
  // Warning: it's export.
3
3
  export { PriorityLevel as EventPriority } from "jopi-toolkit/jk_tools";
4
4
  export class EventGroup {
5
- constructor() {
6
- this.listenersFor = {};
7
- this.providers = {};
8
- }
5
+ listenersFor = {};
6
+ evenSpy;
7
+ providers = {};
9
8
  newEventGroup() {
10
9
  return new EventGroup();
11
10
  }
@@ -31,6 +30,9 @@ export class EventGroup {
31
30
  }
32
31
  }
33
32
  async sendAsyncEvent(eventName, e) {
33
+ if (eventName[0] !== '@') {
34
+ throw new Error(`Async events ${eventName} must start with @`);
35
+ }
34
36
  if (this.evenSpy)
35
37
  this.evenSpy(eventName, e);
36
38
  let events = this.listenersFor[eventName];
@@ -84,9 +86,8 @@ export class EventGroup {
84
86
  * Allows building an array which entries are sorted by priority.
85
87
  */
86
88
  class PriorityArray {
87
- constructor() {
88
- this.entries = [];
89
- }
89
+ entries = [];
90
+ build;
90
91
  add(priority, value) {
91
92
  this.build = undefined;
92
93
  this.entries.push({ priority, value });
@@ -104,8 +105,9 @@ class PriorityArray {
104
105
  .map(e => e.value);
105
106
  }
106
107
  }
107
- //endregion
108
- export class StaticEvent {
108
+ class StaticEventImpl {
109
+ eventName;
110
+ eventItems;
109
111
  constructor(eventName, eventItems) {
110
112
  this.eventName = eventName;
111
113
  this.eventItems = eventItems;
@@ -116,9 +118,17 @@ export class StaticEvent {
116
118
  }
117
119
  return data;
118
120
  }
121
+ addListener(listener) {
122
+ this.eventItems.push(listener);
123
+ return () => {
124
+ let idx = this.eventItems.indexOf(listener);
125
+ if (idx >= 0)
126
+ this.eventItems.splice(idx, 1);
127
+ };
128
+ }
119
129
  }
120
130
  export function createStaticEvent(eventName, eventItems) {
121
- return new StaticEvent(eventName, eventItems);
131
+ return new StaticEventImpl(eventName, eventItems);
122
132
  }
123
133
  export const defaultEventGroup = new EventGroup();
124
134
  export function newEventGroup() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jk_events/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jk_events/index.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,9 @@ export declare function fileURLToPath(url: string): void;
15
15
  export declare function pathToFileURL(url: string): void;
16
16
  export declare function unlink(filePath: string): Promise<boolean>;
17
17
  export declare function writeTextToFile(filePath: string, text: string, createDir?: boolean): Promise<void>;
18
- export declare function writeTextSyncToFile(filePath: string, text: string, createDir?: boolean): void;
18
+ export declare function writeTextToFileSync(filePath: string, text: string, createDir?: boolean): void;
19
19
  export declare function readTextFromFile(filePath: string): Promise<string>;
20
- export declare function readTextSyncFromFile(filePath: string): string;
20
+ export declare function readTextFromFileSync(filePath: string): string;
21
21
  export declare function isFile(filePath: string): Promise<boolean>;
22
22
  export declare function isDirectory(filePath: string): Promise<boolean>;
23
23
  export declare function isDirectorySync(dirPath: string): void;
@@ -39,13 +39,13 @@ export async function unlink(filePath) {
39
39
  export async function writeTextToFile(filePath, text, createDir = true) {
40
40
  throw new Error("Not implemented");
41
41
  }
42
- export function writeTextSyncToFile(filePath, text, createDir = true) {
42
+ export function writeTextToFileSync(filePath, text, createDir = true) {
43
43
  throw new Error("Not implemented");
44
44
  }
45
45
  export function readTextFromFile(filePath) {
46
46
  throw new Error("Not implemented");
47
47
  }
48
- export function readTextSyncFromFile(filePath) {
48
+ export function readTextFromFileSync(filePath) {
49
49
  throw new Error("Not implemented");
50
50
  }
51
51
  export async function isFile(filePath) {
@@ -18,9 +18,10 @@ export declare const fileURLToPath: ((url: string) => string) | typeof n_fileURL
18
18
  export declare const pathToFileURL: typeof n_pathToFileURL;
19
19
  export declare function unlink(filePath: string): Promise<boolean>;
20
20
  export declare function writeTextToFile(filePath: string, text: string, createDir?: boolean): Promise<void>;
21
- export declare function writeTextSyncToFile(filePath: string, text: string, createDir?: boolean): void;
21
+ export declare function writeTextToFileSync(filePath: string, text: string, createDir?: boolean): void;
22
22
  export declare function readTextFromFile(filePath: string): Promise<string>;
23
- export declare function readTextSyncFromFile(filePath: string): string;
23
+ export declare function readJsonFromFile<T = any>(filePath: string): Promise<T>;
24
+ export declare function readTextFromFileSync(filePath: string): string;
24
25
  export declare function isFile(filePath: string): Promise<boolean>;
25
26
  export declare function isDirectory(filePath: string): Promise<boolean>;
26
27
  export declare function isDirectorySync(dirPath: string): boolean;
@@ -31,15 +32,50 @@ export declare function getRelativePath(fromDir: string, absolutePath: string):
31
32
  export declare function dirItemFromFile(filePath: string): DirItem;
32
33
  export declare function dirItemFromDir(dirPath: string): DirItem;
33
34
  export declare function listDir(dirPath: string): Promise<DirItem[]>;
35
+ declare function calcFileHash_bun(filePath: string): Promise<string | undefined>;
36
+ /**
37
+ * Calculate the hash of a file.
38
+ * Allows using it for HTTP ETag or another change proof.
39
+ * This version is optimized to use streams and avoid loading the whole file in memory.
40
+ */
41
+ export declare const calcFileHash: typeof calcFileHash_bun;
34
42
  /**
35
43
  * Convert a simple win32 path to a linux path.
36
44
  */
37
45
  export declare function win32ToLinuxPath(filePath: string): string;
46
+ /**
47
+ * Copy a directory recursively.
48
+ * Is optimized for large files.
49
+ */
50
+ export declare function copyDirectory(srcDir: string, destDir: string): Promise<void>;
51
+ /**
52
+ * Copy of a file.
53
+ * Is optimized for large files.
54
+ */
55
+ export declare function copyFile(srcPath: string, destPath: string): Promise<void>;
56
+ /**
57
+ * Unzip a .zip file in an optimized way.
58
+ * Note was using : "@types/unzipper": "^0.10.11"
59
+ * which has some bug, files/folders was forgottens.
60
+ * import * as unzipper from "unzipper";
61
+ */
62
+ /**
63
+ * Unzip a .zip file in an optimized way.
64
+ */
65
+ export declare function unzipFile(zipFilePath: string, outputDir: string): Promise<void>;
66
+ /**
67
+ * Create a temporary directory.
68
+ * Return an object containing the directory path and a cleanup function.
69
+ */
70
+ export declare function createTempDir(prefix: string): Promise<{
71
+ path: string;
72
+ remove: () => Promise<void>;
73
+ }>;
38
74
  export declare const join: (...paths: string[]) => string;
39
75
  export declare const resolve: (...paths: string[]) => string;
40
76
  export declare const dirname: (path: string) => string;
41
77
  export declare const extname: (path: string) => string;
42
- export declare const sep: "\\" | "/";
78
+ export declare const sep: "/" | "\\";
43
79
  export declare const isAbsolute: (path: string) => boolean;
44
80
  export declare const normalize: (path: string) => string;
45
81
  export declare const basename: (path: string, suffix?: string) => string;
@@ -1,12 +1,15 @@
1
1
  // noinspection JSUnusedGlobalSymbols
2
2
  import fs from "node:fs/promises";
3
- import fss, { createReadStream } from "node:fs";
3
+ import fss, { createReadStream, createWriteStream } from "node:fs";
4
4
  import { fileURLToPath as n_fileURLToPath, pathToFileURL as n_pathToFileURL } from "node:url";
5
5
  import { lookup } from "mime-types";
6
6
  import { Readable } from "node:stream";
7
7
  import path from "node:path";
8
+ import { createHash } from "node:crypto";
8
9
  import { isBunJS } from "jopi-toolkit/jk_what";
10
+ import AdmZip from 'adm-zip';
9
11
  class WebToNodeReadableStreamAdapter extends Readable {
12
+ webStreamReader;
10
13
  constructor(webStream) {
11
14
  super();
12
15
  this.webStreamReader = webStream.getReader();
@@ -164,7 +167,7 @@ export async function writeTextToFile(filePath, text, createDir = true) {
164
167
  await mkDir(path.dirname(filePath));
165
168
  await fs.writeFile(filePath, text, { encoding: 'utf8', flag: 'w' });
166
169
  }
167
- export function writeTextSyncToFile(filePath, text, createDir = true) {
170
+ export function writeTextToFileSync(filePath, text, createDir = true) {
168
171
  if (createDir) {
169
172
  try {
170
173
  fss.mkdirSync(path.dirname(filePath), { recursive: true });
@@ -176,7 +179,11 @@ export function writeTextSyncToFile(filePath, text, createDir = true) {
176
179
  export function readTextFromFile(filePath) {
177
180
  return fs.readFile(filePath, 'utf8');
178
181
  }
179
- export function readTextSyncFromFile(filePath) {
182
+ export async function readJsonFromFile(filePath) {
183
+ let txt = await fs.readFile(filePath, 'utf8');
184
+ return JSON.parse(txt);
185
+ }
186
+ export function readTextFromFileSync(filePath) {
180
187
  return fss.readFileSync(filePath, 'utf8');
181
188
  }
182
189
  export async function isFile(filePath) {
@@ -267,12 +274,153 @@ export async function listDir(dirPath) {
267
274
  }
268
275
  return result;
269
276
  }
277
+ const MEGA = 1024 * 1024;
278
+ async function calcFileHash_bun(filePath) {
279
+ const file = Bun.file(filePath);
280
+ if (!await file.exists())
281
+ return undefined;
282
+ if (file.size > 10 * MEGA) {
283
+ return calcFileHash_bun_streamed(file);
284
+ }
285
+ return Bun.hash(await file.arrayBuffer(), 12346).toString();
286
+ }
287
+ async function calcFileHash_bun_streamed(file) {
288
+ const stream = file.stream();
289
+ const reader = stream.getReader();
290
+ const hasher = new Bun.CryptoHasher("sha256");
291
+ try {
292
+ while (true) {
293
+ const { done, value } = await reader.read();
294
+ if (done)
295
+ break;
296
+ hasher.update(value);
297
+ }
298
+ return hasher.digest("hex");
299
+ }
300
+ finally {
301
+ reader.releaseLock();
302
+ }
303
+ }
304
+ function calcFileHash_node(filePath) {
305
+ if (!isFile(filePath))
306
+ return Promise.resolve(undefined);
307
+ return new Promise((resolve, reject) => {
308
+ const hash = createHash('sha256');
309
+ const stream = createReadStream(filePath);
310
+ stream.on('data', (data) => hash.update(data));
311
+ stream.on('end', () => resolve(hash.digest('hex')));
312
+ stream.on('error', (error) => reject(error));
313
+ });
314
+ }
315
+ /**
316
+ * Calculate the hash of a file.
317
+ * Allows using it for HTTP ETag or another change proof.
318
+ * This version is optimized to use streams and avoid loading the whole file in memory.
319
+ */
320
+ export const calcFileHash = isBunJS ? calcFileHash_bun : calcFileHash_node;
270
321
  /**
271
322
  * Convert a simple win32 path to a linux path.
272
323
  */
273
324
  export function win32ToLinuxPath(filePath) {
274
325
  return filePath.replace(/\\/g, '/');
275
326
  }
327
+ /**
328
+ * Copy a directory recursively.
329
+ * Is optimized for large files.
330
+ */
331
+ export async function copyDirectory(srcDir, destDir) {
332
+ if (!await isDirectory(srcDir)) {
333
+ throw new Error(`Directory doesn't exist : ${srcDir}`);
334
+ }
335
+ await mkDir(destDir);
336
+ const entries = await fs.readdir(srcDir, { withFileTypes: true });
337
+ await Promise.all(entries.map(async (entry) => {
338
+ const srcPath = path.join(srcDir, entry.name);
339
+ const destPath = path.join(destDir, entry.name);
340
+ if (entry.isDirectory()) {
341
+ await copyDirectory(srcPath, destPath);
342
+ }
343
+ else {
344
+ try {
345
+ await copyFile(srcPath, destPath);
346
+ }
347
+ catch {
348
+ console.warn(`jk_fs.copyDirectory - Failed to copy file ${srcPath}`);
349
+ }
350
+ }
351
+ }));
352
+ }
353
+ /**
354
+ * Copy of a file.
355
+ * Is optimized for large files.
356
+ */
357
+ export async function copyFile(srcPath, destPath) {
358
+ let stat = await getFileStat(srcPath);
359
+ if (!stat)
360
+ return;
361
+ // Assert the symlink exist.
362
+ if (stat.isSymbolicLink()) {
363
+ const symStat = await fs.lstat(srcPath);
364
+ if (!symStat)
365
+ return;
366
+ if (!symStat.isFile())
367
+ return;
368
+ }
369
+ return new Promise((resolve, reject) => {
370
+ const readStream = createReadStream(srcPath);
371
+ const writeStream = createWriteStream(destPath);
372
+ readStream.on('error', reject);
373
+ writeStream.on('error', reject);
374
+ writeStream.on('finish', resolve);
375
+ readStream.pipe(writeStream);
376
+ });
377
+ }
378
+ /**
379
+ * Unzip a .zip file in an optimized way.
380
+ * Note was using : "@types/unzipper": "^0.10.11"
381
+ * which has some bug, files/folders was forgottens.
382
+ * import * as unzipper from "unzipper";
383
+ */
384
+ /*export async function unzipFile_old(zipFilePath: string, outputDir: string): Promise<void> {
385
+ if (!await isFile(zipFilePath)) {
386
+ throw new Error(`File doesn't exist : ${zipFilePath}`);
387
+ }
388
+
389
+ if (!await isDirectory(outputDir)) {
390
+ await mkDir(outputDir);
391
+ }
392
+
393
+ await createReadStream(zipFilePath)
394
+ .pipe(unzipper.Extract({path: outputDir}))
395
+ .promise();
396
+ }*/
397
+ /**
398
+ * Unzip a .zip file in an optimized way.
399
+ */
400
+ export async function unzipFile(zipFilePath, outputDir) {
401
+ if (!await isFile(zipFilePath)) {
402
+ throw new Error(`File doesn't exist : ${zipFilePath}`);
403
+ }
404
+ if (!await isDirectory(outputDir)) {
405
+ await mkDir(outputDir);
406
+ }
407
+ const zip = new AdmZip(zipFilePath);
408
+ zip.extractAllTo(outputDir, true);
409
+ }
410
+ /**
411
+ * Create a temporary directory.
412
+ * Return an object containing the directory path and a cleanup function.
413
+ */
414
+ export async function createTempDir(prefix) {
415
+ const dirPath = await fs.mkdtemp(prefix);
416
+ return {
417
+ path: dirPath,
418
+ remove: async () => {
419
+ return fs.rm(dirPath, { recursive: true, force: true });
420
+ }
421
+ };
422
+ }
423
+ //region Node.js functions
276
424
  export const join = path.join;
277
425
  export const resolve = path.resolve;
278
426
  export const dirname = path.dirname;
@@ -283,4 +431,5 @@ export const normalize = path.normalize;
283
431
  export const basename = path.basename;
284
432
  export const symlink = fs.symlink;
285
433
  export const rename = fs.rename;
434
+ //endregion
286
435
  //# sourceMappingURL=jBundler_ifServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jBundler_ifServer.js","sourceRoot":"","sources":["../../src/jk_fs/jBundler_ifServer.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,GAAG,EAAE,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAC,aAAa,IAAI,eAAe,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAG7C,MAAM,8BAA+B,SAAQ,QAAQ;IAGjD,YAAY,SAA8B;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,KAAK;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACjD,IAAI,IAAI,EAAE,CAAC;gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,GAAiB,EAAE,QAAwC;QAChE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACJ;AAED,KAAK,UAAU,wBAAwB,CAAC,QAAkB,EAAE,QAAgB,EAAE,YAAqB,IAAI;IACnG,IAAI,SAAS;QAAE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO;IACtC,CAAC,CAAC,KAAK,EAAE,CAAW,EAAE,CAAS,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,wBAAwB,CAAC;AAE/B,MAAM,UAAU,qBAAqB,CAAC,UAAoB,EAAE,UAAmB;IAC3E,IAAI,YAAqC,CAAC;IAC1C,IAAI,WAAuB,CAAC;IAC5B,IAAI,aAAmC,CAAC;IAExC,OAAO,IAAI,cAAc,CAAC;QACtB,KAAK,CAAC,UAAU;YACZ,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;gBAC7B,IAAI,CAAC;oBACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,UAAU,EAAE,CAAC;wBACb,OAAO,CAAC,GAAG,CAAC,6CAA6C,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC/E,CAAC;oBAED,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;oBAC1E,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBACrC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACnC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC,CAAC;YAEF,WAAW,GAAG,GAAG,EAAE;gBACf,IAAI,CAAC;oBACD,UAAU,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,IAAI,UAAU,EAAE,CAAC;wBACb,OAAO,CAAC,GAAG,CAAC,2CAA2C,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;oBAC7E,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YAEF,aAAa,GAAG,CAAC,GAAU,EAAE,EAAE;gBAC3B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACrC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACvC,CAAC,CAAC;YAEF,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACpC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,CAAC,MAAM;YACT,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,gDAAgD,UAAU,aAAa,MAAM,IAAI,qBAAqB,EAAE,CAAE,CAAC;YAC3H,CAAC;YAED,IAAI,YAAY;gBAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACvD,IAAI,WAAW;gBAAE,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACpD,IAAI,aAAa;gBAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE1D,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3C,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAyB;IAC3D,OAAO,IAAI,8BAA8B,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgB,EAAE,SAAiB,GAAG,EAAE,OAAyC;IAClH,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,IAAI,QAAQ,CAAC,iBAAiB,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO;IACzC,CAAC,CAAC,CAAC,QAAgB,EAAE,SAAiB,GAAG,EAAE,OAAyC,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC;IAC5I,CAAC,CAAC,2BAA2B,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAC9C,IAAI,CAAC;QAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAC9C,MAAM,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAC9C,IAAI,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IACvC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAG,KAAK;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe;IACvC,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe;IACvC,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO;IAChC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;IACzC,CAAC,CAAC,eAAe,CAAC;AAEtB,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO;IAChC,CAAC,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IAC/C,CAAC,CAAC,eAAe,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IACzC,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAC/C,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAY,EAAE,YAAqB,IAAI;IAC3F,IAAI,SAAS;QAAE,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,IAAY,EAAE,YAAqB,IAAI;IACzF,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACd,CAAC;IACD,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACjD,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IACzC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAC9C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC3C,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC;IACP,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACtC,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC;IACP,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAChD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO;IAClC,CAAC,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;IACxD,CAAC,CAAC,oBAAoB,CAAA;AAE1B,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,YAAoB;IACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC5C,OAAO;QACH,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACxB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK;KAC1D,CAAA;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC1C,OAAO;QACH,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK;KAC1D,CAAA;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe;IACzC,IAAI,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAY;YACjB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACrC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK;SAC3D,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;YAC1B,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YACzB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACrB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAChC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5B,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,SAAS;QACb,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AACpC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAEpC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;AAClC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC"}
1
+ {"version":3,"file":"jBundler_ifServer.js","sourceRoot":"","sources":["../../src/jk_fs/jBundler_ifServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export interface LogEntry {
2
+ level: LogLevel;
3
+ logger: string;
4
+ date: number;
5
+ title?: string;
6
+ data?: any;
7
+ timeDif?: number;
8
+ }
9
+ export type LogEntryFormater = (entry: LogEntry) => string;
10
+ export declare enum LogLevel {
11
+ SPAM = 1,
12
+ INFO = 2,
13
+ WARN = 3,
14
+ ERROR = 4,
15
+ NONE = 10
16
+ }
17
+ export type LogCall = string | ((w: LogLevelHandler) => void);
18
+ export declare function formatDate1(timeStamp: number): string;
19
+ export declare const formater_simpleJson: LogEntryFormater;
20
+ export declare const formater_dateTypeTitleSourceData: LogEntryFormater;
21
+ export declare const formater_typeTitleSourceData_colored: LogEntryFormater;
22
+ export interface LogWriter {
23
+ addEntry(entry: LogEntry): void;
24
+ addBatch(entries: LogEntry[]): void;
25
+ }
26
+ export declare class VoidLogWriter implements LogWriter {
27
+ addBatch(_entries: LogEntry[]): void;
28
+ addEntry(_entry: LogEntry): void;
29
+ }
30
+ export declare function setDefaultWriter(writer: LogWriter): void;
31
+ export declare function getDefaultWriter(): LogWriter;
32
+ export declare function setDefaultFormater(formater: LogEntryFormater): void;
33
+ export declare function getDefaultFormater(): LogEntryFormater;
34
+ export interface Logger {
35
+ get fullName(): string;
36
+ spam(_l?: LogCall): boolean;
37
+ info(_l?: LogCall): boolean;
38
+ warn(_l?: LogCall): boolean;
39
+ error(_l?: LogCall): boolean;
40
+ beginSpam(l: LogCall): LoggerGroupCallback;
41
+ beginInfo(l: LogCall): LoggerGroupCallback;
42
+ }
43
+ export declare function getLogger(name: string, parent?: Logger): Logger;
44
+ export type LoggerGroupCallback = (data?: any) => void;
45
+ type LogLevelHandler = (title?: string, data?: any | undefined) => void;
46
+ export interface LogConfig {
47
+ level?: string;
48
+ writer?: string;
49
+ formater?: string;
50
+ }
51
+ export interface LogInitializer {
52
+ setLogLevel(name: string, config: LogConfig): void;
53
+ }
54
+ export {};