Fix bin/publish: use correct .env path for rspade_system Fix bin/publish script: prevent grep exit code 1 from terminating script 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
41 lines
806 B
JavaScript
Executable File
41 lines
806 B
JavaScript
Executable File
'use strict';
|
|
|
|
const { isFunction } = require('../helpers/is');
|
|
|
|
module.exports = function first(fn, defaultValue) {
|
|
if (isFunction(fn)) {
|
|
const keys = Object.keys(this.items);
|
|
|
|
for (let i = 0; i < keys.length; i += 1) {
|
|
const key = keys[i];
|
|
const item = this.items[key];
|
|
|
|
if (fn(item, key)) {
|
|
return item;
|
|
}
|
|
}
|
|
|
|
if (isFunction(defaultValue)) {
|
|
return defaultValue();
|
|
}
|
|
|
|
return defaultValue;
|
|
}
|
|
|
|
if ((Array.isArray(this.items) && this.items.length) || (Object.keys(this.items).length)) {
|
|
if (Array.isArray(this.items)) {
|
|
return this.items[0];
|
|
}
|
|
|
|
const firstKey = Object.keys(this.items)[0];
|
|
|
|
return this.items[firstKey];
|
|
}
|
|
|
|
if (isFunction(defaultValue)) {
|
|
return defaultValue();
|
|
}
|
|
|
|
return defaultValue;
|
|
};
|