@makano/rew 1.2.52 → 1.2.54

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/runtime.d.ts CHANGED
@@ -1,9 +1,8 @@
1
-
2
1
  interface ImportOptions {
3
2
  /**
4
3
  * Determines how to import the given module
5
4
  */
6
- type: 'js' | 'coffee' | 'yaml' | 'json' | 'qrew';
5
+ type: "js" | "coffee" | "yaml" | "json" | "qrew" | "text";
7
6
  [key: string]: any;
8
7
  }
9
8
 
@@ -14,30 +13,30 @@ interface ModuleConfOptionCenter {
14
13
  * @param defaultValue The default value ig null
15
14
  * @returns The value of the key or the defaultValue if it's null.
16
15
  */
17
- get: <T = any>(key: string, defaultValue?: T) => T
16
+ get: <T = any>(key: string, defaultValue?: T) => T;
18
17
  /**
19
18
  * Set a config key
20
19
  * @param key The key of the config to set
21
20
  * @param value The value to set it to
22
21
  * @returns true if it was a success
23
22
  */
24
- set: <T = any>(key: string, value: T) => boolean
23
+ set: <T = any>(key: string, value: T) => boolean;
25
24
  /**
26
25
  * Removes a key from the config
27
26
  * @param key The key of the config to remove
28
27
  * @returns true if it was a success
29
28
  */
30
- remove: (key: string) => boolean
29
+ remove: (key: string) => boolean;
31
30
  /**
32
31
  * Resets the entire config option center to it's default value
33
32
  */
34
- reset: () => boolean
33
+ reset: () => boolean;
35
34
  /**
36
35
  * Get all values in an option center
37
- * @param str
38
- * @returns
36
+ * @param str
37
+ * @returns
39
38
  */
40
- getAll: (() => string) | ((str?: false) => Record<string, any>)
39
+ getAll: (() => string) | ((str?: false) => Record<string, any>);
41
40
  }
42
41
 
