@objectql/core 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/loader.js CHANGED
@@ -33,178 +33,184 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ObjectLoader = void 0;
36
37
  exports.loadObjectConfigs = loadObjectConfigs;
37
38
  const fs = __importStar(require("fs"));
39
+ const glob = __importStar(require("fast-glob"));
38
40
  const path = __importStar(require("path"));
41
+ const types_1 = require("@objectql/types");
39
42
  const yaml = __importStar(require("js-yaml"));
40
- const glob = __importStar(require("fast-glob"));
41
- function loadObjectConfigs(dir) {
42
- const configs = {};
43
- // 1. Load YAML Configs
44
- const files = glob.sync(['**/*.object.yml', '**/*.object.yaml'], {
45
- cwd: dir,
46
- absolute: true
47
- });
48
- for (const file of files) {
49
- try {
50
- const content = fs.readFileSync(file, 'utf8');
51
- const doc = yaml.load(content);
52
- if (doc.name && doc.fields) {
53
- configs[doc.name] = doc;
54
- }
55
- else {
56
- for (const [key, value] of Object.entries(doc)) {
57
- if (typeof value === 'object' && value.fields) {
58
- configs[key] = value;
59
- if (!configs[key].name)
60
- configs[key].name = key;
43
+ class ObjectLoader {
44
+ constructor(registry) {
45
+ this.registry = registry;
46
+ this.plugins = [];
47
+ this.registerBuiltinPlugins();
48
+ }
49
+ registerBuiltinPlugins() {
50
+ // Objects
51
+ this.use({
52
+ name: 'object',
53
+ glob: ['**/*.object.yml', '**/*.object.yaml'],
54
+ handler: (ctx) => {
55
+ try {
56
+ const doc = yaml.load(ctx.content);
57
+ if (!doc)
58
+ return;
59
+ if (doc.name && doc.fields) {
60
+ registerObject(ctx.registry, doc, ctx.file, ctx.packageName || ctx.registry.getEntry('package-map', ctx.file)?.package);
61
+ }
62
+ else {
63
+ for (const [key, value] of Object.entries(doc)) {
64
+ if (typeof value === 'object' && value.fields) {
65
+ const obj = value;
66
+ if (!obj.name)
67
+ obj.name = key;
68
+ registerObject(ctx.registry, obj, ctx.file, ctx.packageName);
69
+ }
70
+ }
61
71
  }
62
72
  }
63
- }
64
- }
65
- catch (e) {
66
- console.error(`Error loading object config from ${file}:`, e);
67
- }
68
- }
69
- // 2. Load Hooks (.hook.js, .hook.ts)
70
- // We only load .js if running in node, or .ts if ts-node/register is present.
71
- // simpler: look for both, require will handle extension resolution if we are careful.
72
- // Actually, in `dist` we only find .js. In `src` (test) we find .ts.
73
- const hookFiles = glob.sync(['**/*.hook.{js,ts}'], {
74
- cwd: dir,
75
- absolute: true
76
- });
77
- for (const file of hookFiles) {
78
- try {
79
- // Check if we should ignore .ts if .js exists?
80
- // Or assume env handles it.
81
- // If we are in `dist`, `src` shouldn't be there usually.
82
- const hookModule = require(file);
83
- // Default export or named exports?
84
- // Convention: export const listenTo = 'objectName';
85
- // or filename based: 'project.hook.js' -> 'project' (flaky)
86
- let objectName = hookModule.listenTo;
87
- if (!objectName) {
88
- // Try to guess from filename?
89
- // project.hook.ts -> project
90
- const basename = path.basename(file);
91
- const match = basename.match(/^(.+)\.hook\.(ts|js)$/);
92
- if (match) {
93
- objectName = match[1];
73
+ catch (e) {
74
+ console.error(`Error loading object from ${ctx.file}:`, e);
94
75
  }
95
76
  }
96
- if (objectName && configs[objectName]) {
97
- if (!configs[objectName].listeners) {
98
- configs[objectName].listeners = {};
99
- }
100
- const listeners = configs[objectName].listeners;
101
- // Merge exported functions into listeners
102
- // Common hooks: beforeFind, afterFind, beforeCreate, etc.
103
- const hookNames = [
104
- 'beforeFind', 'afterFind',
105
- 'beforeCreate', 'afterCreate',
106
- 'beforeUpdate', 'afterUpdate',
107
- 'beforeDelete', 'afterDelete'
108
- ];
109
- for (const name of hookNames) {
110
- if (typeof hookModule[name] === 'function') {
111
- listeners[name] = hookModule[name];
112
- }
77
+ });
78
+ // Hooks
79
+ this.use({
80
+ name: 'hook',
81
+ glob: ['**/*.hook.ts', '**/*.hook.js'],
82
+ handler: (ctx) => {
83
+ const basename = path.basename(ctx.file);
84
+ // Extract object name from filename: user.hook.ts -> user
85
+ const objectName = basename.replace(/\.hook\.(ts|js)$/, '');
86
+ try {
87
+ const mod = require(ctx.file);
88
+ // Support default export or named exports
89
+ const hooks = mod.default || mod;
90
+ ctx.registry.register('hook', {
91
+ type: 'hook',
92
+ id: objectName, // Hook ID is the object name
93
+ path: ctx.file,
94
+ package: ctx.packageName,
95
+ content: hooks
96
+ });
113
97
  }
114
- // Support default export having listeners object?
115
- if (hookModule.default && typeof hookModule.default === 'object') {
116
- Object.assign(listeners, hookModule.default);
98
+ catch (e) {
99
+ console.error(`Error loading hook from ${ctx.file}:`, e);
117
100
  }
118
- // Load Actions
119
- // Convention: export const actions = { myAction: (ctx, params) => ... }
120
- // OR export function myAction(ctx, params) ... (Ambiguous with hooks? No, hooks have explicit names)
121
- // Safer: look for `actions` export.
122
- if (hookModule.actions && typeof hookModule.actions === 'object') {
123
- if (!configs[objectName].actions) {
124
- configs[objectName].actions = {};
125
- }
126
- for (const [actionName, handler] of Object.entries(hookModule.actions)) {
127
- // We might have metadata from YAML already
128
- if (!configs[objectName].actions[actionName]) {
129
- configs[objectName].actions[actionName] = {};
101
+ }
102
+ });
103
+ // Actions
104
+ this.use({
105
+ name: 'action',
106
+ glob: ['**/*.action.ts', '**/*.action.js'],
107
+ handler: (ctx) => {
108
+ const basename = path.basename(ctx.file);
109
+ // Extract object name: invoice.action.ts -> invoice
110
+ const objectName = basename.replace(/\.action\.(ts|js)$/, '');
111
+ try {
112
+ const mod = require(ctx.file);
113
+ // Action file exports multiple actions
114
+ // export const approve = { ... };
115
+ // export const reject = { ... };
116
+ const actions = {};
117
+ for (const [key, value] of Object.entries(mod)) {
118
+ if (key === 'default')
119
+ continue;
120
+ if (typeof value === 'object' && value.handler) {
121
+ actions[key] = value;
130
122
  }
131
- // Attach handler
132
- configs[objectName].actions[actionName].handler = handler;
123
+ }
124
+ if (Object.keys(actions).length > 0) {
125
+ ctx.registry.register('action', {
126
+ type: 'action',
127
+ id: objectName, // Action collection ID is the object name
128
+ path: ctx.file,
129
+ package: ctx.packageName,
130
+ content: actions
131
+ });
133
132
  }
134
133
  }
134
+ catch (e) {
135
+ console.error(`Error loading action from ${ctx.file}:`, e);
136
+ }
135
137
  }
136
- }
137
- catch (e) {
138
- console.error(`Error loading hook from ${file}:`, e);
138
+ });
139
+ }
140
+ use(plugin) {
141
+ this.plugins.push(plugin);
142
+ }
143
+ load(dir, packageName) {
144
+ for (const plugin of this.plugins) {
145
+ this.runPlugin(plugin, dir, packageName);
139
146
  }
140
147
  }
141
- // 3. Load Data (.data.yml, .data.yaml)
142
- const dataFiles = glob.sync(['**/*.data.yml', '**/*.data.yaml'], {
143
- cwd: dir,
144
- absolute: true
145
- });
146
- for (const file of dataFiles) {
148
+ loadPackage(packageName) {
147
149
  try {
148
- const content = fs.readFileSync(file, 'utf8');
149
- const data = yaml.load(content);
150
- if (!Array.isArray(data)) {
151
- console.warn(`Data file ${file} does not contain an array. Skipping.`);
152
- continue;
153
- }
154
- // Guess object name from filename
155
- // project.data.yml -> project
156
- const basename = path.basename(file);
157
- const objectName = basename.replace(/\.data\.ya?ml$/, '');
158
- if (configs[objectName]) {
159
- configs[objectName].data = data;
160
- }
161
- else {
162
- // Maybe the object config hasn't been found yet?
163
- // loadObjectConfigs runs glob for objects first, so configs should be populated.
164
- console.warn(`Found data for unknown object '${objectName}' in ${file}`);
165
- }
150
+ const entryPath = require.resolve(packageName, { paths: [process.cwd()] });
151
+ // clean cache
152
+ delete require.cache[entryPath];
153
+ const packageDir = path.dirname(entryPath);
154
+ this.load(packageDir, packageName);
166
155
  }
167
156
  catch (e) {
168
- console.error(`Error loading data from ${file}:`, e);
157
+ // fallback to directory
158
+ this.load(packageName, packageName);
169
159
  }
170
160
  }
171
- // 4. Load Actions (.action.js, .action.ts)
172
- const actionFiles = glob.sync(['**/*.action.{js,ts}'], {
173
- cwd: dir,
174
- absolute: true
175
- });
176
- for (const file of actionFiles) {
177
- try {
178
- const actionModule = require(file);
179
- let objectName = actionModule.listenTo;
180
- if (!objectName) {
181
- const basename = path.basename(file);
182
- const match = basename.match(/^(.+)\.action\.(ts|js)$/);
183
- if (match) {
184
- objectName = match[1];
161
+ runPlugin(plugin, dir, packageName) {
162
+ const files = glob.sync(plugin.glob, {
163
+ cwd: dir,
164
+ absolute: true
165
+ });
166
+ for (const file of files) {
167
+ try {
168
+ const ctx = {
169
+ file,
170
+ content: '',
171
+ registry: this.registry,
172
+ packageName
173
+ };
174
+ // Pre-read for convenience
175
+ if (!file.match(/\.(js|ts|node)$/)) {
176
+ ctx.content = fs.readFileSync(file, 'utf8');
185
177
  }
178
+ plugin.handler(ctx);
186
179
  }
187
- if (objectName && configs[objectName]) {
188
- if (!configs[objectName].actions) {
189
- configs[objectName].actions = {};
190
- }
191
- // Treat all exported functions as actions
192
- for (const [key, value] of Object.entries(actionModule)) {
193
- if (key === 'listenTo')
194
- continue;
195
- if (typeof value === 'function') {
196
- if (!configs[objectName].actions[key]) {
197
- configs[objectName].actions[key] = {};
198
- }
199
- configs[objectName].actions[key].handler = value;
200
- }
201
- }
180
+ catch (e) {
181
+ console.error(`Error in loader plugin '${plugin.name}' processing ${file}:`, e);
202
182
  }
203
183
  }
204
- catch (e) {
205
- console.error(`Error loading action from ${file}:`, e);
184
+ }
185
+ }
186
+ exports.ObjectLoader = ObjectLoader;
187
+ function registerObject(registry, obj, file, packageName) {
188
+ // Normalize fields
189
+ if (obj.fields) {
190
+ for (const [key, field] of Object.entries(obj.fields)) {
191
+ if (typeof field === 'object' && field !== null) {
192
+ if (!field.name) {
193
+ field.name = key;
194
+ }
195
+ }
206
196
  }
207
197
  }
208
- return configs;
198
+ registry.register('object', {
199
+ type: 'object',
200
+ id: obj.name,
201
+ path: file,
202
+ package: packageName,
203
+ content: obj
204
+ });
205
+ }
206
+ function loadObjectConfigs(dir) {
207
+ const registry = new types_1.ObjectRegistry();
208
+ const loader = new ObjectLoader(registry);
209
+ loader.load(dir);
210
+ const result = {};
211
+ for (const obj of registry.list('object')) {
212
+ result[obj.name] = obj;
213
+ }
214
+ return result;
209
215
  }
210
216
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import { ObjectQLContext, IObjectQL } from './types';
2
- import { ObjectConfig } from './metadata';
3
- import { UnifiedQuery } from './query';
1
+ import { ObjectQLContext, IObjectQL, ObjectConfig, UnifiedQuery } from '@objectql/types';
4
2
  export declare class ObjectRepository {
5
3
  private objectName;
6
4
  private context;
@@ -9,7 +7,7 @@ export declare class ObjectRepository {
9
7
  private getDriver;
10
8
  private getOptions;
11
9
  getSchema(): ObjectConfig;
12
- private executeHook;
10
+ private getHookAPI;
13
11
  find(query?: UnifiedQuery): Promise<any[]>;
14
12
  findOne(idOrQuery: string | number | UnifiedQuery): Promise<any>;
15
13
  count(filters: any): Promise<number>;
@@ -22,5 +20,5 @@ export declare class ObjectRepository {
22
20
  createMany(data: any[]): Promise<any>;
23
21
  updateMany(filters: any, data: any): Promise<any>;
24
22
  deleteMany(filters: any): Promise<any>;
25
- call(actionName: string, params: any): Promise<any>;
23
+ execute(actionName: string, id: string | number | undefined, params: any): Promise<any>;
26
24
  }