@hotfusion/modeller 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +802 -38
  2. package/dist/View.js +3 -0
  3. package/dist/View.js.map +1 -0
  4. package/dist/connector.js +4 -0
  5. package/dist/connector.js.map +1 -1
  6. package/dist/core.js +1 -0
  7. package/dist/core.js.map +1 -1
  8. package/dist/extensions/oidc/client.js +221 -0
  9. package/dist/extensions/oidc/client.js.map +1 -0
  10. package/dist/extensions/oidc/index.js +192 -0
  11. package/dist/extensions/oidc/index.js.map +1 -0
  12. package/dist/logger.js +129 -0
  13. package/dist/logger.js.map +1 -0
  14. package/dist/model.js +73 -15
  15. package/dist/model.js.map +1 -1
  16. package/dist/server.js +333 -183
  17. package/dist/server.js.map +1 -1
  18. package/dist/types/View.d.ts +2 -0
  19. package/dist/types/View.d.ts.map +1 -0
  20. package/dist/types/connector.d.ts +1 -1
  21. package/dist/types/connector.d.ts.map +1 -1
  22. package/dist/types/core.d.ts +1 -0
  23. package/dist/types/core.d.ts.map +1 -1
  24. package/dist/types/extensions/oidc/client.d.ts +32 -0
  25. package/dist/types/extensions/oidc/client.d.ts.map +1 -0
  26. package/dist/types/extensions/oidc/index.d.ts +20 -0
  27. package/dist/types/extensions/oidc/index.d.ts.map +1 -0
  28. package/dist/types/extensions/oidc/oidc.d.ts +20 -0
  29. package/dist/types/extensions/oidc/oidc.d.ts.map +1 -0
  30. package/dist/types/extensions/oidc.d.ts +20 -0
  31. package/dist/types/extensions/oidc.d.ts.map +1 -0
  32. package/dist/types/index.d.ts +2 -0
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/types/logger.d.ts +24 -0
  35. package/dist/types/logger.d.ts.map +1 -0
  36. package/dist/types/model.d.ts +21 -0
  37. package/dist/types/model.d.ts.map +1 -1
  38. package/dist/types/server.d.ts +23 -4
  39. package/dist/types/server.d.ts.map +1 -1
  40. package/dist/types/utils/bundler.d.ts +2 -0
  41. package/dist/types/utils/bundler.d.ts.map +1 -1
  42. package/dist/types/view.d.ts +13 -0
  43. package/dist/types/view.d.ts.map +1 -0
  44. package/dist/utils/bundler.js +138 -39
  45. package/dist/utils/bundler.js.map +1 -1
  46. package/dist/view.js +34 -0
  47. package/dist/view.js.map +1 -0
  48. package/package.json +16 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/oidc/index.ts"],"names":[],"mappings":"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"}
