@makano/rew 1.2.56 → 1.2.58

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makano/rew",
3
- "version": "1.2.56",
3
+ "version": "1.2.58",
4
4
  "description": "A simple coffescript runtime and app manager",
5
5
  "main": "main.js",
6
6
  "directories": {
@@ -32,6 +32,9 @@
32
32
  "license": "ISC",
33
33
  "dependencies": {
34
34
  "@babel/core": "^7.24.6",
35
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
36
+ "@babel/plugin-proposal-decorators": "^7.24.7",
37
+ "@babel/plugin-transform-class-static-block": "^7.24.7",
35
38
  "@babel/preset-env": "^7.24.7",
36
39
  "@babel/preset-react": "^7.24.6",
37
40
  "@babel/preset-typescript": "^7.24.7",
@@ -48,6 +51,5 @@
48
51
  "vite": "^5.2.13",
49
52
  "vm": "^0.1.0",
50
53
  "yargs": "^17.7.2"
51
- },
52
- "devDependencies": {}
54
+ }
53
55
  }
package/runtime.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+
2
+
1
3
  interface ImportOptions {
2
4
  /**
3
5
  * Determines how to import the given module
@@ -61,7 +63,8 @@ interface ModuleConf extends ModuleConfOptionCenter {
61
63
  name: string,
62
64
  defaults?: any
63
65
  ) => {
64
- write: (value: any, ifExists?: boolean) => this;
66
+ write: (value: any, ifExists?: boolean) => any;
67
+ // @ts-ignore
65
68
  read: (to?: string | object) => string | object | Buffer;
66
69
  fileRoot: string;
67
70
  exists: boolean;
@@ -109,8 +112,8 @@ interface ModuleRuneDB {
109
112
  interface ModuleRune {
110
113
  db(dbname: string, data?: object, encryptionKey?: string): ModuleRuneDB;
111
114
  genKey(secret: string): string;
112
- push(...values: any[]): PushChange;
113
- pop(...values: any[]): PopChange;
115
+ push(...values: any[]): any;
116
+ pop(...values: any[]): any;
114
117
  }
115
118
 
116
119
  interface ModuleThreads {
@@ -120,12 +123,40 @@ interface ModuleThreads {
120
123
  on: (event: string, callback: (data) => void) => void;
121
124
  off: (event: string, callback: (data) => void) => void;
122
125
  emit: (event: string, data: any) => void;
123
- get: () => Promise;
126
+ get: () => Promise<any>;
124
127
  stop: () => void;
125
128
  };
126
129
  };
127
130
  }
128
131
 
132
+
133
+ type _Request = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").Request;
134
+ type _Response = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").Response;
135
+ type _FormData = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").FormData;
136
+ type _Headers = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").Headers;
137
+ type _RequestInit = typeof globalThis extends { onmessage: any } ? {}
138
+ : import("undici-types").RequestInit;
139
+ type _ResponseInit = typeof globalThis extends { onmessage: any } ? {}
140
+ : import("undici-types").ResponseInit;
141
+ // @ts-ignore
142
+ type _File = typeof globalThis extends { onmessage: any } ? {} : import("node:buffer").File;
143
+
144
+ interface Request {}
145
+ declare var Request: typeof globalThis extends {
146
+ onmessage: any;
147
+ Request: infer T;
148
+ } ? T
149
+ : typeof import("undici-types").Request;
150
+
151
+ interface ResponseInit extends _ResponseInit {}
152
+
153
+ interface Response extends _Response {}
154
+ declare var Response: typeof globalThis extends {
155
+ onmessage: any;
156
+ Response: infer T;
157
+ } ? T
158
+ : typeof import("undici-types").Response;
159
+
129
160
  type GenericTraps = Record<string, any>;
130
161
 
131
162
  type IRequestStrict = {
@@ -156,7 +187,8 @@ type StatusErrorObject = {
156
187
  error?: string;
157
188
  [key: string]: any;
158
189
  };
159
- class StatusError extends Error {
190
+
191
+ interface StatusError extends Error {
160
192
  status: number;
161
193
  [key: string]: any;
162
194
  constructor(status?: number, body?: StatusErrorObject | string);
@@ -262,12 +294,9 @@ interface ErrorLike extends Error {
262
294
  type ErrorBody = string | object;
263
295
  interface ErrorFormatter {
264
296
  (statusCode?: number, body?: ErrorBody): Response;
265
- (error: ErrorLike): Response;
266
- }
267
- {
268
297
  }
269
298
 
270
- const IttyRouter: <
299
+ type IttyRouter = <
271
300
  RequestType extends IRequest = IRequest,
272
301
  Args extends any[] = any[],
273
302
  ResponseType = any
@@ -277,7 +306,7 @@ const IttyRouter: <
277
306
  ...other
278
307
  }?: IttyRouterOptions) => IttyRouterType<RequestType, Args, ResponseType>;
279
308
 
280
- const Router: <
309
+ type Router = <
281
310
  RequestType = IRequest,
282
311
  Args extends any[] = any[],
283
312
  ResponseType = any
@@ -291,7 +320,7 @@ const Router: <
291
320
  ResponseType
292
321
  >;
293
322
 
294
- const AutoRouter: <
323
+ type AutoRouter = <
295
324
  RequestType extends IRequest = IRequest,
296
325
  Args extends any[] = any[],
297
326
  ResponseType = any
@@ -307,32 +336,18 @@ const AutoRouter: <
307
336
  ResponseType
308
337
  >;
309
338
 
310
- const createResponse: (
339
+ type createResponse = (
311
340
  format?: string,
312
341
  transform?: ((body: any) => any) | undefined
313
342
  ) => ResponseFormatter;
314
343
 
315
- const error: ErrorFormatter;
316
-
317
- const statusR: (status: number, options?: ResponseInit) => Response;
344
+ type statusR = (status: number, options?: ResponseInit) => Response;
318
345
 
319
- const textR: ResponseFormatter;
346
+ type withContent = (request: IRequest) => Promise<void>;
320
347
 
321
- const jsonR: ResponseFormatter;
348
+ type withCookies = (r: IRequest) => void;
322
349
 
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;
350
+ type withParams = (request: IRequest) => void;
336
351
 
337
352
  type CorsOptions = {
338
353
  credentials?: true;
@@ -353,7 +368,7 @@ type CorsPair = {
353
368
  preflight: Preflight;
354
369
  corsify: Corsify;
355
370
  };
356
- const cors: (options?: CorsOptions) => {
371
+ type cors = (options?: CorsOptions) => {
357
372
  corsify: (response: Response, request?: Request) => Response;
358
373
  preflight: (request: Request) => Response | undefined;
359
374
  };
@@ -362,7 +377,9 @@ interface ModuleServeRouter extends RouterType {
362
377
  to(server: ModuleServeServer): any;
363
378
  }
364
379
 
365
- interface ModuleServeServerOptions {
380
+ interface ResponseType{}
381
+
382
+ declare class ModuleServeServerOptions {
366
383
  handler?: (req: RequestLike, res: ResponseType) => any;
367
384
  routers?: ModuleServeRouter[];
368
385
  fetch?: (req: RequestLike) => ResponseType | Promise<ResponseType>;
@@ -372,7 +389,7 @@ interface ModuleServeServer {
372
389
  _server: any;
373
390
  routers: Record<string, ModuleServeRouter>;
374
391
 
375
- handleRequest: typeof ModuleServeServerOptions.handler;
392
+ handleRequest: typeof ModuleServeServerOptions.prototype.handler;
376
393
  listen: this;
377
394
  port: (port: number) => this;
378
395
  log: (string: string) => this;
@@ -388,7 +405,7 @@ interface ModuleServeFileRouterOptions {
388
405
  onError?: () => any;
389
406
  }
390
407
 
391
- class ModuleServe {
408
+ declare class ModuleServe {
392
409
  router({
393
410
  id,
394
411
  type,
@@ -403,26 +420,29 @@ class ModuleServe {
403
420
  o: ModuleServeFileRouterOptions
404
421
  ): (req: RequestLike) => ResponseType | Promise<ResponseType>;
405
422
 
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;
423
+ cors: cors;
424
+ json: ResponseFormatter;
425
+ error: ResponseFormatter;
426
+ png: ResponseFormatter;
427
+ jpeg: ResponseFormatter;
428
+ webp: ResponseFormatter;
429
+ text: ResponseFormatter;
430
+ html: ResponseFormatter;
431
+ status: statusR;
415
432
 
416
- createResponse = createResponse;
433
+ createResponse: createResponse;
417
434
 
418
- withContent = withContent;
419
- withCookies = withCookies;
420
- withParams = withParams;
435
+ withContent: withContent;
436
+ withCookies: withCookies;
437
+ withParams: withParams;
421
438
 
439
+ // @ts-ignore
422
440
  Request = Request;
441
+ // @ts-ignore
423
442
  Response = Response;
424
443
  }
425
444
 
445
+ // @ts-ignore
426
446
  type nodable = Element | Node | any;
427
447
  interface Node {
428
448
  type: string;
@@ -461,7 +481,7 @@ interface ModuleWebState {
461
481
  subscribe(callback: CallableFunction): this;
462
482
  }
463
483
 
464
- class ModuleWeb {
484
+ declare class ModuleWeb {
465
485
  create(options: ModuleWebPageOptions): ModuleWebPage;
466
486
  isNode(node: any): boolean;
467
487
  isTextNode(node: any): boolean;
@@ -471,12 +491,13 @@ class ModuleWeb {
471
491
  createElement(...args: any[]): ElementNode;
472
492
 
473
493
  state(value): ModuleWebState | any;
494
+ // @ts-ignore
474
495
  useState(states: State[], callback: CallableFunction): any;
475
496
 
476
497
  bundle(filePath: string, options?: Record<string, any>): string;
477
498
  }
478
499
 
479
- class Stack<T = any> {
500
+ declare class Stack<T = any> {
480
501
  constructor();
481
502
  push(item: T): void;
482
503
  pop(): T | undefined;
@@ -485,7 +506,7 @@ class Stack<T = any> {
485
506
  toArray(): T[];
486
507
  }
487
508
 
488
- class Queue<T = any> {
509
+ declare class Queue<T = any> {
489
510
  constructor();
490
511
  enqueue(item: T): void;
491
512
  dequeue(): T | undefined;
@@ -494,7 +515,7 @@ class Queue<T = any> {
494
515
  toArray(): T[];
495
516
  }
496
517
 
497
- class LinkedList<T = any> {
518
+ declare class LinkedList<T = any> {
498
519
  constructor();
499
520
  append(value: T): void;
500
521
  prepend(value: T): void;
@@ -503,7 +524,7 @@ class LinkedList<T = any> {
503
524
  toArray(): T[];
504
525
  }
505
526
 
506
- namespace LinkedList {
527
+ declare namespace LinkedList {
507
528
  class Node<T = any> {
508
529
  constructor(value: T);
509
530
  value: T;
@@ -511,14 +532,14 @@ namespace LinkedList {
511
532
  }
512
533
  }
513
534
 
514
- class BinaryTree<T = any> {
535
+ declare class BinaryTree<T = any> {
515
536
  constructor();
516
537
  insert(value: T): void;
517
538
  find(value: T): BinaryTree.Node<T> | null;
518
539
  toArray(): T[];
519
540
  }
520
541
 
521
- namespace BinaryTree {
542
+ declare namespace BinaryTree {
522
543
  class Node<T = any> {
523
544
  constructor(value: T);
524
545
  value: T;
@@ -527,7 +548,7 @@ namespace BinaryTree {
527
548
  }
528
549
  }
529
550
 
530
- class DoublyLinkedList<T = any> {
551
+ declare class DoublyLinkedList<T = any> {
531
552
  constructor();
532
553
  append(value: T): void;
533
554
  prepend(value: T): void;
@@ -536,7 +557,7 @@ class DoublyLinkedList<T = any> {
536
557
  toArray(): T[];
537
558
  }
538
559
 
539
- namespace DoublyLinkedList {
560
+ declare namespace DoublyLinkedList {
540
561
  class Node<T = any> {
541
562
  constructor(value: T);
542
563
  value: T;
@@ -545,20 +566,26 @@ namespace DoublyLinkedList {
545
566
  }
546
567
  }
547
568
 
548
- interface ModuleData {
569
+ declare interface ModuleData {
549
570
  Stack: typeof Stack;
550
571
  Queue: typeof Queue;
551
- BinaryTree: typeof BinaryTree;
552
- DoublyLinkedList: typeof DoublyLinkedList;
553
- LinkedList: typeof LinkedList;
572
+ BinaryTree: typeof BinaryTree;
573
+ DoublyLinkedList: typeof DoublyLinkedList;
574
+ LinkedList: typeof LinkedList;
554
575
  }
555
576
 
556
577
  interface ModuleStream {
578
+ // @ts-ignore
557
579
  Readable: Readable,
580
+ // @ts-ignore
558
581
  Writable: Writable,
582
+ // @ts-ignore
559
583
  Transform: Transform,
584
+ // @ts-ignore
560
585
  Duplex: Duplex,
586
+ // @ts-ignore
561
587
  pipeline: pipeline,
588
+ // @ts-ignore
562
589
  finished: finished
563
590
  }
564
591
 
@@ -575,8 +602,9 @@ declare function imp(path: "data", options?: ImportOptions): ModuleData;
575
602
  declare function imp(path: "stream", options?: ImportOptions): ModuleStream;
576
603
  declare function imp(path: string, options?: ImportOptions): any;
577
604
 
578
- declare const inc = imp;
605
+ declare const inc: typeof imp;
579
606
 
607
+ // @ts-ignore
580
608
  declare function require(moduleName: string): any;
581
609
 
582
610
  interface Module {
@@ -587,10 +615,12 @@ interface Module {
587
615
  compiled: string;
588
616
  }
589
617
 
618
+ // @ts-ignore
590
619
  declare const module: Module;
591
620
 
592
621
  interface Imports {
593
622
  meta: {
623
+ // @ts-ignore
594
624
  url: URL,
595
625
  main: boolean
596
626
  };
@@ -599,6 +629,7 @@ interface Imports {
599
629
 
600
630
  declare const imports: Imports;
601
631
 
632
+ // @ts-ignore
602
633
  declare const process: {
603
634
  argv: string[];
604
635
  target: ReturnType<typeof emitter>;
@@ -842,6 +873,7 @@ declare function curl(
842
873
  */
843
874
  o?: string;
844
875
  }
