@mojojs/core 0.19.1 → 0.19.2

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/lib/logger.d.ts CHANGED
@@ -11,9 +11,21 @@ interface LogEvent extends LogContext {
11
11
  msg: string;
12
12
  }
13
13
  declare type LogFormatter = (data: LogEvent) => string;
14
+ /**
15
+ * A simple logger class.
16
+ */
14
17
  export declare class Logger {
18
+ /**
19
+ * Log destination stream.
20
+ */
15
21
  destination: NodeJS.WritableStream;
22
+ /**
23
+ * Log formatter.
24
+ */
16
25
  formatter: LogFormatter;
26
+ /**
27
+ * The last few logged messages.
28
+ */
17
29
  history: LogEvent[];
18
30
  _historySize: number;
19
31
  _level: number;
@@ -23,30 +35,87 @@ export declare class Logger {
23
35
  historySize?: number;
24
36
  level?: string;
25
37
  });
38
+ /**
39
+ * Create a child logger that will include context information with every log message.
40
+ */
26
41
  child(context: LogContext): ChildLogger;
42
+ /**
43
+ * Log formatter with color highlighting.
44
+ */
27
45
  static colorFormatter(data: LogEvent): string;
46
+ /**
47
+ * Log `debug` message.
48
+ */
28
49
  debug(msg: string, context?: LogContext): void;
50
+ /**
51
+ * Log formatter without color highlighting.
52
+ */
29
53
  static stringFormatter(data: LogEvent): string;
54
+ /**
55
+ * Log formatter for systemd.
56
+ */
30
57
  static systemdFormatter(data: LogEvent): string;
58
+ /**
59
+ * Log `error` message.
60
+ */
31
61
  error(msg: string, context?: LogContext): void;
62
+ /**
63
+ * Log `fatal` message.
64
+ */
32
65
  fatal(msg: string, context?: LogContext): void;
66
+ /**
67
+ * Log `infor` message.
68
+ */
33
69
  info(msg: string, context?: LogContext): void;
70
+ /**
71
+ * JSON log formatter.
72
+ */
34
73
  static jsonFormatter(data: LogEvent): string;
74
+ /**
75
+ * Currently active log level.
76
+ */
35
77
  get level(): string;
36
78
  set level(level: string);
79
+ /**
80
+ * Log `trace` message.
81
+ */
37
82
  trace(msg: string, context?: LogContext): void;
83
+ /**
84
+ * Log `warn` message.
85
+ */
38
86
  warn(msg: string, context?: LogContext): void;
39
87
  _log(level: string, msg: string, context?: LogContext): void;
40
88
  }
89
+ /**
90
+ * Child logger class.
91
+ */
41
92
  export declare class ChildLogger {
42
93
  parent: Logger;
43
94
  context: LogContext;
44
95
  constructor(parent: Logger, context: LogContext);
96
+ /**
97
+ * Log `debug` message.
98
+ */
45
99
  debug(msg: string): void;
100
+ /**
101
+ * Log `error` message.
102
+ */
46
103
  error(msg: string): void;
104
+ /**
105
+ * Log `fatal` message.
106
+ */
47
107
  fatal(msg: string): void;
108
+ /**
109
+ * Log `info` message.
110
+ */
48
111
  info(msg: string): void;
112
+ /**
113
+ * Log `trace` message.
114
+ */
49
115
  trace(msg: string): void;
116
+ /**
117
+ * Log `warn` message.
118
+ */
50
119
  warn(msg: string): void;
51
120
  }
52
121
  export {};
package/lib/logger.js CHANGED
@@ -8,8 +8,14 @@ const LEVEL = {
8
8
  debug: 6,
9
9
  trace: 7
10
10
  };
