@gesslar/toolkit 2.4.0 → 2.6.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.
- package/package.json +1 -1
- package/src/lib/CappedDirectoryObject.js +69 -0
- package/src/lib/DirectoryObject.js +42 -1
- package/src/lib/FS.js +1 -1
- package/src/lib/FileObject.js +18 -18
- package/src/lib/Glog.js +230 -6
- package/src/types/lib/CappedDirectoryObject.d.ts +6 -0
- package/src/types/lib/CappedDirectoryObject.d.ts.map +1 -1
- package/src/types/lib/DirectoryObject.d.ts +15 -0
- package/src/types/lib/DirectoryObject.d.ts.map +1 -1
- package/src/types/lib/FileObject.d.ts +4 -4
- package/src/types/lib/FileObject.d.ts.map +1 -1
- package/src/types/lib/Glog.d.ts +85 -0
- package/src/types/lib/Glog.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -157,6 +157,75 @@ export default class CappedDirectoryObject extends DirectoryObject {
|
|
|
157
157
|
return true
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
+
/**
|
|
161
|
+
* Returns the parent directory of this capped directory.
|
|
162
|
+
* Returns null only if this directory is at the cap (the "root" of the capped tree).
|
|
163
|
+
*
|
|
164
|
+
* Note: The returned parent is a plain DirectoryObject (not capped).
|
|
165
|
+
* Use getDirectory() for creating capped subdirectories.
|
|
166
|
+
*
|
|
167
|
+
* @returns {DirectoryObject|null} Parent directory or null if at cap root
|
|
168
|
+
* @example
|
|
169
|
+
* const capped = new TempDirectoryObject("myapp")
|
|
170
|
+
* const subdir = capped.getDirectory("data")
|
|
171
|
+
* console.log(subdir.parent.path) // Returns parent DirectoryObject
|
|
172
|
+
* console.log(capped.parent) // null (at cap root)
|
|
173
|
+
*/
|
|
174
|
+
get parent() {
|
|
175
|
+
const capResolved = path.resolve(this.#cap)
|
|
176
|
+
|
|
177
|
+
// If we're at the cap, return null (cap is the "root")
|
|
178
|
+
if(this.path === capResolved) {
|
|
179
|
+
return null
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Otherwise return the parent (plain DirectoryObject, not capped)
|
|
183
|
+
return super.parent
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Generator that walks up the directory tree, stopping at the cap.
|
|
188
|
+
* Yields parent directories from current up to (and including) the cap root.
|
|
189
|
+
*
|
|
190
|
+
* @returns {Generator<DirectoryObject>} Generator yielding parent DirectoryObject instances
|
|
191
|
+
* @example
|
|
192
|
+
* const capped = new TempDirectoryObject("myapp")
|
|
193
|
+
* const deep = capped.getDirectory("data").getDirectory("files")
|
|
194
|
+
* for(const parent of deep.walkUp) {
|
|
195
|
+
* console.log(parent.path)
|
|
196
|
+
* // .../myapp-ABC123/data/files
|
|
197
|
+
* // .../myapp-ABC123/data
|
|
198
|
+
* // .../myapp-ABC123 (stops at cap)
|
|
199
|
+
* }
|
|
200
|
+
*/
|
|
201
|
+
*#walkUpCapped() {
|
|
202
|
+
const capResolved = path.resolve(this.#cap)
|
|
203
|
+
|
|
204
|
+
// Use super.walkUp but stop when we would go beyond the cap
|
|
205
|
+
for(const dir of super.walkUp) {
|
|
206
|
+
// Don't yield anything beyond the cap
|
|
207
|
+
if(!dir.path.startsWith(capResolved)) {
|
|
208
|
+
break
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
yield dir
|
|
212
|
+
|
|
213
|
+
// Stop after yielding the cap
|
|
214
|
+
if(dir.path === capResolved) {
|
|
215
|
+
break
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Returns a generator that walks up to the cap.
|
|
222
|
+
*
|
|
223
|
+
* @returns {Generator<DirectoryObject>} Generator yielding parent directories
|
|
224
|
+
*/
|
|
225
|
+
get walkUp() {
|
|
226
|
+
return this.#walkUpCapped()
|
|
227
|
+
}
|
|
228
|
+
|
|
160
229
|
/**
|
|
161
230
|
* Creates a new CappedDirectoryObject by extending this directory's path.
|
|
162
231
|
*
|
|
@@ -37,6 +37,7 @@ import Sass from "./Sass.js"
|
|
|
37
37
|
* @property {boolean} temporary - Whether this is marked as a temporary directory
|
|
38
38
|
* @property {boolean} isFile - Always false (this is a directory)
|
|
39
39
|
* @property {boolean} isDirectory - Always true
|
|
40
|
+
* @property {DirectoryObject|null} parent - The parent directory (null if root)
|
|
40
41
|
* @property {Promise<boolean>} exists - Whether the directory exists (async getter)
|
|
41
42
|
* @property {Generator<DirectoryObject>} walkUp - Generator yielding parent directories up to root
|
|
42
43
|
*
|
|
@@ -89,6 +90,14 @@ export default class DirectoryObject extends FS {
|
|
|
89
90
|
temporary: null,
|
|
90
91
|
})
|
|
91
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Cached parent directory object
|
|
95
|
+
*
|
|
96
|
+
* @type {DirectoryObject|null|undefined}
|
|
97
|
+
* @private
|
|
98
|
+
*/
|
|
99
|
+
#parent = undefined
|
|
100
|
+
|
|
92
101
|
/**
|
|
93
102
|
* Constructs a DirectoryObject instance.
|
|
94
103
|
*
|
|
@@ -147,7 +156,8 @@ export default class DirectoryObject extends FS {
|
|
|
147
156
|
module: this.module,
|
|
148
157
|
extension: this.extension,
|
|
149
158
|
isFile: this.isFile,
|
|
150
|
-
isDirectory: this.isDirectory
|
|
159
|
+
isDirectory: this.isDirectory,
|
|
160
|
+
parent: this.parent ? this.parent.path : null
|
|
151
161
|
}
|
|
152
162
|
}
|
|
153
163
|
|
|
@@ -253,6 +263,37 @@ export default class DirectoryObject extends FS {
|
|
|
253
263
|
return this.#meta.temporary
|
|
254
264
|
}
|
|
255
265
|
|
|
266
|
+
/**
|
|
267
|
+
* Returns the parent directory of this directory.
|
|
268
|
+
* Returns null if this directory is the root directory.
|
|
269
|
+
* Computed lazily on first access and cached.
|
|
270
|
+
*
|
|
271
|
+
* @returns {DirectoryObject|null} The parent directory or null if root
|
|
272
|
+
* @example
|
|
273
|
+
* const dir = new DirectoryObject('/path/to/directory')
|
|
274
|
+
* console.log(dir.parent.path) // '/path/to'
|
|
275
|
+
*
|
|
276
|
+
* const root = new DirectoryObject('/')
|
|
277
|
+
* console.log(root.parent) // null
|
|
278
|
+
*/
|
|
279
|
+
get parent() {
|
|
280
|
+
// Return cached value if available
|
|
281
|
+
if(this.#parent !== undefined) {
|
|
282
|
+
return this.#parent
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// Compute parent directory (null if we're at root)
|
|
286
|
+
const parentPath = path.dirname(this.path)
|
|
287
|
+
const isRoot = parentPath === this.path
|
|
288
|
+
|
|
289
|
+
// Cache and return
|
|
290
|
+
this.#parent = isRoot
|
|
291
|
+
? null
|
|
292
|
+
: new DirectoryObject(parentPath, this.temporary)
|
|
293
|
+
|
|
294
|
+
return this.#parent
|
|
295
|
+
}
|
|
296
|
+
|
|
256
297
|
/**
|
|
257
298
|
* Recursively removes a temporary directory and all its contents.
|
|
258
299
|
*
|
package/src/lib/FS.js
CHANGED
|
@@ -129,7 +129,7 @@ export default class FS {
|
|
|
129
129
|
static relativeOrAbsolutePath(from, to) {
|
|
130
130
|
const fromBasePath = from.isDirectory
|
|
131
131
|
? from.path
|
|
132
|
-
: from.
|
|
132
|
+
: from.parent?.path ?? path.dirname(from.path)
|
|
133
133
|
|
|
134
134
|
const relative = path.relative(fromBasePath, to.path)
|
|
135
135
|
|
package/src/lib/FileObject.js
CHANGED
|
@@ -29,7 +29,7 @@ import Valid from "./Valid.js"
|
|
|
29
29
|
* @property {string} extension - The file extension
|
|
30
30
|
* @property {boolean} isFile - Always true for files
|
|
31
31
|
* @property {boolean} isDirectory - Always false for files
|
|
32
|
-
* @property {DirectoryObject}
|
|
32
|
+
* @property {DirectoryObject} parent - The parent directory object
|
|
33
33
|
* @property {Promise<boolean>} exists - Whether the file exists (async)
|
|
34
34
|
*/
|
|
35
35
|
|
|
@@ -58,7 +58,7 @@ export default class FileObject extends FS {
|
|
|
58
58
|
* @property {string|null} extension - The file extension
|
|
59
59
|
* @property {boolean} isFile - Always true
|
|
60
60
|
* @property {boolean} isDirectory - Always false
|
|
61
|
-
* @property {DirectoryObject|null}
|
|
61
|
+
* @property {DirectoryObject|null} parent - The parent directory object
|
|
62
62
|
*/
|
|
63
63
|
#meta = Object.seal({
|
|
64
64
|
supplied: null,
|
|
@@ -69,16 +69,16 @@ export default class FileObject extends FS {
|
|
|
69
69
|
extension: null,
|
|
70
70
|
isFile: true,
|
|
71
71
|
isDirectory: false,
|
|
72
|
-
|
|
72
|
+
parent: null,
|
|
73
73
|
})
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* Constructs a FileObject instance.
|
|
77
77
|
*
|
|
78
78
|
* @param {string | FileObject} fileName - The file path or FileObject
|
|
79
|
-
* @param {DirectoryObject|string|null} [
|
|
79
|
+
* @param {DirectoryObject|string|null} [parent] - The parent directory (object or string)
|
|
80
80
|
*/
|
|
81
|
-
constructor(fileName,
|
|
81
|
+
constructor(fileName, parent=null) {
|
|
82
82
|
super()
|
|
83
83
|
|
|
84
84
|
// If passed a FileObject, extract its path
|
|
@@ -93,19 +93,19 @@ export default class FileObject extends FS {
|
|
|
93
93
|
|
|
94
94
|
const {dir,base,ext} = this.#deconstructFilenameToParts(fixedFile)
|
|
95
95
|
|
|
96
|
-
const
|
|
97
|
-
switch(Data.typeOf(
|
|
96
|
+
const parentObject = (() => {
|
|
97
|
+
switch(Data.typeOf(parent)) {
|
|
98
98
|
case "String":
|
|
99
|
-
return new DirectoryObject(
|
|
99
|
+
return new DirectoryObject(parent)
|
|
100
100
|
case "DirectoryObject":
|
|
101
101
|
case "TempDirectoryObject":
|
|
102
|
-
return
|
|
102
|
+
return parent
|
|
103
103
|
default:
|
|
104
104
|
return new DirectoryObject(dir)
|
|
105
105
|
}
|
|
106
106
|
})()
|
|
107
107
|
|
|
108
|
-
const final = FS.resolvePath(
|
|
108
|
+
const final = FS.resolvePath(parentObject.path ?? ".", fixedFile)
|
|
109
109
|
|
|
110
110
|
const resolved = final
|
|
111
111
|
const url = new URL(FS.pathToUri(resolved))
|
|
@@ -116,7 +116,7 @@ export default class FileObject extends FS {
|
|
|
116
116
|
this.#meta.name = base
|
|
117
117
|
this.#meta.extension = ext
|
|
118
118
|
this.#meta.module = path.basename(this.supplied, this.extension)
|
|
119
|
-
this.#meta.
|
|
119
|
+
this.#meta.parent = parentObject
|
|
120
120
|
|
|
121
121
|
Object.freeze(this.#meta)
|
|
122
122
|
}
|
|
@@ -145,7 +145,7 @@ export default class FileObject extends FS {
|
|
|
145
145
|
extension: this.extension,
|
|
146
146
|
isFile: this.isFile,
|
|
147
147
|
isDirectory: this.isDirectory,
|
|
148
|
-
|
|
148
|
+
parent: this.parent ? this.parent.path : null
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
|
|
@@ -253,8 +253,8 @@ export default class FileObject extends FS {
|
|
|
253
253
|
*
|
|
254
254
|
* @returns {DirectoryObject} The parent directory object
|
|
255
255
|
*/
|
|
256
|
-
get
|
|
257
|
-
return this.#meta.
|
|
256
|
+
get parent() {
|
|
257
|
+
return this.#meta.parent
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
/**
|
|
@@ -411,11 +411,11 @@ export default class FileObject extends FS {
|
|
|
411
411
|
if(!this.url)
|
|
412
412
|
throw Sass.new("No URL in file")
|
|
413
413
|
|
|
414
|
-
if(await this.
|
|
414
|
+
if(await this.parent.exists)
|
|
415
415
|
await fs.writeFile(this.url, content, encoding)
|
|
416
416
|
|
|
417
417
|
else
|
|
418
|
-
throw Sass.new(`Invalid directory, ${this.
|
|
418
|
+
throw Sass.new(`Invalid directory, ${this.parent.url.href}`)
|
|
419
419
|
}
|
|
420
420
|
|
|
421
421
|
/**
|
|
@@ -438,8 +438,8 @@ export default class FileObject extends FS {
|
|
|
438
438
|
if(!this.url)
|
|
439
439
|
throw Sass.new("No URL in file")
|
|
440
440
|
|
|
441
|
-
const exists = await this.
|
|
442
|
-
Valid.assert(exists, `Invalid directory, ${this.
|
|
441
|
+
const exists = await this.parent.exists
|
|
442
|
+
Valid.assert(exists, `Invalid directory, ${this.parent.url.href}`)
|
|
443
443
|
|
|
444
444
|
Valid.assert(Data.isBinary(data), "Data must be binary (ArrayBuffer, TypedArray, Blob, or Buffer)")
|
|
445
445
|
|
package/src/lib/Glog.js
CHANGED
|
@@ -33,6 +33,15 @@ export const loggerColours = {
|
|
|
33
33
|
reset: "{/}", // Reset
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
// Symbol alternatives for tags
|
|
37
|
+
export const logSymbols = {
|
|
38
|
+
debug: "?",
|
|
39
|
+
info: "i",
|
|
40
|
+
warn: "!",
|
|
41
|
+
error: "✗",
|
|
42
|
+
success: "✓"
|
|
43
|
+
}
|
|
44
|
+
|
|
36
45
|
// Set up convenient aliases for common log colors
|
|
37
46
|
c.alias.set("debug", "{F033}")
|
|
38
47
|
c.alias.set("info", "{F036}")
|
|
@@ -50,6 +59,7 @@ class Glog {
|
|
|
50
59
|
static colors = null
|
|
51
60
|
static stackTrace = false
|
|
52
61
|
static name = ""
|
|
62
|
+
static tagsAsStrings = false
|
|
53
63
|
|
|
54
64
|
// Instance properties (for configured loggers)
|
|
55
65
|
#logLevel = 0
|
|
@@ -57,6 +67,8 @@ class Glog {
|
|
|
57
67
|
#colors = null
|
|
58
68
|
#stackTrace = false
|
|
59
69
|
#name = ""
|
|
70
|
+
#tagsAsStrings = false
|
|
71
|
+
#displayName = true
|
|
60
72
|
#vscodeError = null
|
|
61
73
|
#vscodeWarn = null
|
|
62
74
|
#vscodeInfo = null
|
|
@@ -87,6 +99,8 @@ class Glog {
|
|
|
87
99
|
this.#logPrefix = options.prefix ?? this.#logPrefix
|
|
88
100
|
this.#colors = options.colors ?? this.#colors
|
|
89
101
|
this.#stackTrace = options.stackTrace ?? this.#stackTrace
|
|
102
|
+
this.#tagsAsStrings = options.tagsAsStrings ?? this.#tagsAsStrings
|
|
103
|
+
this.#displayName = options.displayName ?? this.#displayName
|
|
90
104
|
|
|
91
105
|
return this
|
|
92
106
|
}
|
|
@@ -123,6 +137,12 @@ class Glog {
|
|
|
123
137
|
return this
|
|
124
138
|
}
|
|
125
139
|
|
|
140
|
+
static withTagsAsStrings(enabled = false) {
|
|
141
|
+
this.tagsAsStrings = enabled
|
|
142
|
+
|
|
143
|
+
return this
|
|
144
|
+
}
|
|
145
|
+
|
|
126
146
|
// === FLUENT INSTANCE CREATION ===
|
|
127
147
|
|
|
128
148
|
static create(options = {}) {
|
|
@@ -159,6 +179,18 @@ class Glog {
|
|
|
159
179
|
return this
|
|
160
180
|
}
|
|
161
181
|
|
|
182
|
+
withTagsAsStrings(enabled = false) {
|
|
183
|
+
this.#tagsAsStrings = enabled
|
|
184
|
+
|
|
185
|
+
return this
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
noDisplayName() {
|
|
189
|
+
this.#displayName = false
|
|
190
|
+
|
|
191
|
+
return this
|
|
192
|
+
}
|
|
193
|
+
|
|
162
194
|
// === UTILITY METHODS ===
|
|
163
195
|
|
|
164
196
|
get name() {
|
|
@@ -182,19 +214,28 @@ class Glog {
|
|
|
182
214
|
#compose(level, message, debugLevel = 0) {
|
|
183
215
|
const colors = this.#colors || Glog.colors || loggerColours
|
|
184
216
|
const name = this.#name || Glog.name || "Log"
|
|
185
|
-
const
|
|
217
|
+
const useStrings = this.#tagsAsStrings || Glog.tagsAsStrings
|
|
218
|
+
const showName = this.#displayName
|
|
219
|
+
const tag = useStrings ? Util.capitalize(level) : logSymbols[level]
|
|
220
|
+
const namePrefix = showName ? `[${name}] ` : ""
|
|
186
221
|
|
|
187
222
|
if(!colors) {
|
|
188
|
-
return
|
|
223
|
+
return useStrings
|
|
224
|
+
? `${namePrefix}${tag}: ${message}`
|
|
225
|
+
: `${namePrefix}${tag} ${message}`
|
|
189
226
|
}
|
|
190
227
|
|
|
191
228
|
if(level === "debug") {
|
|
192
229
|
const colorCode = colors[level][debugLevel] || colors[level][0]
|
|
193
230
|
|
|
194
|
-
return
|
|
231
|
+
return useStrings
|
|
232
|
+
? c`${namePrefix}${colorCode}${tag}{/}: ${message}`
|
|
233
|
+
: c`${namePrefix}${colorCode}${tag}{/} ${message}`
|
|
195
234
|
}
|
|
196
235
|
|
|
197
|
-
return
|
|
236
|
+
return useStrings
|
|
237
|
+
? c`${namePrefix}${colors[level]}${tag}{/}: ${message}`
|
|
238
|
+
: c`${namePrefix}${colors[level]}${tag}{/} ${message}`
|
|
198
239
|
}
|
|
199
240
|
|
|
200
241
|
// Stack trace functionality - simplified for now
|
|
@@ -342,7 +383,16 @@ class Glog {
|
|
|
342
383
|
* @param {...unknown} args - Additional arguments
|
|
343
384
|
*/
|
|
344
385
|
success(message, ...args) {
|
|
345
|
-
|
|
386
|
+
const name = this.#name || Glog.name || "Log"
|
|
387
|
+
const useStrings = this.#tagsAsStrings || Glog.tagsAsStrings
|
|
388
|
+
const showName = this.#displayName
|
|
389
|
+
const tag = useStrings ? "Success" : logSymbols.success
|
|
390
|
+
const namePrefix = showName ? `[${name}] ` : ""
|
|
391
|
+
const formatted = useStrings
|
|
392
|
+
? c`${namePrefix}{success}${tag}{/}: ${message}`
|
|
393
|
+
: c`${namePrefix}{success}${tag}{/} ${message}`
|
|
394
|
+
|
|
395
|
+
Term.log(formatted, ...args)
|
|
346
396
|
}
|
|
347
397
|
|
|
348
398
|
/**
|
|
@@ -352,7 +402,143 @@ class Glog {
|
|
|
352
402
|
* @param {...unknown} args - Additional arguments to log
|
|
353
403
|
*/
|
|
354
404
|
static success(message, ...args) {
|
|
355
|
-
|
|
405
|
+
const name = this.name || "Log"
|
|
406
|
+
const useStrings = this.tagsAsStrings
|
|
407
|
+
const tag = useStrings ? "Success" : logSymbols.success
|
|
408
|
+
const formatted = useStrings
|
|
409
|
+
? c`[${name}] {success}${tag}{/}: ${message}`
|
|
410
|
+
: c`[${name}] {success}${tag}{/} ${message}`
|
|
411
|
+
|
|
412
|
+
Term.log(formatted, ...args)
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Static group method - start a console group for indented output
|
|
417
|
+
*
|
|
418
|
+
* @param {...unknown} args - Optional group label
|
|
419
|
+
*/
|
|
420
|
+
static group(...args) {
|
|
421
|
+
const name = this.name || "Log"
|
|
422
|
+
const label = args.length > 0 ? ` ${args.join(" ")}` : ""
|
|
423
|
+
|
|
424
|
+
Term.group(`[${name}]${label}`)
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* Static groupEnd method - end the current console group
|
|
429
|
+
*/
|
|
430
|
+
static groupEnd() {
|
|
431
|
+
Term.groupEnd()
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* Static groupDebug - start a debug-tagged group
|
|
436
|
+
*
|
|
437
|
+
* @param {string} message - Group label
|
|
438
|
+
* @param {number} [level=1] - Debug level
|
|
439
|
+
*/
|
|
440
|
+
static groupDebug(message, level = 1) {
|
|
441
|
+
const colors = this.colors || loggerColours
|
|
442
|
+
const name = this.name || "Log"
|
|
443
|
+
const useStrings = this.tagsAsStrings
|
|
444
|
+
const tag = useStrings ? "Debug" : logSymbols.debug
|
|
445
|
+
const colorCode = colors.debug[level] || colors.debug[0]
|
|
446
|
+
const label = useStrings
|
|
447
|
+
? c`[${name}] ${colorCode}${tag}{/}: ${message}`
|
|
448
|
+
: c`[${name}] ${colorCode}${tag}{/} ${message}`
|
|
449
|
+
|
|
450
|
+
Term.group(label)
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Static groupInfo - start an info-tagged group
|
|
455
|
+
*
|
|
456
|
+
* @param {string} message - Group label
|
|
457
|
+
*/
|
|
458
|
+
static groupInfo(message) {
|
|
459
|
+
const colors = this.colors || loggerColours
|
|
460
|
+
const name = this.name || "Log"
|
|
461
|
+
const useStrings = this.tagsAsStrings
|
|
462
|
+
const tag = useStrings ? "Info" : logSymbols.info
|
|
463
|
+
const label = useStrings
|
|
464
|
+
? c`[${name}] ${colors.info}${tag}{/}: ${message}`
|
|
465
|
+
: c`[${name}] ${colors.info}${tag}{/} ${message}`
|
|
466
|
+
|
|
467
|
+
Term.group(label)
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Static groupSuccess - start a success-tagged group
|
|
472
|
+
*
|
|
473
|
+
* @param {string} message - Group label
|
|
474
|
+
*/
|
|
475
|
+
static groupSuccess(message) {
|
|
476
|
+
const name = this.name || "Log"
|
|
477
|
+
const useStrings = this.tagsAsStrings
|
|
478
|
+
const tag = useStrings ? "Success" : logSymbols.success
|
|
479
|
+
const label = useStrings
|
|
480
|
+
? c`[${name}] {success}${tag}{/}: ${message}`
|
|
481
|
+
: c`[${name}] {success}${tag}{/} ${message}`
|
|
482
|
+
|
|
483
|
+
Term.group(label)
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* Start a console group for indented output
|
|
488
|
+
*
|
|
489
|
+
* @param {...unknown} args - Optional group label
|
|
490
|
+
*/
|
|
491
|
+
group(...args) {
|
|
492
|
+
const name = this.#name || Glog.name || "Log"
|
|
493
|
+
const showName = this.#displayName
|
|
494
|
+
const label = args.length > 0 ? ` ${args.join(" ")}` : ""
|
|
495
|
+
const output = showName ? `[${name}]${label}` : label.trim()
|
|
496
|
+
|
|
497
|
+
Term.group(output)
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* End the current console group
|
|
502
|
+
*/
|
|
503
|
+
groupEnd() {
|
|
504
|
+
Term.groupEnd()
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
* Start a debug-tagged group
|
|
509
|
+
*
|
|
510
|
+
* @param {string} message - Group label
|
|
511
|
+
* @param {number} [level=1] - Debug level
|
|
512
|
+
*/
|
|
513
|
+
groupDebug(message, level = 1) {
|
|
514
|
+
Term.group(this.#compose("debug", message, level))
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Start an info-tagged group
|
|
519
|
+
*
|
|
520
|
+
* @param {string} message - Group label
|
|
521
|
+
*/
|
|
522
|
+
groupInfo(message) {
|
|
523
|
+
Term.group(this.#compose("info", message))
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* Start a success-tagged group
|
|
528
|
+
*
|
|
529
|
+
* @param {string} message - Group label
|
|
530
|
+
*/
|
|
531
|
+
groupSuccess(message) {
|
|
532
|
+
const name = this.#name || Glog.name || "Log"
|
|
533
|
+
const useStrings = this.#tagsAsStrings || Glog.tagsAsStrings
|
|
534
|
+
const showName = this.#displayName
|
|
535
|
+
const tag = useStrings ? "Success" : logSymbols.success
|
|
536
|
+
const namePrefix = showName ? `[${name}] ` : ""
|
|
537
|
+
const label = useStrings
|
|
538
|
+
? c`${namePrefix}{success}${tag}{/}: ${message}`
|
|
539
|
+
: c`${namePrefix}{success}${tag}{/} ${message}`
|
|
540
|
+
|
|
541
|
+
Term.group(label)
|
|
356
542
|
}
|
|
357
543
|
|
|
358
544
|
/**
|
|
@@ -434,6 +620,44 @@ class Glog {
|
|
|
434
620
|
get colours() {
|
|
435
621
|
return c
|
|
436
622
|
}
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* Get a raw logger that outputs without name/tag formatting
|
|
626
|
+
*
|
|
627
|
+
* @returns {object} Raw logger interface
|
|
628
|
+
*/
|
|
629
|
+
get raw() {
|
|
630
|
+
return {
|
|
631
|
+
debug: (message, ...args) => Term.debug(message, ...args),
|
|
632
|
+
info: (message, ...args) => Term.info(message, ...args),
|
|
633
|
+
warn: (message, ...args) => Term.warn(message, ...args),
|
|
634
|
+
error: (message, ...args) => Term.error(message, ...args),
|
|
635
|
+
log: (...args) => Term.log(...args),
|
|
636
|
+
success: (message, ...args) => Term.log(message, ...args),
|
|
637
|
+
table: (data, options) => Term.table(data, options || {}),
|
|
638
|
+
group: (...args) => Term.group(...args),
|
|
639
|
+
groupEnd: () => Term.groupEnd()
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* Static raw logger that outputs without name/tag formatting
|
|
645
|
+
*
|
|
646
|
+
* @returns {object} Raw logger interface
|
|
647
|
+
*/
|
|
648
|
+
static get raw() {
|
|
649
|
+
return {
|
|
650
|
+
debug: (message, ...args) => Term.debug(message, ...args),
|
|
651
|
+
info: (message, ...args) => Term.info(message, ...args),
|
|
652
|
+
warn: (message, ...args) => Term.warn(message, ...args),
|
|
653
|
+
error: (message, ...args) => Term.error(message, ...args),
|
|
654
|
+
log: (...args) => Term.log(...args),
|
|
655
|
+
success: (message, ...args) => Term.log(message, ...args),
|
|
656
|
+
table: (data, options) => Term.table(data, options || {}),
|
|
657
|
+
group: (...args) => Term.group(...args),
|
|
658
|
+
groupEnd: () => Term.groupEnd()
|
|
659
|
+
}
|
|
660
|
+
}
|
|
437
661
|
}
|
|
438
662
|
|
|
439
663
|
// Wrap in proxy for dual usage
|
|
@@ -38,6 +38,12 @@ export default class CappedDirectoryObject extends DirectoryObject {
|
|
|
38
38
|
* @returns {boolean} Always true for CappedDirectoryObject instances
|
|
39
39
|
*/
|
|
40
40
|
get capped(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Returns a generator that walks up to the cap.
|
|
43
|
+
*
|
|
44
|
+
* @returns {Generator<DirectoryObject>} Generator yielding parent directories
|
|
45
|
+
*/
|
|
46
|
+
get walkUp(): Generator<DirectoryObject>;
|
|
41
47
|
/**
|
|
42
48
|
* Creates a new CappedDirectoryObject by extending this directory's path.
|
|
43
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CappedDirectoryObject.d.ts","sourceRoot":"","sources":["../../lib/CappedDirectoryObject.js"],"names":[],"mappings":"AAiBA;;;;;;;;GAQG;AACH;IAGE;;;;;;;;;;;;;;;;OAgBG;IACH,kBAXW,MAAM,OAAC,OACP,MAAM,WACN,qBAAqB,OAAC,cACtB,OAAO,EAkFjB;IAqBD;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;;;;;;;;;;;OAcG;IACH,sBAVW,MAAM,GACJ,qBAAqB,CA0BjC;;CA6CF;
|
|
1
|
+
{"version":3,"file":"CappedDirectoryObject.d.ts","sourceRoot":"","sources":["../../lib/CappedDirectoryObject.js"],"names":[],"mappings":"AAiBA;;;;;;;;GAQG;AACH;IAGE;;;;;;;;;;;;;;;;OAgBG;IACH,kBAXW,MAAM,OAAC,OACP,MAAM,WACN,qBAAqB,OAAC,cACtB,OAAO,EAkFjB;IAqBD;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAInB;IA8DD;;;;OAIG;IACH,cAFa,SAAS,CAAC,eAAe,CAAC,CAItC;IAED;;;;;;;;;;;;;;OAcG;IACH,sBAVW,MAAM,GACJ,qBAAqB,CA0BjC;;CA6CF;4BApS2B,sBAAsB"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* @property {boolean} temporary - Whether this is marked as a temporary directory
|
|
22
22
|
* @property {boolean} isFile - Always false (this is a directory)
|
|
23
23
|
* @property {boolean} isDirectory - Always true
|
|
24
|
+
* @property {DirectoryObject|null} parent - The parent directory (null if root)
|
|
24
25
|
* @property {Promise<boolean>} exists - Whether the directory exists (async getter)
|
|
25
26
|
* @property {Generator<DirectoryObject>} walkUp - Generator yielding parent directories up to root
|
|
26
27
|
*
|
|
@@ -124,6 +125,20 @@ export default class DirectoryObject extends FS {
|
|
|
124
125
|
* @returns {boolean} True if this is a temporary directory, false otherwise
|
|
125
126
|
*/
|
|
126
127
|
get temporary(): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Returns the parent directory of this directory.
|
|
130
|
+
* Returns null if this directory is the root directory.
|
|
131
|
+
* Computed lazily on first access and cached.
|
|
132
|
+
*
|
|
133
|
+
* @returns {DirectoryObject|null} The parent directory or null if root
|
|
134
|
+
* @example
|
|
135
|
+
* const dir = new DirectoryObject('/path/to/directory')
|
|
136
|
+
* console.log(dir.parent.path) // '/path/to'
|
|
137
|
+
*
|
|
138
|
+
* const root = new DirectoryObject('/')
|
|
139
|
+
* console.log(root.parent) // null
|
|
140
|
+
*/
|
|
141
|
+
get parent(): DirectoryObject | null;
|
|
127
142
|
/**
|
|
128
143
|
* Recursively removes a temporary directory and all its contents.
|
|
129
144
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectoryObject.d.ts","sourceRoot":"","sources":["../../lib/DirectoryObject.js"],"names":[],"mappings":"AAgBA
|
|
1
|
+
{"version":3,"file":"DirectoryObject.d.ts","sourceRoot":"","sources":["../../lib/DirectoryObject.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH;uBAqGe,MAAM;IAlEnB;;;;;OAKG;IACH,yCAFW,OAAO,EA6BjB;IAWD;;;;OAIG;IACH,UAFa,MAAM,CAclB;IAWD;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;OAIG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,GAAG,CAIf;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,aALa,KAAK,CAAC,MAAM,CAAC,CAOzB;IAED;;;;OAIG;IACH,iBAFa,OAAO,CAInB;IAED;;;;;;;;;;;;OAYG;IACH,cARa,eAAe,GAAC,IAAI,CAwBhC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,UATa,OAAO,CAAC,IAAI,CAAC,CA0BzB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,mBAFa,OAAO,CAInB;IAiBD;;;;;;;;;;;;;;;OAeG;IACH,WAZW,MAAM,GACJ,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;KAAC,CAAC,CAoCpF;IAED;;;;;;;;;;;;OAYG;IACH,uBARW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAqBzB;IA8BD;;;;;;;;;;;;;;;OAeG;IACH,cAZa,MAAM,CAclB;IAED;;;;;;;;;;;;;;OAcG;IACH,UARa,OAAO,CAAC,IAAI,CAAC,CAkBzB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAM5B;IAED;;;;;OAKG;IACH,sBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAO5B;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,sBAdW,MAAM,GACJ,eAAe,CAoB3B;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,kBAbW,MAAM,GACJ,UAAU,CAmBtB;;CACF;eAvkBc,SAAS;uBACD,iBAAiB"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @property {string} extension - The file extension
|
|
11
11
|
* @property {boolean} isFile - Always true for files
|
|
12
12
|
* @property {boolean} isDirectory - Always false for files
|
|
13
|
-
* @property {DirectoryObject}
|
|
13
|
+
* @property {DirectoryObject} parent - The parent directory object
|
|
14
14
|
* @property {Promise<boolean>} exists - Whether the file exists (async)
|
|
15
15
|
*/
|
|
16
16
|
export default class FileObject extends FS {
|
|
@@ -28,9 +28,9 @@ export default class FileObject extends FS {
|
|
|
28
28
|
* Constructs a FileObject instance.
|
|
29
29
|
*
|
|
30
30
|
* @param {string | FileObject} fileName - The file path or FileObject
|
|
31
|
-
* @param {DirectoryObject|string|null} [
|
|
31
|
+
* @param {DirectoryObject|string|null} [parent] - The parent directory (object or string)
|
|
32
32
|
*/
|
|
33
|
-
constructor(fileName: string | FileObject,
|
|
33
|
+
constructor(fileName: string | FileObject, parent?: DirectoryObject | string | null);
|
|
34
34
|
/**
|
|
35
35
|
* Returns a JSON representation of the FileObject.
|
|
36
36
|
*
|
|
@@ -106,7 +106,7 @@ export default class FileObject extends FS {
|
|
|
106
106
|
*
|
|
107
107
|
* @returns {DirectoryObject} The parent directory object
|
|
108
108
|
*/
|
|
109
|
-
get
|
|
109
|
+
get parent(): DirectoryObject;
|
|
110
110
|
/**
|
|
111
111
|
* Check if a file can be read. Returns true if the file can be read, false
|
|
112
112
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../lib/FileObject.js"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;GAcG;AAEH;uBAuHe,MAAM;IAtHnB;;;;;OAKG;IACH,yBAFU;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,GAAG,OAAO,IAAI,CAAC,CAAA;KAAC,CAO1D;IA2BF;;;;;OAKG;IACH,sBAHW,MAAM,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../lib/FileObject.js"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;GAcG;AAEH;uBAuHe,MAAM;IAtHnB;;;;;OAKG;IACH,yBAFU;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,OAAO,KAAK,GAAG,OAAO,IAAI,CAAC,CAAA;KAAC,CAO1D;IA2BF;;;;;OAKG;IACH,sBAHW,MAAM,GAAG,UAAU,WACnB,eAAe,GAAC,MAAM,GAAC,IAAI,EA2CrC;IAWD;;;;OAIG;IACH,UAFa,MAAM,CAclB;IAWD;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;OAIG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,GAAG,CAIf;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAFa,MAAM,CAIlB;IACD;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,mBAFa,OAAO,CAInB;IAED;;;;;;;;;;;;;;OAcG;IACH,cAFa,eAAe,CAI3B;IAED;;;;OAIG;IACH,WAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAED;;;;OAIG;IACH,YAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAiBD;;;;OAIG;IACH,QAFa,OAAO,CAAC,MAAM,OAAC,CAAC,CAU5B;IAED;;;;;OAKG;IACH,YAFa,OAAO,CAAC,IAAI,OAAC,CAAC,CAU1B;IAsBD;;;;;OAKG;IACH,gBAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAY3B;IAED;;;;;;;;;;;OAWG;IACH,cARa,OAAO,CAAC,MAAM,CAAC,CAkB3B;IAED;;;;;;;;;;;OAWG;IACH,eARW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAezB;IAED;;;;;;;;;;;;;;;OAeG;IACH,kBAXW,WAAW,GAAC,IAAI,GAAC,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAyBzB;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAXW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAkC5B;IAED;;;;OAIG;IACH,UAFa,OAAO,CAAC,MAAM,CAAC,CAY3B;IAED;;;;;;;;;OASG;IACH,UAPa,OAAO,CAAC,IAAI,CAAC,CAiBzB;;CACF;eAtgBc,SAAS;4BADI,sBAAsB;kBARhC,OAAO;iBAIR,MAAM"}
|
package/src/types/lib/Glog.d.ts
CHANGED
|
@@ -5,6 +5,17 @@ export namespace loggerColours {
|
|
|
5
5
|
let error: string;
|
|
6
6
|
let reset: string;
|
|
7
7
|
}
|
|
8
|
+
export namespace logSymbols {
|
|
9
|
+
let debug_1: string;
|
|
10
|
+
export { debug_1 as debug };
|
|
11
|
+
let info_1: string;
|
|
12
|
+
export { info_1 as info };
|
|
13
|
+
let warn_1: string;
|
|
14
|
+
export { warn_1 as warn };
|
|
15
|
+
let error_1: string;
|
|
16
|
+
export { error_1 as error };
|
|
17
|
+
export let success: string;
|
|
18
|
+
}
|
|
8
19
|
declare const _default: typeof Glog;
|
|
9
20
|
export default _default;
|
|
10
21
|
declare class Glog {
|
|
@@ -13,6 +24,7 @@ declare class Glog {
|
|
|
13
24
|
static colors: any;
|
|
14
25
|
static stackTrace: boolean;
|
|
15
26
|
static name: string;
|
|
27
|
+
static tagsAsStrings: boolean;
|
|
16
28
|
static setLogPrefix(prefix: any): typeof Glog;
|
|
17
29
|
static setLogLevel(level: any): typeof Glog;
|
|
18
30
|
static withName(name: any): typeof Glog;
|
|
@@ -24,6 +36,7 @@ declare class Glog {
|
|
|
24
36
|
reset: string;
|
|
25
37
|
}): typeof Glog;
|
|
26
38
|
static withStackTrace(enabled?: boolean): typeof Glog;
|
|
39
|
+
static withTagsAsStrings(enabled?: boolean): typeof Glog;
|
|
27
40
|
static create(options?: {}): Glog;
|
|
28
41
|
static execute(...args: any[]): void;
|
|
29
42
|
/**
|
|
@@ -40,6 +53,35 @@ declare class Glog {
|
|
|
40
53
|
* @param {...unknown} args - Additional arguments to log
|
|
41
54
|
*/
|
|
42
55
|
static success(message: string, ...args: unknown[]): void;
|
|
56
|
+
/**
|
|
57
|
+
* Static group method - start a console group for indented output
|
|
58
|
+
*
|
|
59
|
+
* @param {...unknown} args - Optional group label
|
|
60
|
+
*/
|
|
61
|
+
static group(...args: unknown[]): void;
|
|
62
|
+
/**
|
|
63
|
+
* Static groupEnd method - end the current console group
|
|
64
|
+
*/
|
|
65
|
+
static groupEnd(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Static groupDebug - start a debug-tagged group
|
|
68
|
+
*
|
|
69
|
+
* @param {string} message - Group label
|
|
70
|
+
* @param {number} [level=1] - Debug level
|
|
71
|
+
*/
|
|
72
|
+
static groupDebug(message: string, level?: number): void;
|
|
73
|
+
/**
|
|
74
|
+
* Static groupInfo - start an info-tagged group
|
|
75
|
+
*
|
|
76
|
+
* @param {string} message - Group label
|
|
77
|
+
*/
|
|
78
|
+
static groupInfo(message: string): void;
|
|
79
|
+
/**
|
|
80
|
+
* Static groupSuccess - start a success-tagged group
|
|
81
|
+
*
|
|
82
|
+
* @param {string} message - Group label
|
|
83
|
+
*/
|
|
84
|
+
static groupSuccess(message: string): void;
|
|
43
85
|
/**
|
|
44
86
|
* Static table method
|
|
45
87
|
*
|
|
@@ -63,6 +105,12 @@ declare class Glog {
|
|
|
63
105
|
* @returns {Glog} The Glog class for chaining.
|
|
64
106
|
*/
|
|
65
107
|
static setAlias(alias: string, colorCode: string): Glog;
|
|
108
|
+
/**
|
|
109
|
+
* Static raw logger that outputs without name/tag formatting
|
|
110
|
+
*
|
|
111
|
+
* @returns {object} Raw logger interface
|
|
112
|
+
*/
|
|
113
|
+
static get raw(): object;
|
|
66
114
|
constructor(options?: {});
|
|
67
115
|
setOptions(options: any): this;
|
|
68
116
|
withName(name: any): this;
|
|
@@ -76,6 +124,8 @@ declare class Glog {
|
|
|
76
124
|
reset: string;
|
|
77
125
|
}): this;
|
|
78
126
|
withStackTrace(enabled?: boolean): this;
|
|
127
|
+
withTagsAsStrings(enabled?: boolean): this;
|
|
128
|
+
noDisplayName(): this;
|
|
79
129
|
get name(): string;
|
|
80
130
|
get debugLevel(): number;
|
|
81
131
|
get options(): {
|
|
@@ -117,6 +167,35 @@ declare class Glog {
|
|
|
117
167
|
* @param {...unknown} args - Additional arguments
|
|
118
168
|
*/
|
|
119
169
|
success(message: string, ...args: unknown[]): void;
|
|
170
|
+
/**
|
|
171
|
+
* Start a console group for indented output
|
|
172
|
+
*
|
|
173
|
+
* @param {...unknown} args - Optional group label
|
|
174
|
+
*/
|
|
175
|
+
group(...args: unknown[]): void;
|
|
176
|
+
/**
|
|
177
|
+
* End the current console group
|
|
178
|
+
*/
|
|
179
|
+
groupEnd(): void;
|
|
180
|
+
/**
|
|
181
|
+
* Start a debug-tagged group
|
|
182
|
+
*
|
|
183
|
+
* @param {string} message - Group label
|
|
184
|
+
* @param {number} [level=1] - Debug level
|
|
185
|
+
*/
|
|
186
|
+
groupDebug(message: string, level?: number): void;
|
|
187
|
+
/**
|
|
188
|
+
* Start an info-tagged group
|
|
189
|
+
*
|
|
190
|
+
* @param {string} message - Group label
|
|
191
|
+
*/
|
|
192
|
+
groupInfo(message: string): void;
|
|
193
|
+
/**
|
|
194
|
+
* Start a success-tagged group
|
|
195
|
+
*
|
|
196
|
+
* @param {string} message - Group label
|
|
197
|
+
*/
|
|
198
|
+
groupSuccess(message: string): void;
|
|
120
199
|
/**
|
|
121
200
|
* Display tabular data as a table
|
|
122
201
|
*
|
|
@@ -138,6 +217,12 @@ declare class Glog {
|
|
|
138
217
|
* @returns {import('@gesslar/colours')} The colours template function from \@gesslar/colours
|
|
139
218
|
*/
|
|
140
219
|
get colours(): typeof import("@gesslar/colours");
|
|
220
|
+
/**
|
|
221
|
+
* Get a raw logger that outputs without name/tag formatting
|
|
222
|
+
*
|
|
223
|
+
* @returns {object} Raw logger interface
|
|
224
|
+
*/
|
|
225
|
+
get raw(): object;
|
|
141
226
|
#private;
|
|
142
227
|
}
|
|
143
228
|
//# sourceMappingURL=Glog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Glog.d.ts","sourceRoot":"","sources":["../../lib/Glog.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Glog.d.ts","sourceRoot":"","sources":["../../lib/Glog.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAsDA;IAEE,wBAAmB;IACnB,yBAAqB;IACrB,mBAAoB;IACpB,2BAAyB;IACzB,oBAAgB;IAChB,8BAA4B;IAgD5B,8CAIC;IAED,4CAIC;IAED,wCAIC;IAED;;;;;;oBAIC;IAED,sDAIC;IAED,yDAIC;IAID,kCAEC;IA6KD,qCAoBC;IAuBD;;;;;OAKG;IACH,yBAHW,KAAK,CAAC,MAAM,CAAC,aACV,OAAO,EAAA,QAOpB;IAqBD;;;;;OAKG;IACH,wBAHW,MAAM,WACH,OAAO,EAAA,QAWpB;IAED;;;;OAIG;IACH,sBAFc,OAAO,EAAA,QAOpB;IAED;;OAEG;IACH,wBAEC;IAED;;;;;OAKG;IACH,2BAHW,MAAM,UACN,MAAM,QAahB;IAED;;;;OAIG;IACH,0BAFW,MAAM,QAYhB;IAED;;;;OAIG;IACH,6BAFW,MAAM,QAWhB;IAyFD;;;;;;;;;OASG;IACH,mBAPW,MAAM,QAAQ,mBACd,MAAM,GAAG,MAAM,YAEvB;QAAgC,UAAU,GAAlC,KAAK,CAAC,MAAM,CAAC;QACK,UAAU,GAA5B,OAAO;QACW,aAAa,GAA/B,OAAO;KACjB,QAkBA;IAED;;;;;;OAMG;IACH,uBAJW,MAAM,aACN,MAAM,GACJ,IAAI,CAMhB;IA8BD;;;;OAIG;IACH,kBAFa,MAAM,CAclB;IAxkBD,0BAgBC;IAID,+BAUC;IA8CD,0BAIC;IAED,+BAIC;IAED,8BAIC;IAED;;;;;;aAIC;IAED,wCAIC;IAED,2CAIC;IAED,sBAIC;IAID,mBAEC;IAED,yBAEC;IAED;;;;;;MAQC;IA8BD,8BAGC;IAED,wBAQC;IA8BD;;;;;;;;;OASG;IACH,eALW,MAAM,UACN,MAAM,UACH,OAAO,EAAA,QAapB;IAED,wCAGC;IAED,wCAGC;IAED,yCAGC;IA0BD,8BAEC;IAID;;;;;;OAMG;IACH,kBAJW,KAAK,CAAC,MAAM,CAAC,aACV,OAAO,EAAA,QAQpB;IAeD;;;;;OAKG;IACH,iBAHW,MAAM,WACH,OAAO,EAAA,QAapB;IA0FD;;;;OAIG;IACH,eAFc,OAAO,EAAA,QASpB;IAED;;OAEG;IACH,iBAEC;IAED;;;;;OAKG;IACH,oBAHW,MAAM,UACN,MAAM,QAIhB;IAED;;;;OAIG;IACH,mBAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,sBAFW,MAAM,QAahB;IAED;;;;;;;;;OASG;IACH,YAPW,MAAM,QAAQ,mBACd,MAAM,GAAG,MAAM,YAEvB;QAAgC,UAAU,GAAlC,KAAK,CAAC,MAAM,CAAC;QACK,UAAU,GAA5B,OAAO;QACW,aAAa,GAA/B,OAAO;KACjB,QAkBA;IA4CD;;;;OAIG;IACH,iDAEC;IAED;;;;OAIG;IACH,WAFa,MAAM,CAclB;;CAoBF"}
|