876
+ // @ts-ignore
845
877
  ): Promise<Response>;
846
878
 
847
879
  /**
@@ -874,7 +906,9 @@ declare function curl(
874
906
 
875
907
  declare function print(...args: any[]): void;
876
908
  declare namespace print {
909
+ // @ts-ignore
877
910
  const stdout: WriteStream;
911
+ // @ts-ignore
878
912
  const stdin: ReadStream;
879
913
  }
880
914
 
@@ -886,8 +920,10 @@ declare const extname: (path: string) => string;
886
920
  declare const pjoin: (...paths: string[]) => string;
887
921
  declare const presolve: (...paths: string[]) => string;
888
922
 
923
+ // @ts-ignore
889
924
  declare function exports(value: any): any;
890
925
 
926
+
891
927
  declare function pub(value: any): any;
892
928
  declare function pub(name: string, value: any): any;
893
929
 
@@ -898,5 +934,10 @@ declare const opt: {
898
934
  pop: (key: string) => any;
899
935
  };
900
936
 
937
+ declare const JSX: any;
938
+ declare const TYPES: any;
939
+ declare const DECORATORS: any;
940
+ declare function using(fn: any, ...args: any[]): any;
941
+
901
942
  declare function wait(fn: CallableFunction, ...args: any[]): any;
902
- declare function clear(): void;
943
+ declare function clear(): void;
package/jsconfig.json DELETED
@@ -1,13 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "checkJs": true,
4
- "lib": ["ESNext"],
5
- "module": "Node16"
6
- },
7
- "include": [
8
- "./runtime.d.ts"
9
- ],
10
- "typeAcquisition": {
11
- "include": ["./runtime.d.ts"]
12
- }
13
- }
@@ -1,156 +0,0 @@
1
- // Generated by CoffeeScript 2.7.0
2
- (function () {
3
- // This **Browser** compatibility layer extends core CoffeeScript functions
4
- // to make things work smoothly when compiling code directly in the browser.
5
- // We add support for loading remote Coffee scripts via **XHR**, and
6
- // `text/coffeescript` script tags, source maps via data-URLs, and so on.
7
- var CoffeeScript,
8
- compile,
9
- indexOf = [].indexOf;
10
-
11
- CoffeeScript = require('./coffeescript');
12
-
13
- ({ compile } = CoffeeScript);
14
-
15
- // Use `window.eval` to evaluate code, rather than just `eval`, to run the
16
- // script in a clean global scope rather than inheriting the scope of the
17
- // CoffeeScript compiler. (So that `cake test:browser` also works in Node,
18
- // use either `window.eval` or `global.eval` as appropriate).
19
- CoffeeScript.eval = function (code, options = {}) {
20
- var globalRoot;
21
- if (options.bare == null) {
22
- options.bare = true;
23
- }
24
- globalRoot = typeof window !== 'undefined' && window !== null ? window : global;
25
- return globalRoot['eval'](compile(code, options));
26
- };
27
-
28
- // Running code does not provide access to this scope.
29
- CoffeeScript.run = function (code, options = {}) {
30
- options.bare = true;
31
- options.shiftLine = true;
32
- return Function(compile(code, options))();
33
- };
34
-
35
- // Export this more limited `CoffeeScript` than what is exported by
36
- // `index.coffee`, which is intended for a Node environment.
37
- module.exports = CoffeeScript;
38
-
39
- // If we’re not in a browser environment, we’re finished with the public API.
40
- if (typeof window === 'undefined' || window === null) {
41
- return;
42
- }
43
-
44
- // Include source maps where possible. If we’ve got a base64 encoder, a
45
- // JSON serializer, and tools for escaping unicode characters, we’re good to go.
46
- // Ported from https://developer.mozilla.org/en-US/docs/DOM/window.btoa
47
- if (typeof btoa !== 'undefined' && btoa !== null && typeof JSON !== 'undefined' && JSON !== null) {
48
- compile = function (code, options = {}) {
49
- options.inlineMap = true;
50
- return CoffeeScript.compile(code, options);
51
- };
52
- }
53
-
54
- // Load a remote script from the current domain via XHR.
55
- CoffeeScript.load = function (url, callback, options = {}, hold = false) {
56
- var xhr;
57
- options.sourceFiles = [url];
58
- xhr = window.ActiveXObject ? new window.ActiveXObject('Microsoft.XMLHTTP') : new window.XMLHttpRequest();
59
- xhr.open('GET', url, true);
60
- if ('overrideMimeType' in xhr) {
61
- xhr.overrideMimeType('text/plain');
62
- }
63
- xhr.onreadystatechange = function () {
64
- var param, ref;
65
- if (xhr.readyState === 4) {
66
- if ((ref = xhr.status) === 0 || ref === 200) {
67
- param = [xhr.responseText, options];
68
- if (!hold) {
69
- CoffeeScript.run(...param);
70
- }
71
- } else {
72
- throw new Error(`Could not load ${url}`);
73
- }
74
- if (callback) {
75
- return callback(param);
76
- }
77
- }
78
- };
79
- return xhr.send(null);
80
- };
81
-
82
- // Activate CoffeeScript in the browser by having it compile and evaluate
83
- // all script tags with a content-type of `text/coffeescript`.
84
- // This happens on page load.
85
- CoffeeScript.runScripts = function () {
86
- var coffees, coffeetypes, execute, i, index, j, len, s, script, scripts;
87
- scripts = window.document.getElementsByTagName('script');
88
- coffeetypes = ['text/coffeescript', 'text/literate-coffeescript'];
89
- coffees = (function () {
90
- var j, len, ref, results;
91
- results = [];
92
- for (j = 0, len = scripts.length; j < len; j++) {
93
- s = scripts[j];
94
- if (((ref = s.type), indexOf.call(coffeetypes, ref) >= 0)) {
95
- results.push(s);
96
- }
97
- }
98
- return results;
99
- })();
100
- index = 0;
101
- execute = function () {
102
- var param;
103
- param = coffees[index];
104
- if (param instanceof Array) {
105
- CoffeeScript.run(...param);
106
- index++;
107
- return execute();
108
- }
109
- };
110
- for (i = j = 0, len = coffees.length; j < len; i = ++j) {
111
- script = coffees[i];
112
- (function (script, i) {
113
- var options, source;
114
- options = {
115
- literate: script.type === coffeetypes[1],
116
- };
117
- source = script.src || script.getAttribute('data-src');
118
- if (source) {
119
- options.filename = source;
120
- return CoffeeScript.load(
121
- source,
122
- function (param) {
123
- coffees[i] = param;
124
- return execute();
125
- },
126
- options,
127
- true,
128
- );
129
- } else {
130
- // `options.filename` defines the filename the source map appears as
131
- // in Developer Tools. If a script tag has an `id`, use that as the
132
- // filename; otherwise use `coffeescript`, or `coffeescript1` etc.,
133
- // leaving the first one unnumbered for the common case that there’s
134
- // only one CoffeeScript script block to parse.
135
- options.filename = script.id && script.id !== '' ? script.id : `coffeescript${i !== 0 ? i : ''}`;
136
- options.sourceFiles = ['embedded'];
137
- return (coffees[i] = [script.innerHTML, options]);
138
- }
139
- })(script, i);
140
- }
141
- return execute();
142
- };
143
-
144
- // Listen for window load, both in decent browsers and in IE.
145
- // Only attach this event handler on startup for the
146
- // non-ES module version of the browser compiler, to preserve
147
- // backward compatibility while letting the ES module version
148
- // be importable without side effects.
149
- if (this === window) {
150
- if (window.addEventListener) {
151
- window.addEventListener('DOMContentLoaded', CoffeeScript.runScripts, false);
152
- } else {
153
- window.attachEvent('onload', CoffeeScript.runScripts);
154
- }
155
- }
156
- }).call(this);