This commit is contained in:
2026-01-18 11:22:17 -06:00
parent 98cb2c3239
commit 5271688dd4
21 changed files with 97 additions and 114 deletions

View File

@@ -453,7 +453,7 @@ $_.start = function start(cb, program, ...args) {
if (!program) return
var id = guid()
if (args.length == 1 && is_array(args[0])) args = args[0]
if (length(args) == 1 && is_array(args[0])) args = args[0]
var startup = {
id,
overling: $_.self,
@@ -540,7 +540,7 @@ function actor_send(actor, message) {
// message to actor in same flock
if (actor[ACTORDATA].id && actor_mod.mailbox_exist(actor[ACTORDATA].id)) {
var wota_blob = wota.encode(message)
// log.console(`sending wota blob of ${wota_blob.length/8} bytes`)
// log.console(`sending wota blob of ${length(wota_blob)/8} bytes`)
actor_mod.mailbox_push(actor[ACTORDATA].id, wota_blob)
return
}
@@ -578,7 +578,7 @@ var need_stop = false
// if we've been flagged to stop, bail out before doing anything
if (need_stop) {
disrupt()
message_queue.length = 0
message_queue = []
return
}
@@ -591,7 +591,7 @@ var need_stop = false
}
}
message_queue.length = 0
message_queue = []
}
var replies = {}

View File

@@ -30,7 +30,7 @@ function ensure_dir(path) {
if (fd.stat(path).isDirectory) return
var parts = array(path, '/')
var current = starts_with(path, '/') ? '/' : ''
for (var i = 0; i < parts.length; i++) {
for (var i = 0; i < length(parts); i++) {
if (parts[i] == '') continue
current += parts[i] + '/'
if (!fd.stat(current).isDirectory) {
@@ -92,7 +92,7 @@ Shop.get_reports_dir = function() {
function get_import_package(name) {
var parts = array(name, '/')
if (parts.length > 1)
if (length(parts) > 1)
return parts[0]
return null
@@ -108,16 +108,16 @@ function split_explicit_package_import(path)
if (!path) return null
var parts = array(path, '/')
if (parts.length < 2) return null
if (length(parts) < 2) return null
var looks_explicit = starts_with(path, '/') || (parts[0] && search(parts[0], '.') != null)
if (!looks_explicit) return null
// Find the longest prefix that is an installed package
for (var i = parts.length - 1; i >= 1; i--) {
for (var i = length(parts) - 1; i >= 1; i--) {
var pkg_candidate = text(array(parts, 0, i), '/')
var mod_path = text(array(parts, i), '/')
if (!mod_path || mod_path.length == 0) continue
if (!mod_path || length(mod_path) == 0) continue
var candidate_dir = get_packages_dir() + '/' + safe_package_path(pkg_candidate)
if (fd.is_file(candidate_dir + '/cell.toml'))
@@ -159,7 +159,7 @@ function abs_path_to_package(package_dir)
}
if (starts_with(package_dir, packages_prefix))
return text(package_dir, packages_prefix.length)
return text(package_dir, length(packages_prefix))
// Check if this local path is the target of a link
// If so, return the canonical package name (link origin) instead
@@ -206,11 +206,11 @@ Shop.file_info = function(file) {
info.package = abs_path_to_package(pkg_dir)
if (info.is_actor)
info.name = text(file, pkg_dir.length + 1, file.length - ACTOR_EXT.length)
info.name = text(file, length(pkg_dir) + 1, length(file) - length(ACTOR_EXT))
else if (info.is_module)
info.name = text(file, pkg_dir.length + 1, file.length - MOD_EXT.length)
info.name = text(file, length(pkg_dir) + 1, length(file) - length(MOD_EXT))
else
info.name = text(file, pkg_dir.length + 1)
info.name = text(file, length(pkg_dir) + 1)
}
return info
@@ -219,7 +219,7 @@ Shop.file_info = function(file) {
function get_import_name(path)
{
var parts = array(path, '/')
if (parts.length < 2) return null
if (length(parts) < 2) return null
return text(array(parts, 1), '/')
}
@@ -273,7 +273,7 @@ Shop.load_lock = function() {
return {}
var content = text(fd.slurp(path))
if (!content.length) return {}
if (!length(content)) return {}
_lock = toml.decode(content)
@@ -382,13 +382,13 @@ Shop.get_script_capabilities = function(path) {
}
function inject_params(inject) {
if (!inject || !inject.length) return ''
if (!inject || !length(inject)) return ''
return ', ' + text(inject, ', ')
}
function inject_values(inject) {
var vals = []
for (var i = 0; i < inject.length; i++) {
for (var i = 0; i < length(inject); i++) {
var key = strip_dollar(inject[i])
if (key == 'fd') vals.push(fd)
else vals.push(my$_[key])
@@ -1101,7 +1101,7 @@ function install_zip(zip_blob, target_dir) {
if (zip.is_directory(i)) continue
var filename = zip.get_filename(i)
var parts = array(filename, '/')
if (parts.length <= 1) continue
if (length(parts) <= 1) continue
parts.shift()
var rel_path = text(parts, '/')
@@ -1201,7 +1201,7 @@ function get_package_scripts(package)
var files = pkg_tools.list_files(package)
var scripts = []
for (var i = 0; i < files.length; i++) {
for (var i = 0; i < length(files); i++) {
var file = files[i]
if (ends_with(file, '.cm') || ends_with(file, '.ce')) {
scripts.push(file)
@@ -1300,7 +1300,7 @@ Shop.parse_package = function(locator) {
// Extract package name (last component of path)
var parts = array(clean, '/')
var name = parts[parts.length - 1]
var name = parts[length(parts) - 1]
return {
path: clean,

View File

@@ -37,7 +37,7 @@ function ensure_dir(path) {
var parts = array(path, '/')
var current = starts_with(path, '/') ? '/' : ''
for (var i = 0; i < parts.length; i++) {
for (var i = 0; i < length(parts); i++) {
if (parts[i] == '') continue
current += parts[i] + '/'
if (!fd.is_dir(current)) {