package/dist/logger.js ADDED
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ const node_url_1 = require("node:url");
5
+ const node_path_1 = require("node:path");
6
+ const node_fs_1 = require("node:fs");
7
+ class Logger {
8
+ static LOG_LEVEL_RANK = {
9
+ debug: 0,
10
+ info: 1,
11
+ warn: 2,
12
+ error: 3,
13
+ silent: 4,
14
+ };
15
+ level;
16
+ features;
17
+ adapter;
18
+ onEntry;
19
+ ts;
20
+ modelId;
21
+ views = [];
22
+ constructor(modelId, opts = {}) {
23
+ this.modelId = modelId;
24
+ this.level = opts.level ?? 'silent';
25
+ this.ts = opts.timestamp ?? true;
26
+ this.adapter = opts.adapter ?? null;
27
+ this.onEntry = opts.onEntry ?? null;
28
+ this.features = {
29
+ hook: true,
30
+ worker: true,
31
+ method: true,
32
+ event: true,
33
+ crud: true,
34
+ ...(opts.features ?? {}),
35
+ };
36
+ }
37
+ configure(opts) {
38
+ if (opts.level !== undefined)
39
+ this.level = opts.level;
40
+ if (opts.timestamp !== undefined)
41
+ this.ts = opts.timestamp;
42
+ if (opts.adapter !== undefined)
43
+ this.adapter = opts.adapter;
44
+ if (opts.onEntry !== undefined)
45
+ this.onEntry = opts.onEntry;
46
+ if (opts.features !== undefined)
47
+ Object.assign(this.features, opts.features);
48
+ }
49
+ shouldLog(level, feature) {
50
+ return (Logger.LOG_LEVEL_RANK[level] >= Logger.LOG_LEVEL_RANK[this.level] &&
51
+ this.features[feature]);
52
+ }
53
+ getCallSite(depth = 4) {
54
+ const stack = new Error().stack?.split('\n');
55
+ const frame = stack?.[depth]?.trim() ?? '';
56
+ const match = frame.match(/at\s+(?:.*?\s+\()?(.+):(\d+):(\d+)\)?/);
57
+ if (!match)
58
+ return '';
59
+ const [, file, line, col] = match;
60
+ const filePath = file.startsWith('file://') ? (0, node_url_1.fileURLToPath)(file) : file;
61
+ let root = __dirname; //dirname(fileURLToPath(import.meta.url));
62
+ while (root !== (0, node_path_1.parse)(root).root) {
63
+ if ((0, node_fs_1.existsSync)((0, node_path_1.join)(root, 'package.json')))
64
+ break;
65
+ root = (0, node_path_1.dirname)(root);
66
+ }
67
+ return `${(0, node_path_1.relative)(root, filePath)}:${line}:${col}`;
68
+ }
69
+ formatPrefix(feature, callSite) {
70
+ const ts = this.ts ? ` [${new Date().toISOString()}]` : '';
71
+ return `[${feature.toUpperCase()}]${ts} [${this.modelId}] (${callSite})`;
72
+ }
73
+ toConsole(level, prefix, message, data) {
74
+ const line = `${prefix} ${message}`;
75
+ const args = data ? [line, data] : [line];
76
+ if (level === 'debug')
77
+ console.debug(...args);
78
+ else if (level === 'info')
79
+ console.info(...args);
80
+ else if (level === 'warn')
81
+ console.warn(...args);
82
+ else if (level === 'error')
83
+ console.error(...args);
84
+ }
85
+ write(level, feature, message, data) {
86
+ if (!this.features[feature])
87
+ return;
88
+ const callSite = this.getCallSite(4);
89
+ const entry = {
90
+ level,
91
+ feature,
92
+ modelId: this.modelId,
93
+ message,
94
+ initial: false,
95
+ timestamp: Date.now(),
96
+ ...(callSite && { callSite }),
97
+ ...(data !== undefined && { data }),
98
+ };
99
+ this.onEntry?.(entry);
100
+ this.adapter?.log(entry);
101
+ if (this.shouldLog(level, feature)) {
102
+ this.toConsole(level, this.formatPrefix(feature, callSite), message, data);
103
+ }
104
+ }
105
+ initial(feature, message, data) {
106
+ if (!this.features[feature])
107
+ return;
108
+ const callSite = this.getCallSite(3);
109
+ const entry = {
110
+ level: 'info',
111
+ feature,
112
+ modelId: this.modelId,
113
+ message,
114
+ initial: true,
115
+ timestamp: Date.now(),
116
+ ...(callSite && { callSite }),
117
+ ...(data !== undefined && { data }),
118
+ };
119
+ this.onEntry?.(entry);
120
+ this.adapter?.log(entry);
121
+ this.toConsole('info', this.formatPrefix(feature, callSite), message, data);
122
+ }
123
+ debug(feature, message, data) { this.write('debug', feature, message, data); }
124
+ info(feature, message, data) { this.write('info', feature, message, data); }
125
+ warn(feature, message, data) { this.write('warn', feature, message, data); }
126
+ error(feature, message, data) { this.write('error', feature, message, data); }
127
+ }
128
+ exports.Logger = Logger;
129
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/dist/model.js CHANGED
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Model = exports.Subscription = void 0;
4
7
  const core_1 = require("./core");
@@ -6,7 +9,9 @@ const eventemitter3_1 = require("eventemitter3");
6
9
  const node_fs_1 = require("node:fs");
7
10
  const node_path_1 = require("node:path");
8
11
  const node_url_1 = require("node:url");
