node_modules ignore

This commit is contained in:
2025-05-08 23:43:47 +02:00
parent e19d52f172
commit 4574544c9f
65041 changed files with 10593536 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
'use strict';
var assert = require('assert');
var index = require('./subscribers/index.js');
var timestamps = require('./subscribers/timestamps.js');
var modelsLifecycles = require('./subscribers/models-lifecycles.js');
const createLifecyclesProvider = (db)=>{
let subscribers = [
timestamps.timestampsLifecyclesSubscriber,
modelsLifecycles.modelsLifecyclesSubscriber
];
let isLifecycleHooksDisabled = false;
return {
subscribe (subscriber) {
assert.strict(index.isValidSubscriber(subscriber), 'Invalid subscriber. Expected function or object');
subscribers.push(subscriber);
return ()=>subscribers.splice(subscribers.indexOf(subscriber), 1);
},
clear () {
subscribers = [];
},
disable () {
isLifecycleHooksDisabled = true;
},
enable () {
isLifecycleHooksDisabled = false;
},
createEvent (action, uid, properties, state) {
const model = db.metadata.get(uid);
return {
action,
model,
state,
...properties
};
},
/**
* @param {string} action
* @param {string} uid
* @param {{ params?: any, result?: any }} properties
* @param {Map<any, any>} states
*/ async run (action, uid, properties, states = new Map()) {
if (isLifecycleHooksDisabled) return states;
for(let i = 0; i < subscribers.length; i += 1){
const subscriber = subscribers[i];
if (typeof subscriber === 'function') {
const state = states.get(subscriber) || {};
const event = this.createEvent(action, uid, properties, state);
await subscriber(event);
if (event.state) {
states.set(subscriber, event.state || state);
}
continue;
}
const hasAction = action in subscriber;
const hasModel = !subscriber.models || subscriber.models.includes(uid);
if (hasAction && hasModel) {
const state = states.get(subscriber) || {};
const event = this.createEvent(action, uid, properties, state);
await subscriber[action]?.(event);
if (event.state) {
states.set(subscriber, event.state);
}
}
}
return states;
}
};
};
exports.createLifecyclesProvider = createLifecyclesProvider;
//# sourceMappingURL=index.js.map