11
+ /**
12
+ * A simple logger class.
13
+ */
11
14
  export class Logger {
12
15
  constructor(options = {}) {
16
+ /**
17
+ * The last few logged messages.
18
+ */
13
19
  this.history = [];
14
20
  this._level = 7;
15
21
  this.destination = options.destination ?? process.stderr;
@@ -17,9 +23,15 @@ export class Logger {
17
23
  this.level = process.env.MOJO_LOG_LEVEL ?? options.level ?? 'trace';
18
24
  this._historySize = options.historySize ?? 0;
19
25
  }
26
+ /**
27
+ * Create a child logger that will include context information with every log message.
28
+ */
20
29
  child(context) {
21
30
  return new ChildLogger(this, context);
22
31
  }
32
+ /**
33
+ * Log formatter with color highlighting.
34
+ */
23
35
  static colorFormatter(data) {
24
36
  const formatted = Logger.stringFormatter(data);
25
37
  if (data.level === 'error' || data.level === 'fatal')
@@ -28,35 +40,59 @@ export class Logger {
28
40
  return chalk.yellow(formatted);
29
41
  return formatted;
30
42
  }
43
+ /**
44
+ * Log `debug` message.
45
+ */
31
46
  debug(msg, context) {
32
47
  if (this._level >= LEVEL.debug)
33
48
  this._log('debug', msg, context);
34
49
  }
50
+ /**
51
+ * Log formatter without color highlighting.
52
+ */
35
53
  static stringFormatter(data) {
36
54
  if (data.requestId !== undefined)
37
55
  return `[${data.time}] [${data.level}] [${data.requestId}] ${data.msg}\n`;
38
56
  return `[${data.time}] [${data.level}] ${data.msg}\n`;
39
57
  }
58
+ /**
59
+ * Log formatter for systemd.
60
+ */
40
61
  static systemdFormatter(data) {
41
62
  if (data.requestId === undefined)
42
63
  return `<${LEVEL[data.level]}>[${data.level.substring(0, 1)}] ${data.msg}\n`;
43
64
  return `<${LEVEL[data.level]}>[${data.level.substring(0, 1)}] [${data.requestId}] ${data.msg}\n`;
44
65
  }
66
+ /**
67
+ * Log `error` message.
68
+ */
45
69
  error(msg, context) {
46
70
  if (this._level >= LEVEL.error)
47
71
  this._log('error', msg, context);
48
72
  }
73
+ /**
74
+ * Log `fatal` message.
75
+ */
49
76
  fatal(msg, context) {
50
77
  if (this._level >= LEVEL.fatal)
51
78
  this._log('fatal', msg, context);
52
79
  }
80
+ /**
81
+ * Log `infor` message.
82
+ */
53
83
  info(msg, context) {
54
84
  if (this._level >= LEVEL.info)
55
85
  this._log('info', msg, context);
56
86
  }
87
+ /**
88
+ * JSON log formatter.
89
+ */
57
90
  static jsonFormatter(data) {
58
91
  return JSON.stringify(data);
59
92
  }
93
+ /**
94
+ * Currently active log level.
95
+ */
60
96
  get level() {
61
97
  return Object.keys(LEVEL).find(key => LEVEL[key] === this._level);
62
98
  }
@@ -64,10 +100,16 @@ export class Logger {
64
100
  assert(LEVEL[level] !== undefined, `Unsupported log level "${level}"`);
65
101
  this._level = LEVEL[level];
66
102
  }
103
+ /**
104
+ * Log `trace` message.
105
+ */
67
106
  trace(msg, context) {
68
107
  if (this._level >= LEVEL.trace)
69
108
  this._log('trace', msg, context);
70
109
  }
110
+ /**
111
+ * Log `warn` message.
112
+ */
71
113
  warn(msg, context) {
72
114
  if (this._level >= LEVEL.warn)
73
115
  this._log('warn', msg, context);
@@ -88,26 +130,47 @@ export class Logger {
88
130
  }
89
131
  }
90
132
  }
133
+ /**
134
+ * Child logger class.
135
+ */
91
136
  export class ChildLogger {
92
137
  constructor(parent, context) {
93
138
  this.parent = parent;
94
139
  this.context = context;
95
140
  }
141
+ /**
142
+ * Log `debug` message.
143
+ */
96
144
  debug(msg) {
97
145
  this.parent.debug(msg, this.context);
98
146
  }
147
+ /**
148
+ * Log `error` message.
149
+ */
99
150
  error(msg) {
100
151
  this.parent.error(msg, this.context);
101
152
  }
153
+ /**
154
+ * Log `fatal` message.
155
+ */
102
156
  fatal(msg) {
103
157
  this.parent.fatal(msg, this.context);
104
158
  }
159
+ /**
160
+ * Log `info` message.
161
+ */
105
162
  info(msg) {
106
163
  this.parent.info(msg, this.context);
107
164
  }
165
+ /**
166
+ * Log `trace` message.
167
+ */
108
168
  trace(msg) {
109
169
  this.parent.trace(msg, this.context);
110
170
  }
171
+ /**
172
+ * Log `warn` message.
173
+ */
111
174
  warn(msg) {
112
175
  this.parent.warn(msg, this.context);
113
176
  }
package/lib/logger.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,MAAM,KAAK,GAA2B;IACpC,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,OAAO,MAAM;IAOjB,YACE,UAAuG,EAAE;QAL3G,YAAO,GAAe,EAAE,CAAC;QAEzB,WAAM,GAAG,CAAC,CAAC;QAKT,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QAEpE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAmB;QACvB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,IAAc;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,OAAoB;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,IAAc;QACnC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;QAC5G,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,IAAc;QACpC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/G,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,OAAoB;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,OAAoB;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,OAAoB;QACpC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAc;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAW,CAAC;IAC9E,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,0BAA0B,KAAK,GAAG,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,OAAoB;QACrC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,OAAoB;QACpC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,GAAW,EAAE,OAAoB;QACnD,MAAM,IAAI,GAAa,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAC,CAAC;QAChF,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9C;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YAEtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,OAAO,CAAC,MAAM,GAAG,WAAW,EAAE;gBACnC,OAAO,CAAC,KAAK,EAAE,CAAC;aACjB;YAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9C;IACH,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IAItB,YAAY,MAAc,EAAE,OAAmB;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,33 @@ interface PlaceholderTypes {
6
6
  [name: string]: PlaceholderType;
7
7
  }
8
8
  declare type ASTNode = [symbol, ...string[]];
9
+ /**
10
+ * Route pattern class.
11
+ */
9
12
  export declare class Pattern {
13
+ /**
14
+ * Pattern constraints.
15
+ */
10
16
  constraints: PlaceholderTypes;
17
+ /**
18
+ * Pattern default values.
19
+ */
11
20
  defaults: Record<string, any>;
21
+ /**
22
+ * Placeholder names.
23
+ */
12
24
  placeholders: string[];
25
+ /**
26
+ * Pattern in compiled regular expression form.
27
+ */
13
28
  regex: RegExp | undefined;
29
+ /**
30
+ * Placeholder types.
31
+ */
14
32
  types: PlaceholderTypes;
33
+ /**
34
+ * Raw unparsed pattern.
35
+ */
15
36
  unparsed: string;
16
37
  _ast: ASTNode[];
17
38
  constructor(path?: string, options?: {
@@ -19,11 +40,23 @@ export declare class Pattern {
19
40
  defaults?: Record<string, any>;
20
41
  types?: PlaceholderTypes;
21
42
  });
43
+ /**
44
+ * Match pattern against entire path.
45
+ */
22
46
  match(path: string, options: MatchOptions): Record<string, any> | null;
47
+ /**
48
+ * Match pattern against path and return the remainder.
49
+ */
23
50
  matchPartial(path: string, options: MatchOptions): (Record<string, any> & {
24
51
  remainder: string;
25
52
  }) | null;
53
+ /**
54
+ * Parse pattern.
55
+ */
26
56
  parse(path?: string): this;
57
+ /**
58
+ * Render pattern into a path with parameters.
59
+ */
27
60
  render(values: Record<string, string>, options: MatchOptions): string;
28
61
  _compile(withExtension: boolean): RegExp;
29
62
  _compileExtension(ext: PlaceholderType, withDefault: boolean): string;
@@ -6,10 +6,22 @@ const OP = {
6
6
  text: Symbol('text'),
7
7
  wildcard: Symbol('wildcard')
8
8
  };
9
+ /**
10
+ * Route pattern class.
11
+ */
9
12
  export class Pattern {
10
13
  constructor(path, options = {}) {
14
+ /**
15
+ * Placeholder names.
16
+ */
11
17
  this.placeholders = [];
18
+ /**
19
+ * Pattern in compiled regular expression form.
20
+ */
12
21
  this.regex = undefined;
22
+ /**
23
+ * Raw unparsed pattern.
24
+ */
13
25
  this.unparsed = '';
14
26
  this._ast = [];
15
27
  this.constraints = options.constraints ?? {};
@@ -18,12 +30,18 @@ export class Pattern {
18
30
  if (path !== undefined)
19
31
  this.parse(path);
20
32
  }
33
+ /**
34
+ * Match pattern against entire path.
35
+ */
21
36
  match(path, options) {
22
37
  const result = this.matchPartial(path, options);
23
38
  if (result === null || (result.remainder.length > 0 && result.remainder !== '/'))
24
39
  return null;
25
40
  return result.captures;
26
41
  }
42
+ /**
43
+ * Match pattern against path and return the remainder.
44
+ */
27
45
  matchPartial(path, options) {
28
46
  if (this.regex === undefined)
29
47
  this.regex = this._compile(options.isEndpoint);
@@ -41,11 +59,17 @@ export class Pattern {
41
59
  }
42
60
  return { remainder: path.replace(prefix, ''), captures };
43
61
  }
62
+ /**
63
+ * Parse pattern.
64
+ */
44
65
  parse(path = '') {
45
66
  this.unparsed = path.replace(/^\/*|\/+/g, '/').replace(/\/$/, '');
46
67
  this._tokenize();
47
68
  return this;
48
69
  }
70
+ /**
71
+ * Render pattern into a path with parameters.
72
+ */
49
73
  render(values, options) {
50
74
  let optional = values.ext == null;
51
75
  const parts = [];
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/router/pattern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/router/pattern.ts"],"names":[],"mappings":"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"}
package/lib/session.d.ts CHANGED
@@ -1,17 +1,52 @@
1
1
  import type { App } from './app.js';
2
2
  import type { Context } from './context.js';
3
3
  import type { SessionData } from './types.js';
4
+ /**
5
+ * Session manager class.
6
+ */
4
7
  export declare class Session {
8
+ /**
9
+ * Name for session cookies, defaults to `mojo`.
10
+ */
5
11
  cookieName: string;
12
+ /**
13
+ * Path for session cookies, defaults to `/`.
14
+ */
6
15
  cookiePath: string;
16
+ /**
17
+ * Default time for sessions to expire in seconds from now, defaults to `3600`. The expiration timeout gets refreshed
18
+ * for every request. Setting the value to `0` will allow sessions to persist until the browser window is closed,
19
+ * this can have security implications though.
20
+ */
7
21
  expiration: number;
22
+ /**
23
+ * Set the `HttpOnly` value on all session cookies.
24
+ */
8
25
  httpOnly: boolean;
26
+ /**
27
+ * Set the `SameSite` value on all session cookies, defaults to `lax`.
28
+ */
9
29
  sameSite: 'lax' | 'strict' | 'none';
30
+ /**
31
+ * Set the secure flag on all session cookies, so that browsers send them only over HTTPS connections.
32
+ */
10
33
  secure: boolean;
11
34
  _app: WeakRef<App>;
12
35
  constructor(app: App);
36
+ /**
37
+ * Decrypt cookie.
38
+ */
13
39
  static decrypt(secrets: string[], encrypted: string): Promise<string | null>;
40
+ /**
41
+ * Encrypt cookie.
42
+ */
14
43
  static encrypt(secret: string, value: string): Promise<string>;
44
+ /**
45
+ * Load session data from encrypted cookie.
46
+ */
15
47
  load(ctx: Context): Promise<SessionData | null>;
48
+ /**
49
+ * Store session data in encrypted cookie.
50
+ */
16
51
  store(ctx: Context, data: SessionData): Promise<void>;
17
52
  }
package/lib/session.js CHANGED
@@ -2,16 +2,42 @@ import crypto from 'crypto';
2
2
  import { promisify } from 'util';
3
3
  const scrypt = promisify(crypto.scrypt);
4
4
  const randomBytes = promisify(crypto.randomBytes);
5
+ /**
6
+ * Session manager class.
7
+ */
5
8
  export class Session {
6
9
  constructor(app) {
10
+ /**
11
+ * Name for session cookies, defaults to `mojo`.
12
+ */
7
13
  this.cookieName = 'mojo';
14
+ /**
15
+ * Path for session cookies, defaults to `/`.
16
+ */
8
17
  this.cookiePath = '/';
18
+ /**
19
+ * Default time for sessions to expire in seconds from now, defaults to `3600`. The expiration timeout gets refreshed
20
+ * for every request. Setting the value to `0` will allow sessions to persist until the browser window is closed,
21
+ * this can have security implications though.
22
+ */
9
23
  this.expiration = 3600;
24
+ /**
25
+ * Set the `HttpOnly` value on all session cookies.
26
+ */
10
27
  this.httpOnly = true;
28
+ /**
29
+ * Set the `SameSite` value on all session cookies, defaults to `lax`.
30
+ */
11
31
  this.sameSite = 'lax';
32
+ /**
33
+ * Set the secure flag on all session cookies, so that browsers send them only over HTTPS connections.
34
+ */
12
35
  this.secure = false;
13
36
  this._app = new WeakRef(app);
14
37
  }
38
+ /**
39
+ * Decrypt cookie.
40
+ */
15
41
  static async decrypt(secrets, encrypted) {
16
42
  const match = encrypted.match(/^([^-]+)--([^-]+)--([^-]+)$/);
17
43
  if (match === null)
@@ -33,6 +59,9 @@ export class Session {
33
59
  }
34
60
  return null;
35
61
  }
62
+ /**
63
+ * Encrypt cookie.
64
+ */
36
65
  static async encrypt(secret, value) {
37
66
  const key = await scrypt(secret, 'salt', 32);
38
67
  const iv = await randomBytes(12);
@@ -40,6 +69,9 @@ export class Session {
40
69
  const encrypted = cipher.update(value, 'utf8', 'base64') + cipher.final('base64');
41
70
  return encrypted + '--' + iv.toString('base64') + '--' + cipher.getAuthTag().toString('base64');
42
71
  }
72
+ /**
73
+ * Load session data from encrypted cookie.
74
+ */
43
75
  async load(ctx) {
44
76
  const cookie = ctx.req.getCookie(this.cookieName);
45
77
  if (cookie === null)
@@ -61,6 +93,9 @@ export class Session {
61
93
  }
62
94
  return data;
63
95
  }
96
+ /**
97
+ * Store session data in encrypted cookie.
98
+ */
64
99
  async store(ctx, data) {
65
100
  if (typeof data.expires !== 'number') {
66
101
  const expiration = data.expiration ?? this.expiration;
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/lib/static.d.ts CHANGED
@@ -1,14 +1,33 @@
1
1
  import type { MojoContext } from './types.js';
2
2
  import Path from '@mojojs/path';
3
+ /**
4
+ * Static file server class.
5
+ */
3
6
  export declare class Static {
7
+ /**
8
+ * Prefix to use for all static files.
9
+ */
4
10
  prefix: string;
11
+ /**
12
+ * Directories to serve static files from, first one has the highest precedence.
13
+ */
5
14
  publicPaths: string[];
6
15
  dispatch(ctx: MojoContext): Promise<boolean>;
16
+ /**
17
+ * Get static file path with prefix.
18
+ */
7
19
  filePath(path: string): string;
20
+ /**
21
+ * Check freshness of request by comparing the `If-None-Match` and `If-Modified-Since` request headers to the `ETag`
22
+ * and `Last-Modified` response headers.
23
+ */
8
24
  isFresh(ctx: MojoContext, options?: {
9
25
  etag?: string;
10
26
  lastModified?: Date;
11
27
  }): boolean;
28
+ /**
29
+ * Serve a specific file.
30
+ */
12
31
  serveFile(ctx: MojoContext, file: Path): Promise<void>;
13
32
  _rangeNotSatisfiable(ctx: MojoContext): Promise<void>;
14
33
  }
package/lib/static.js CHANGED
@@ -1,9 +1,18 @@
1
1
  import crypto from 'crypto';
2
2
  import path from 'path';
3
3
  import Path from '@mojojs/path';
4
+ /**
5
+ * Static file server class.
6
+ */
4
7
  export class Static {
5
8
  constructor() {
9
+ /**
10
+ * Prefix to use for all static files.
11
+ */
6
12
  this.prefix = '/public';
13
+ /**
14
+ * Directories to serve static files from, first one has the highest precedence.
15
+ */
7
16
  this.publicPaths = [Path.currentFile().sibling('..', 'vendor', 'public').toString()];
8
17
  }
9
18
  async dispatch(ctx) {
@@ -26,11 +35,18 @@ export class Static {
26
35
  }
27
36
  return false;
28
37
  }
38
+ /**
39
+ * Get static file path with prefix.
40
+ */
29
41
  filePath(path) {
30
42
  if (path.startsWith('/') === false)
31
43
  path = '/' + path;
32
44
  return this.prefix + path;
33
45
  }
46
+ /**
47
+ * Check freshness of request by comparing the `If-None-Match` and `If-Modified-Since` request headers to the `ETag`
48
+ * and `Last-Modified` response headers.
49
+ */
34
50
  isFresh(ctx, options = {}) {
35
51
  const etag = options.etag;
36
52
  const lastModified = options.lastModified;
@@ -60,6 +76,9 @@ export class Static {
60
76
  }
61
77
  return false;
62
78
  }
79
+ /**
80
+ * Serve a specific file.
81
+ */
63
82
  async serveFile(ctx, file) {
64
83
  const app = ctx.app;
65
84
  if ((await app.hooks.runHook('static:before', ctx, file)) === true)
package/lib/static.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,MAAM,OAAO,MAAM;IAAnB;QACE,WAAM,GAAG,SAAS,CAAC;QACnB,gBAAW,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IA2GlF,CAAC;IAzGC,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5B,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAExD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAErF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAClC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI;gBAAE,SAAS;YAC/F,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,GAAgB,EAAE,UAAgD,EAAE;QAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAE1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,IAAI,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;QACrD,IAAI,YAAY,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAErF,gBAAgB;QAChB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAChC,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE;YACnD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAChF,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;gBACzB,IAAI,KAAK,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;aACjC;SACF;QAED,oBAAoB;QACpB,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,eAAe,KAAK,SAAS,EAAE;YACvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE;gBAAE,OAAO,IAAI,CAAC;SACzD;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAgB,EAAE,IAAU;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO;QAE3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,0BAA0B,CAAC;QAC7F,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAEpC,yBAAyB;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAC,CAAC,EAAE;YAClD,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,cAAc;QACd,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC9E,OAAO;SACR;QAED,aAAa;QACb,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE9D,gBAAgB;QAChB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,GAAG,GAAG;YAAE,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE7D,QAAQ;QACR,MAAM,GAAG;aACN,MAAM,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;aACvB,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,eAAe,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;aACvD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAgB;QACzC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mojojs/core",
3
- "version": "0.19.1",
3
+ "version": "0.19.2",
4
4
  "description": "Real-time web framework",
5
5
  "keywords": [
6
6
  "web",