43
42
  interface ModuleConf extends ModuleConfOptionCenter {
@@ -45,12 +44,12 @@ interface ModuleConf extends ModuleConfOptionCenter {
45
44
  * A separate options file for a related set of options
46
45
  * @param name The option center full path
47
46
  * @param defaults The default values
48
- *
49
- * @example
47
+ *
48
+ * @example
50
49
  * conf = imp 'conf'
51
- *
50
+ *
52
51
  * animations = conf.optionCenter 'animations', enable: false, speed: '1x'
53
- *
52
+ *
54
53
  * if animations.get 'enable'
55
54
  * animate animations.get 'speed'
56
55
  */
@@ -58,32 +57,35 @@ interface ModuleConf extends ModuleConfOptionCenter {
58
57
  /**
59
58
  * Manage Static files
60
59
  */
61
- staticFile: (name: string, defaults?: any) => {
62
- write: (value: any, ifExists?: boolean) => this,
63
- read: (to?: string | object) => string | object | Buffer,
64
- fileRoot: string,
65
- exists: boolean
66
- }
60
+ staticFile: (
61
+ name: string,
62
+ defaults?: any
63
+ ) => {
64
+ write: (value: any, ifExists?: boolean) => this;
65
+ read: (to?: string | object) => string | object | Buffer;
66
+ fileRoot: string;
67
+ exists: boolean;
68
+ };
67
69
  }
68
70
 
69
71
  interface ModuleEnv {
70
- has: (key: string) => boolean,
71
- get: (key: string) => string,
72
- set: (key: string, value: string) => boolean,
73
- rm: (key: string) => boolean,
74
- is: (key: string, value: string) => boolean,
72
+ has: (key: string) => boolean;
73
+ get: (key: string) => string;
74
+ set: (key: string, value: string) => boolean;
75
+ rm: (key: string) => boolean;
76
+ is: (key: string, value: string) => boolean;
75
77
  }
76
78
 
77
79
  interface ModuleRuneDBCollcetion {
78
- insert(record: object): any;
79
- read(id: string | object, evaluate?: boolean): any;
80
- update(caseRecord: string | object, newRecord: object): any;
80
+ insert(record: object): any;
81
+ read(id: string | object, evaluate?: boolean): any;
82
+ update(caseRecord: string | object, newRecord: object): any;
81
83
  remove(id: string | object): boolean;
82
- find(criteria: string | object): any;
83
- map(cb: (data: any[]) => any[], mutate?: boolean): any[];
84
- transform(cb: (data: any[]) => any[], mutate?: boolean): any[];
85
- filter(cb: (data: any[]) => boolean, mutate?: boolean): any[];
86
- sort(cb: (a: any, b: any) => number, mutate?: boolean): any[];
84
+ find(criteria: string | object): any;
85
+ map(cb: (data: any[]) => any[], mutate?: boolean): any[];
86
+ transform(cb: (data: any[]) => any[], mutate?: boolean): any[];
87
+ filter(cb: (data: any[]) => boolean, mutate?: boolean): any[];
88
+ sort(cb: (a: any, b: any) => number, mutate?: boolean): any[];
87
89
  list(): any[];
88
90
  }
89
91
 
@@ -96,11 +98,11 @@ interface ModuleRuneDBMap {
96
98
  }
97
99
 
98
100
  interface ModuleRuneDB {
99
- collection: (name: string) => ModuleRuneDBCollcetion
100
- map: (name: string) => ModuleRuneDBMap
101
- findRef: (ref: string) => any
102
- setData: (data: Record<string, any>) => void
103
- getData: () => Record<string, any>
101
+ collection: (name: string) => ModuleRuneDBCollcetion;
102
+ map: (name: string) => ModuleRuneDBMap;
103
+ findRef: (ref: string) => any;
104
+ setData: (data: Record<string, any>) => void;
105
+ getData: () => Record<string, any>;
104
106
  makeRef(value: object, props?: string): string | null;
105
107
  }
106
108
 
@@ -113,21 +115,464 @@ interface ModuleRune {
113
115
 
114
116
  interface ModuleThreads {
115
117
  thread: (cb: Function) => {
116
- stopAll: () => void
118
+ stopAll: () => void;
117
119
  start: (context: Record<string, any>) => {
118
120
  on: (event: string, callback: (data) => void) => void;
119
121
  off: (event: string, callback: (data) => void) => void;
120
122
  emit: (event: string, data: any) => void;
121
- get: () => Promise,
122
- stop: () => void
123
- }
123
+ get: () => Promise;
124
+ stop: () => void;
125
+ };
126
+ };
127
+ }
128
+
129
+ type GenericTraps = Record<string, any>;
130
+
131
+ type IRequestStrict = {
132
+ route: string;
133
+ params: {
134
+ [key: string]: string;
135
+ };
136
+ query: {
137
+ [key: string]: string | string[] | undefined;
138
+ };
139
+ proxy?: any;
140
+ } & Request;
141
+
142
+ type IRequest = IRequestStrict & GenericTraps;
143
+
144
+ type RequestHandler<RequestType = IRequest, Args extends Array<any> = any[]> = (
145
+ request: RequestType,
146
+ ...args: Args
147
+ ) => any;
148
+
149
+ type ResponseHandler<
150
+ ResponseType = any,
151
+ RequestType = IRequest,
152
+ Args extends any[] = any[]
153
+ > = (response: ResponseType, request: RequestType, ...args: Args) => any;
154
+
155
+ type StatusErrorObject = {
156
+ error?: string;
157
+ [key: string]: any;
158
+ };
159
+ class StatusError extends Error {
160
+ status: number;
161
+ [key: string]: any;
162
+ constructor(status?: number, body?: StatusErrorObject | string);
163
+ }
164
+
165
+ type ErrorHandler<
166
+ ErrorType extends Error = StatusError,
167
+ RequestType = IRequest,
168
+ Args extends any[] = any[]
169
+ > = (error: ErrorType, request: RequestType, ...args: Args) => any;
170
+
171
+ type RouteEntry<RequestType = IRequest, Args extends any[] = any[]> = [
172
+ httpMethod: string,
173
+ match: RegExp,
174
+ handlers: RequestHandler<RequestType, Args>[],
175
+ path?: string
176
+ ];
177
+
178
+ type IttyRouterOptions = {
179
+ base?: string;
180
+ routes?: RouteEntry[];
181
+ } & GenericTraps;
182
+
183
+ type RouterOptions<RequestType = IRequest, Args extends any[] = []> = {
184
+ before?: RequestHandler<RequestType, Args>[];
185
+ catch?: ErrorHandler<StatusError, RequestType, Args>;
186
+ finally?: ResponseHandler<any, RequestType, Args>[];
187
+ } & IttyRouterOptions;
188
+
189
+ type AutoRouterOptions<RequestType, Args extends any[]> = {
190
+ missing?: RequestHandler<RequestType, Args>;
191
+ format?: ResponseHandler;
192
+ } & RouterOptions<RequestType, Args>;
193
+
194
+ type RequestLike = {
195
+ method: string;
196
+ url: string;
197
+ } & GenericTraps;
198
+
199
+ type Route<R = IRequest, A extends Array<any> = any[]> = <
200
+ RequestType = R,
201
+ Args extends Array<any> = A
202
+ >(
203
+ path: string,
204
+ ...handlers: RequestHandler<RequestType, Args>[]
205
+ ) => IttyRouterType<R, A>;
206
+
207
+ type CustomRoutes<R = Route> = {
208
+ [key: string]: R;
209
+ };
210
+
211
+ type IttyRouterType<
212
+ RequestType = IRequest,
213
+ Args extends any[] = any[],
214
+ ResponseType = any
215
+ > = {
216
+ __proto__: IttyRouterType<RequestType, Args, ResponseType>;
217
+ routes: RouteEntry[];
218
+ fetch: <A extends any[] = Args>(
219
+ request: RequestLike,
220
+ ...extra: A
221
+ ) => Promise<ResponseType>;
222
+ all: Route<RequestType, Args>;
223
+ delete: Route<RequestType, Args>;
224
+ get: Route<RequestType, Args>;
225
+ head: Route<RequestType, Args>;
226
+ options: Route<RequestType, Args>;
227
+ patch: Route<RequestType, Args>;
228
+ post: Route<RequestType, Args>;
229
+ put: Route<RequestType, Args>;
230
+ } & CustomRoutes<Route<RequestType, Args>> &
231
+ GenericTraps;
232
+
233
+ type RouterType<
234
+ RequestType = IRequest,
235
+ Args extends any[] = any[],
236
+ ResponseType = any
237
+ > = {
238
+ before?: RequestHandler<RequestType, Args>[];
239
+ catch?: ErrorHandler<StatusError, RequestType, Args>;
240
+ finally?: ResponseHandler<any, RequestType, Args>[];
241
+ } & IttyRouterType<RequestType, Args, ResponseType>;
242
+
243
+ type AutoRouterType<
244
+ RequestType = IRequest,
245
+ Args extends any[] = any[],
246
+ ResponseType = any
247
+ > = {
248
+ missing?: RequestHandler<RequestType, Args>;
249
+ format?: ResponseHandler;
250
+ } & RouterType<RequestType, Args, ResponseType>;
251
+
252
+ type HasContent<ContentType> = {
253
+ content: ContentType;
254
+ } & IRequestStrict;
255
+
256
+ type ResponseFormatter = (body?: any, options?: ResponseInit) => Response;
257
+
258
+ interface ErrorLike extends Error {
259
+ status?: number;
260
+ [any: string]: any;
261
+ }
262
+ type ErrorBody = string | object;
263
+ interface ErrorFormatter {
264
+ (statusCode?: number, body?: ErrorBody): Response;
265
+ (error: ErrorLike): Response;
266
+ }
267
+ {
268
+ }
269
+
270
+ const IttyRouter: <
271
+ RequestType extends IRequest = IRequest,
272
+ Args extends any[] = any[],
273
+ ResponseType = any
274
+ >({
275
+ base,
276
+ routes,
277
+ ...other
278
+ }?: IttyRouterOptions) => IttyRouterType<RequestType, Args, ResponseType>;
279
+
280
+ const Router: <
281
+ RequestType = IRequest,
282
+ Args extends any[] = any[],
283
+ ResponseType = any
284
+ >({
285
+ base,
286
+ routes,
287
+ ...other
288
+ }?: RouterOptions<RequestType, Args>) => RouterType<
289
+ RequestType,
290
+ Args,
291
+ ResponseType
292
+ >;
293
+
294
+ const AutoRouter: <
295
+ RequestType extends IRequest = IRequest,
296
+ Args extends any[] = any[],
297
+ ResponseType = any
298
+ >({
299
+ format,
300
+ missing,
301
+ finally: f,
302
+ before,
303
+ ...options
304
+ }?: AutoRouterOptions<RequestType, Args>) => AutoRouterType<
305
+ RequestType,
306
+ Args,
307
+ ResponseType
308
+ >;
309
+
310
+ const createResponse: (
311
+ format?: string,
312
+ transform?: ((body: any) => any) | undefined
313
+ ) => ResponseFormatter;
314
+
315
+ const error: ErrorFormatter;
316
+
317
+ const statusR: (status: number, options?: ResponseInit) => Response;
318
+
319
+ const textR: ResponseFormatter;
320
+
321
+ const jsonR: ResponseFormatter;
322
+
323
+ const htmlR: ResponseFormatter;
324
+
325
+ const jpegR: ResponseFormatter;
326
+
327
+ const pngR: ResponseFormatter;
328
+
329
+ const webpR: ResponseFormatter;
330
+
331
+ const withContent: (request: IRequest) => Promise<void>;
332
+
333
+ const withCookies: (r: IRequest) => void;
334
+
335
+ const withParams: (request: IRequest) => void;
336
+
337
+ type CorsOptions = {
338
+ credentials?: true;
339
+ origin?:
340
+ | boolean
341
+ | string
342
+ | string[]
343
+ | RegExp
344
+ | ((origin: string) => string | void);
345
+ maxAge?: number;
346
+ allowMethods?: string | string[];
347
+ allowHeaders?: any;
348
+ exposeHeaders?: string | string[];
349
+ };
350
+ type Preflight = (request: IRequest) => Response | void;
351
+ type Corsify = (response: Response, request?: IRequest) => Response;
352
+ type CorsPair = {
353
+ preflight: Preflight;
354
+ corsify: Corsify;
355
+ };
356
+ const cors: (options?: CorsOptions) => {
357
+ corsify: (response: Response, request?: Request) => Response;
358
+ preflight: (request: Request) => Response | undefined;
359
+ };
360
+
361
+ interface ModuleServeRouter extends RouterType {
362
+ to(server: ModuleServeServer): any;
363
+ }
364
+
365
+ interface ModuleServeServerOptions {
366
+ handler?: (req: RequestLike, res: ResponseType) => any;
367
+ routers?: ModuleServeRouter[];
368
+ fetch?: (req: RequestLike) => ResponseType | Promise<ResponseType>;
369
+ }
370
+
371
+ interface ModuleServeServer {
372
+ _server: any;
373
+ routers: Record<string, ModuleServeRouter>;
374
+
375
+ handleRequest: typeof ModuleServeServerOptions.handler;
376
+ listen: this;
377
+ port: (port: number) => this;
378
+ log: (string: string) => this;
379
+ }
380
+
381
+ interface ModuleServeFileRouterOptions {
382
+ root: string;
383
+ basePath?: string;
384
+ resolveExtensions?: string[];
385
+ bundlerOptions?: Record<string, any>;
386
+ bundlerEntry?: (file: string, layouts?: string[]) => string;
387
+ ssrBundlerEntry?: (file: string, layouts?: string[]) => string;
388
+ onError?: () => any;
389
+ }
390
+
391
+ class ModuleServe {
392
+ router({
393
+ id,
394
+ type,
395
+ }: {
396
+ id?: string;
397
+ type?: "auto" | "normal" | "default";
398
+ [key: string]: any;
399
+ }): ModuleServeRouter;
400
+ create(o: ModuleServeServerOptions): ModuleServeServer;
401
+
402
+ createFileRouter(
403
+ o: ModuleServeFileRouterOptions
404
+ ): (req: RequestLike) => ResponseType | Promise<ResponseType>;
405
+
406
+ cors = cors;
407
+ json = jsonR;
408
+ error = error;
409
+ png = pngR;
410
+ jpeg = jpegR;
411
+ webp = webpR;
412
+ text = textR;
413
+ html = htmlR;
414
+ status = statusR;
415
+
416
+ createResponse = createResponse;
417
+
418
+ withContent = withContent;
419
+ withCookies = withCookies;
420
+ withParams = withParams;
421
+
422
+ Request = Request;
423
+ Response = Response;
424
+ }
425
+
426
+ type nodable = Element | Node | any;
427
+ interface Node {
428
+ type: string;
429
+ props: {
430
+ children: nodable[];
431
+ [key: string]: any;
432
+ };
433
+ }
434
+ interface ElementNode extends Node {}
435
+
436
+ interface ModuleWebPageOptions {
437
+ viewportMeta?: string | boolean;
438
+ title?: string | boolean;
439
+ }
440
+
441
+ interface ModuleWebPage {
442
+ root: nodable;
443
+ body: nodable;
444
+ head: nodable;
445
+
446
+ find(key: string, value?: string): Node;
447
+ add(...children: nodable[]): typeof this.body;
448
+
449
+ script(script: string): ReturnType<typeof this.add>;
450
+
451
+ serializeState(): string;
452
+
453
+ render(static?: boolean): string;
454
+
455
+ clone(): ModuleWebPage;
456
+ }
457
+
458
+ interface ModuleWebState {
459
+ value: any;
460
+ _value: any;
461
+ subscribe(callback: CallableFunction): this;
462
+ }
463
+
464
+ class ModuleWeb {
465
+ create(options: ModuleWebPageOptions): ModuleWebPage;
466
+ isNode(node: any): boolean;
467
+ isTextNode(node: any): boolean;
468
+ isElementNode(node: any): boolean;
469
+
470
+ createText(text: string): Node;
471
+ createElement(...args: any[]): ElementNode;
472
+
473
+ state(value): ModuleWebState | any;
474
+ useState(states: State[], callback: CallableFunction): any;
475
+
476
+ bundle(filePath: string, options?: Record<string, any>): string;
477
+ }
478
+
479
+ class Stack<T = any> {
480
+ constructor();
481
+ push(item: T): void;
482
+ pop(): T | undefined;
483
+ isEmpty(): boolean;
484
+ peek(): T | undefined;
485
+ toArray(): T[];
486
+ }
487
+
488
+ class Queue<T = any> {
489
+ constructor();
490
+ enqueue(item: T): void;
491
+ dequeue(): T | undefined;
492
+ isEmpty(): boolean;
493
+ peek(): T | undefined;
494
+ toArray(): T[];
495
+ }
496
+
497
+ class LinkedList<T = any> {
498
+ constructor();
499
+ append(value: T): void;
500
+ prepend(value: T): void;
501
+ find(value: T): LinkedList.Node<T> | null;
502
+ delete(value: T): void;
503
+ toArray(): T[];
504
+ }
505
+
506
+ namespace LinkedList {
507
+ class Node<T = any> {
508
+ constructor(value: T);
509
+ value: T;
510
+ next: Node<T> | null;
124
511
  }
125
512
  }
126
513
 
514
+ class BinaryTree<T = any> {
515
+ constructor();
516
+ insert(value: T): void;
517
+ find(value: T): BinaryTree.Node<T> | null;
518
+ toArray(): T[];
519
+ }
520
+
521
+ namespace BinaryTree {
522
+ class Node<T = any> {
523
+ constructor(value: T);
524
+ value: T;
525
+ left: Node<T> | null;
526
+ right: Node<T> | null;
527
+ }
528
+ }
529
+
530
+ class DoublyLinkedList<T = any> {
531
+ constructor();
532
+ append(value: T): void;
533
+ prepend(value: T): void;
534
+ find(value: T): DoublyLinkedList.Node<T> | null;
535
+ delete(value: T): void;
536
+ toArray(): T[];
537
+ }
538
+
539
+ namespace DoublyLinkedList {
540
+ class Node<T = any> {
541
+ constructor(value: T);
542
+ value: T;
543
+ next: Node<T> | null;
544
+ prev: Node<T> | null;
545
+ }
546
+ }
547
+
548
+ interface ModuleData {
549
+ Stack: typeof Stack;
550
+ Queue: typeof Queue;
551
+ BinaryTree: typeof BinaryTree;
552
+ DoublyLinkedList: typeof DoublyLinkedList;
553
+ LinkedList: typeof LinkedList;
554
+ }
555
+
556
+ interface ModuleStream {
557
+ Readable: Readable,
558
+ Writable: Writable,
559
+ Transform: Transform,
560
+ Duplex: Duplex,
561
+ pipeline: pipeline,
562
+ finished: finished
563
+ }
564
+
127
565
  declare function imp(path: "conf", options?: ImportOptions): ModuleConf;
128
566
  declare function imp(path: "env", options?: ImportOptions): ModuleEnv;
129
567
  declare function imp(path: "rune", options?: ImportOptions): ModuleRune;
130
568
  declare function imp(path: "threads", options?: ImportOptions): ModuleThreads;
569
+ declare function imp(
570
+ path: "serve",
571
+ options?: ImportOptions
572
+ ): typeof ModuleServe;
573
+ declare function imp(path: "web", options?: ImportOptions): typeof ModuleWeb;
574
+ declare function imp(path: "data", options?: ImportOptions): ModuleData;
575
+ declare function imp(path: "stream", options?: ImportOptions): ModuleStream;
131
576
  declare function imp(path: string, options?: ImportOptions): any;
132
577
 
133
578
  declare const inc = imp;
@@ -139,49 +584,55 @@ interface Module {
139
584
  filepath: string;
140
585
  main: boolean;
141
586
  impots: string[];
142
- compiled: string
587
+ compiled: string;
143
588
  }
144
589
 
145
590
  declare const module: Module;
146
591
 
147
592
  interface Imports {
148
- meta: {},
149
- assets: any
593
+ meta: {
594
+ url: URL,
595
+ main: boolean
596
+ };
597
+ assets: any;
150
598
  }
151
599
 
152
600
  declare const imports: Imports;
153
601
 
154
602
  declare const process: {
155
- argv: string[],
156
- target: ReturnType<typeof emitter>,
157
- __execFile: string,
158
- env: Record<string, any>,
159
- cwd: () => string,
160
- arch: string,
161
- exit: () => void
603
+ argv: string[];
604
+ target: ReturnType<typeof emitter>;
605
+ __execFile: string;
606
+ env: Record<string, any>;
607
+ cwd: () => string;
608
+ arch: string;
609
+ exit: () => void;
162
610
  };
163
611
 
164
612
  interface AppConfig {
165
613
  manifest: {
166
- package: string
167
- }
614
+ package: string;
615
+ [key: string]: any;
616
+ };
168
617
  }
169
618
 
170
619
  declare const app: {
171
- path: string,
172
- config: AppConfig
173
- }
174
-
620
+ path: string;
621
+ config: AppConfig;
622
+ };
175
623
 