9
- // ── Logger ────────────────────────────────────────────────────────────────────
12
+ const view_1 = require("./view");
13
+ const node_fs_2 = __importDefault(require("node:fs"));
14
+ // ?? Logger ????????????????????????????????????????????????????????????????????
10
15
  const LOG_LEVEL_RANK = {
11
16
  debug: 0,
12
17
  info: 1,
@@ -60,7 +65,7 @@ class Logger {
60
65
  return '';
61
66
  const [, file, line, col] = match;
62
67
  const filePath = file.startsWith('file://') ? (0, node_url_1.fileURLToPath)(file) : file;
63
- let root = __dirname; //dirname(fileURLToPath(import.meta.url));
68
+ let root = __dirname;
64
69
  while (root !== (0, node_path_1.parse)(root).root) {
65
70
  if ((0, node_fs_1.existsSync)((0, node_path_1.join)(root, 'package.json')))
66
71
  break;
@@ -163,7 +168,7 @@ class Subscription {
163
168
  }
164
169
  }
165
170
  exports.Subscription = Subscription;
166
- // ── Model ─────────────────────────────────────────────────────────────────────
171
+ // ?? Model ?????????????????????????????????????????????????????????????????????
167
172
  class Model extends core_1.Core {
168
173
  hooks = [];
169
174
  workers = new Map();
@@ -173,11 +178,15 @@ class Model extends core_1.Core {
173
178
  _streams = [];
174
179
  _events = [];
175
180
  _subscriptions = new Map();
181
+ _functions = new Map();
182
+ _configurations = {};
183
+ _views = new Map();
184
+ _bundler = null;
176
185
  emitter = new eventemitter3_1.EventEmitter();
177
186
  log;
178
187
  _extensions = [];
179
188
  constructor(id, schema, opts = {}) {
180
- const { extensions, schemes, level, timestamp, logAdapter, onEntry, features, ...configs } = opts;
189
+ const { extensions, schemes, level, timestamp, logAdapter, onEntry, features, bundler, ...configs } = opts;
181
190
  super(id, schema, configs, schemes);
182
191
  this.log = new Logger(id, {
183
192
  ...(level !== undefined && { level }),
@@ -186,6 +195,10 @@ class Model extends core_1.Core {
186
195
  ...(features !== undefined && { features }),
187
196
  onEntry: (entry) => { onEntry?.(entry); this.emitter.emit('log', entry); },
188
197
  });
198
+ if (bundler) {
199
+ this._bundler = bundler;
200
+ this.log.initial('method', `Bundler mounted`);
201
+ }
189
202
  if (extensions) {
190
203
  this._extensions = extensions;
191
204
  for (const ext of extensions) {
@@ -195,7 +208,7 @@ class Model extends core_1.Core {
195
208
  }
196
209
  }
197
210
  getExtensions() { return this._extensions; }
198
- // ── EventEmitter API ───────────────────────────────────────────────────────
211
+ // ?? EventEmitter API ???????????????????????????????????????????????????????
199
212
  on(event, listener) {
200
213
  this.log.debug('event', `Listener registered`, { event });
201
214
  this.emitter.on(event, listener);
@@ -215,7 +228,7 @@ class Model extends core_1.Core {
215
228
  this.log.debug('event', `Emitting`, { event, payload });
216
229
  this.emitter.emit(event, payload);
217
230
  }
218
- // ── Hook API ───────────────────────────────────────────────────────────────
231
+ // ?? Hook API ???????????????????????????????????????????????????????????????
219
232
  hook(hook) {
220
233
  this.hooks.push(hook);
221
234
  this.log.initial('hook', `Hook registered`, { id: hook.id, on: hook.on, scheduled: hook.schedule ?? false });
@@ -254,7 +267,7 @@ class Model extends core_1.Core {
254
267
  }
255
268
  }
256
269
  }
257
- // ── Worker API ─────────────────────────────────────────────────────────────
270
+ // ?? Worker API ?????????????????????????????????????????????????????????????
258
271
  worker(worker) {
259
272
  const state = { worker, running: false };
260
273
  if (worker.id) {
@@ -315,7 +328,7 @@ class Model extends core_1.Core {
315
328
  .then(() => { this.log.debug('worker', `Worker tick completed`, { id: label }); })
316
329
  .catch(err => { this.log.error('worker', `Worker tick failed`, { id: label, error: err?.message ?? err }); });
317
330
  if (state.worker.immediate !== false)
318
- run(); // run immediately unless explicitly disabled
331
+ run();
319
332
  state.timer = setInterval(run, state.worker.interval);
320
333
  }
321
334
  _stopWorker(state) {
@@ -327,7 +340,7 @@ class Model extends core_1.Core {
327
340
  clearInterval(state.timer);
328
341
  state.running = false;
329
342
  }
330
- // ── Method API ─────────────────────────────────────────────────────────────
343
+ // ?? Method API ?????????????????????????????????????????????????????????????
331
344
  method(m) {
332
345
  this._methods.push(m);
333
346
  this.log.initial('method', `Method registered`, { id: m.id });
@@ -364,7 +377,29 @@ class Model extends core_1.Core {
364
377
  return s.handler(buffer, meta, this);
365
378
  }
366
379
  getStreams() { return this._streams.map(s => s.id); }
367
- // ── Event / Subscription API ───────────────────────────────────────────────
380
+ // ?? Function API ???????????????????????????????????????????????????????????
381
+ function(name, handler) {
382
+ this._functions.set(name, handler.bind(this));
383
+ this.log.initial('method', `Function registered`, { id: name });
384
+ this[name] = this._functions.get(name);
385
+ return this;
386
+ }
387
+ getFunctions() { return Array.from(this._functions.keys()); }
388
+ // ?? Configuration API ??????????????????????????????????????????????????????
389
+ configurations(config) {
390
+ const resolvedConfig = typeof config === 'function' ? config() : config;
391
+ this._configurations = { ...this._configurations, ...resolvedConfig };
392
+ this.log.initial('method', `Configurations registered`, { keys: Object.keys(resolvedConfig) });
393
+ return this;
394
+ }
395
+ getConfigurations() { return { ...this._configurations }; }
396
+ getConfiguration(key) { return this._configurations[key]; }
397
+ setConfiguration(key, value) {
398
+ this._configurations[key] = value;
399
+ this.log.debug('method', `Configuration updated`, { key });
400
+ return this;
401
+ }
402
+ // ?? Event / Subscription API ???????????????????????????????????????????????
368
403
  event(e) {
369
404
  this._events.push(e);
370
405
  this.log.initial('event', `Event registered`, { id: e.id });
@@ -386,7 +421,7 @@ class Model extends core_1.Core {
386
421
  const subId = JSON.stringify(Object.fromEntries(Object.entries(query).sort()));
387
422
  this._subscriptions.delete(subId);
388
423
  }
389
- // ── CRUD overrides ─────────────────────────────────────────────────────────
424
+ // ?? CRUD overrides ?????????????????????????????????????????????????????????
390
425
  async insert(key = {}, ...args) {
391
426
  let opts = {};
392
427
  const last = args[args.length - 1];
@@ -422,9 +457,6 @@ class Model extends core_1.Core {
422
457
  this.emit('delete', result);
423
458
  return result;
424
459
  }
425
- // ── list — fires before:list / after:list hooks ────────────────────────────
426
- // query is passed as hook payload `data` so hooks like sync-containers
427
- // can read e.g. data._cid before the list executes.
428
460
  async list(query = {}, options = {}) {
429
461
  this.log.debug('crud', `List started`, { query, options });
430
462
  await this.fire('before:list', { operation: 'list', timing: 'before', data: query });
@@ -433,13 +465,39 @@ class Model extends core_1.Core {
433
465
  this.log.debug('crud', `List completed`, { count: result.length });
434
466
  return result;
435
467
  }
436
- // ── find — partial/substring matching, returns array ──────────────────────
437
468
  async find(query = {}, opts = {}) {
438
469
  this.log.debug('crud', `Find started`, { query, opts });
439
470
  const result = await super.find(query, opts);
440
471
  this.log.debug('crud', `Find completed`, { count: result.length });
441
472
  return result;
442
473
  }
474
+ // ?? View API ???????????????????????????????????????????????????????????????
475
+ view(path, props = {}) {
476
+ const v = new view_1.View(path, props, this._bundler ?? undefined);
477
+ this._views.set(path, v);
478
+ if (this._bundler) {
479
+ this._bundler.build().then(result => { v.result = result; });
480
+ // watch for file changes
481
+ node_fs_2.default.watch(this._bundler.path, () => {
482
+ this.log.debug('method', `View file changed, rebuilding...`, { path });
483
+ this._bundler.rebuild().then(result => { v.result = result; });
484
+ });
485
+ }
486
+ this.log.initial('method', `View registered`, { path });
487
+ return this;
488
+ }
489
+ getViews() { return Array.from(this._views.values()); }
490
+ // ?? Folders API ???????????????????????????????????????????????????????????????
491
+ _folders = new Map();
492
+ folder(urlPath, folderPath, configs = {}) {
493
+ if (!(0, node_fs_1.existsSync)(folderPath))
494
+ throw new Error(`[Model] folder() path does not exist: ${folderPath}`);
495
+ this._folders.set(urlPath, { path: folderPath, configs });
496
+ return this;
497
+ }
498
+ getFolders() {
499
+ return this._folders;
500
+ }
443
501
  }
444
502
  exports.Model = Model;
445
503
  //# sourceMappingURL=model.js.map
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}