176
624
  declare function read(filepath: string, options?: { encoding: string }): string;
177
625
 
178
- declare function realpath(filepath: string, options?: { encoding: string }): string;
626
+ declare function realpath(
627
+ filepath: string,
628
+ options?: { encoding: string }
629
+ ): string;
179
630
 
180
631
  declare function write(filepath: string, content: any, options?: any): void;
181
632
 
182
633
  declare function exists(filepath: string, options?: any): boolean;
183
634
 
184
- declare function fstat(filepath: string, options?: any): any;
635
+ declare function fstat(filepath: string, options?: any): any;
185
636
 
186
637
  declare function rm(filepath: string, options?: any): void;
187
638
 
@@ -191,9 +642,15 @@ declare function mkdir(filepath: string, options?: any): void;
191
642
 
192
643
  declare function ls(filepath: string, options?: any): string[];
193
644
 
194
- declare function struct(template: { [key: string]: any }): (...args: any[]) => any;
645
+ declare function struct(template: {
646
+ [key: string]: any;
647
+ }): (...args: any[]) => any;
195
648
 
196
- declare function future(callback: (resolve: (data: any) => void, reject: (data: any) => void) => void, timeout?: number, defData?: any): {
649
+ declare function future(
650
+ callback: (resolve: (data: any) => void, reject: (data: any) => void) => void,
651
+ timeout?: number,
652
+ defData?: any
653
+ ): {
197
654
  pipe(callback: (data: any) => any): Promise<any>;
198
655
  last(callback: (data: any) => any): Promise<any>;
199
656
  catch(callback: (data: any) => any): Promise<any>;
@@ -202,21 +659,47 @@ declare function future(callback: (resolve: (data: any) => void, reject: (data:
202
659
  wait(): Promise<any>;
203
660
  };
204
661
  declare namespace future {
205
- function promise(promse: Promise<any>, timeout?: number, defData?: any): ReturnType<typeof future>;
662
+ function promise(
663
+ promse: Promise<any>,
664
+ timeout?: number,
665
+ defData?: any
666
+ ): ReturnType<typeof future>;
206
667
  }
207
668
 
208
669
  declare function emitter(): {
209
- on(event: string | string[], callback: (...args: any[]) => void, props?: {}): ReturnType<typeof emitter>;
210
- off(event: string | string[], callback: (...args: any[]) => void, removable?: (event: any) => void): ReturnType<typeof emitter>;
670
+ on(
671
+ event: string | string[],
672
+ callback: (...args: any[]) => void,
673
+ props?: {}
674
+ ): ReturnType<typeof emitter>;
675
+ off(
676
+ event: string | string[],
677
+ callback: (...args: any[]) => void,
678
+ removable?: (event: any) => void
679
+ ): ReturnType<typeof emitter>;
211
680
  emit(event: string | string[], ...data: any[]): ReturnType<typeof emitter>;
212
681
  };
213
- declare function exec(command: string, options?: { output?: boolean }): any;
682
+ declare function exec(command: string, options?: { output?: boolean }): any;
214
683
  declare namespace exec {
215
- function background(command: string, options?: any, callback?: (...args: any[]) => void): any;
684
+ function background(
685
+ command: string,
686
+ options?: any,
687
+ callback?: (...args: any[]) => void
688
+ ): any;
216
689
  }
217
- declare function spawn(command: string, ...args: any[]): any;
218
-
219
- declare function typedef(value: any, strict?: boolean): { strict: boolean; defaultValue: any; class: Function; type: string; isConstucted: boolean; isEmpty: boolean };
690
+ declare function spawn(command: string, ...args: any[]): any;
691
+
692
+ declare function typedef(
693
+ value: any,
694
+ strict?: boolean
695
+ ): {
696
+ strict: boolean;
697
+ defaultValue: any;
698
+ class: Function;
699
+ type: string;
700
+ isConstucted: boolean;
701
+ isEmpty: boolean;
702
+ };
220
703
 
221
704
  declare function typeis(obj: any, typeDef: any): boolean;
222
705
 
@@ -224,26 +707,61 @@ declare function typex(child: any, parent: any): boolean;
224
707
 
225
708
  declare function typei(child: any, parent: any): boolean;
226
709
 
227
- declare function int(str: string): number;
710
+ declare function int(v: any): number;
228
711
 
229
712
  declare namespace int {
230
- const type: { strict: boolean; defaultValue: number; class: Function; type: string; isConstucted: boolean; isEmpty: boolean };
713
+ const type: {
714
+ strict: boolean;
715
+ defaultValue: number;
716
+ class: Function;
717
+ type: string;
718
+ isConstucted: boolean;
719
+ isEmpty: boolean;
720
+ };
231
721
  }
232
- declare function float(str: string): number;
722
+ declare function float(v: any): number;
233
723
  declare namespace float {
234
- const type: { strict: boolean; defaultValue: number; class: Function; type: string; isConstucted: boolean; isEmpty: boolean };
724
+ const type: {
725
+ strict: boolean;
726
+ defaultValue: number;
727
+ class: Function;
728
+ type: string;
729
+ isConstucted: boolean;
730
+ isEmpty: boolean;
731
+ };
235
732
  }
236
- declare function num(str: string): number;
733
+ declare function num(v: any): number;
237
734
  declare namespace num {
238
- const type: { strict: boolean; defaultValue: number; class: Function; type: string; isConstucted: boolean; isEmpty: boolean };
735
+ const type: {
736
+ strict: boolean;
737
+ defaultValue: number;
738
+ class: Function;
739
+ type: string;
740
+ isConstucted: boolean;
741
+ isEmpty: boolean;
742
+ };
239
743
  }
240
744
  declare function str(str: any): string;
241
745
  declare namespace str {
242
- const type: { strict: boolean; defaultValue: string; class: Function; type: string; isConstucted: boolean; isEmpty: boolean };
746
+ const type: {
747
+ strict: boolean;
748
+ defaultValue: string;
749
+ class: Function;
750
+ type: string;
751
+ isConstucted: boolean;
752
+ isEmpty: boolean;
753
+ };
243
754
  }
244
755
  declare function bool(value: any): boolean;
245
756
  declare namespace bool {
246
- const type: { strict: boolean; defaultValue: boolean; class: Function; type: string; isConstucted: boolean; isEmpty: boolean };
757
+ const type: {
758
+ strict: boolean;
759
+ defaultValue: boolean;
760
+ class: Function;
761
+ type: string;
762
+ isConstucted: boolean;
763
+ isEmpty: boolean;
764
+ };
247
765
  }
248
766
  declare function isEmpty(value: any): boolean;
249
767
  declare function clone(value: any): any;
@@ -251,7 +769,11 @@ declare function deepClone(value: any): any;
251
769
  declare function merge(obj1: any, obj2: any): any;
252
770
  declare const uniqueId: () => string;
253
771
  declare function filter(arr: any[], fn: (value: any) => boolean): any[];
254
- declare function reduce(arr: any[], fn: (acc: any, value: any) => any, initial: any): any;
772
+ declare function reduce(
773
+ arr: any[],
774
+ fn: (acc: any, value: any) => any,
775
+ initial: any
776
+ ): any;
255
777
  declare function compose(...fns: Function[]): (initialValue: any) => any;
256
778
  declare function curry(fn: Function): (...args: any[]) => any;
257
779
  declare function json(thing: string): any;
@@ -259,60 +781,68 @@ declare function jsons(thing: any): string;
259
781
  declare function yaml(thing: any): any;
260
782
  declare function yamls(thing: any): string;
261
783
 
262
-
263
784
  /**
264
785
  * Makes a HTTP request to the specified URL.
265
786
  * @param url The URL to request.
266
787
  * @param options The options for the request.
267
788
  * @returns A promise resolving to the response or other specified output based on the options.
268
789
  */
269
- declare function curl(url: string, options: {
270
- /**
271
- * Indicates whether to return a promise.
272
- */
273
- a: true,
274
- /**
275
- * Indicates whether to return the response as plain text.
276
- */
277
- text: true,
278
- o?: string
279
- }): Promise<string>;
790
+ declare function curl(
791
+ url: string,
792
+ options: {
793
+ /**
794
+ * Indicates whether to return a promise.
795
+ */
796
+ a: true;
797
+ /**
798
+ * Indicates whether to return the response as plain text.
799
+ */
800
+ text: true;
801
+ o?: string;
802
+ }
803
+ ): Promise<string>;
280
804
  /**
281
805
  * Makes a HTTP request to the specified URL.
282
806
  * @param url The URL to request.
283
807
  * @param options The options for the request.
284
808
  * @returns A promise resolving to the response or other specified output based on the options.
285
809
  */
286
- declare function curl(url: string, options: {
287
- /**
288
- * Indicates whether to return a promise.
289
- */
290
- a: true,
291
- /**
292
- * Indicates whether to return the response as JSON.
293
- */
294
- json: true,
295
- /**
296
- * The file path to output the response.
297
- */
298
- o?: string
299
- }): Promise<object>;
810
+ declare function curl(
811
+ url: string,
812
+ options: {
813
+ /**
814
+ * Indicates whether to return a promise.
815
+ */
816
+ a: true;
817
+ /**
818
+ * Indicates whether to return the response as JSON.
819
+ */
820
+ json: true;
821
+ /**
822
+ * The file path to output the response.
823
+ */
824
+ o?: string;
825
+ }
826
+ ): Promise<object>;
300
827
  /**
301
828
  * Makes a HTTP request to the specified URL.
302
829
  * @param url The URL to request.
303
830
  * @param options The options for the request.
304
831
  * @returns A promise resolving to the response or other specified output based on the options.
305
832
  */
306
- declare function curl(url: string, options: {
307
- /**
308
- * Indicates whether to return a promise.
309
- */
310
- a: true,
311
- /**
312
- * The file path to output the response.
313
- */
314
- o?: string
315
- }): Promise<Response>;
833
+ declare function curl(
834
+ url: string,
835
+ options: {
836
+ /**
837
+ * Indicates whether to return a promise.
838
+ */
839
+ a: true;
840
+ /**
841
+ * The file path to output the response.
842
+ */
843
+ o?: string;
844
+ }
845
+ ): Promise<Response>;
316
846
 
317
847
  /**
318
848
  * Makes a HTTP request to the specified URL.
@@ -320,55 +850,53 @@ declare function curl(url: string, options: {
320
850
  * @param options The options for the request.
321
851
  * @returns A promise resolving to the response or other specified output based on the options.
322
852
  */
323
- declare function curl(url: string, options?: {
324
- /**
325
- * Indicates whether to return a promise.
326
- */
327
- a?: boolean,
328
- /**
329
- * The file path to output the response.
330
- */
331
- o?: string,
332
- /**
333
- * Indicates whether to return the response as JSON.
334
- */
335
- json?: boolean,
336
- /**
337
- * Indicates whether to return the response as plain text.
338
- */
339
- text?: boolean
340
- }): ReturnType<typeof future>;
341
-
342
-
343
-
853
+ declare function curl(
854
+ url: string,
855
+ options?: {
856
+ /**
857
+ * Indicates whether to return a promise.
858
+ */
859
+ a?: boolean;
860
+ /**
861
+ * The file path to output the response.
862
+ */
863
+ o?: string;
864
+ /**
865
+ * Indicates whether to return the response as JSON.
866
+ */
867
+ json?: boolean;
868
+ /**
869
+ * Indicates whether to return the response as plain text.
870
+ */
871
+ text?: boolean;
872
+ }
873
+ ): ReturnType<typeof future>;
344
874
 
345
875
  declare function print(...args: any[]): void;
346
876
  declare namespace print {
347
877
  const stdout: WriteStream;
348
878
  const stdin: ReadStream;
349
- };
879
+ }
350
880
 
351
881
  declare function input(prompt: string): string;
352
882
 
353
-
354
883
  declare const basename: (path: string) => string;
355
884
  declare const dirname: (path: string) => string;
356
885
  declare const extname: (path: string) => string;
357
886
  declare const pjoin: (...paths: string[]) => string;
358
887
  declare const presolve: (...paths: string[]) => string;
359
888
 
360
- declare function exports(value: any) : any;
361
-
362
- declare function clear() : void;
889
+ declare function exports(value: any): any;
363
890
 
364
-
365
- declare function pub(value: any) : any;
366
- declare function pub(name: string, value: any) : any;
891
+ declare function pub(value: any): any;
892
+ declare function pub(name: string, value: any): any;
367
893
 
368
894
  declare const opt: {
369
895
  set: (key: string, value: any) => void;
370
- get: (key: string) => any,
371
- push: (key: string, value: any) => any,
372
- pop: (key: string) => any,
373
- }
896
+ get: (key: string) => any;
897
+ push: (key: string, value: any) => any;
898
+ pop: (key: string) => any;
899
+ };
374
900
 
901
+ declare function wait(fn: CallableFunction, ...args: any[]): any;
902
+ declare function clear(): void;