Skip to content

l0.DependencyControl.ScriptUpdateRecord

ScriptUpdateRecord = require "l0.DependencyControl.ScriptUpdateRecord"
local ScriptUpdateRecord = require("l0.DependencyControl.ScriptUpdateRecord")

ScriptUpdateRecord

Feed-specific update information for a single script in a selected channel.

Fields of the underlying FeedScriptData (name, changelog, etc.) are readable directly on the instance, and the active channel's FeedChannelData fields (version, files, platforms, etc.) are exposed directly on the instance once a channel is selected.

Constructor

scriptUpdateRecord = ScriptUpdateRecord namespace, data, config, scriptType, autoChannel, logger
local scriptUpdateRecord = ScriptUpdateRecord(namespace, data, config, scriptType, autoChannel, logger)

Creates an update record for a single script entry in a feed.

param type description
namespace string
data FeedScriptData
config? {c: {activeChannel?: string}}
scriptType ScriptType
autoChannel? boolean Select the default channel on construction (default true).
logger? Logger

Instance methods

getChannels

scriptUpdateRecord\getChannels!
scriptUpdateRecord:getChannels()

Returns all available channel names for this script and the default channel.

Returns:

  • channels string[]
  • defaultChannel string?

setChannel

scriptUpdateRecord\setChannel channelName
scriptUpdateRecord:setChannel(channelName)

Selects the active update channel and exposes its fields on this instance.

param type description
channelName? string Channel to activate; defaults to config.c.activeChannel.

Returns:

  • success boolean
  • activeChannel string

checkPlatform

scriptUpdateRecord\checkPlatform!
scriptUpdateRecord:checkPlatform()

Checks whether this script's active channel supports the current platform.

Returns:

  • supported boolean
  • platform string

getChangelog

scriptUpdateRecord\getChangelog versionRecord, minVer
scriptUpdateRecord:getChangelog(versionRecord, minVer)

Formats changelog entries from the current version down to a minimum version, grouping each version's entries into marker categories (Bug Fixes, New Features, …) with a glyph heading.

param type description
versionRecord any Unused; present for API compatibility.
minVer? number|string Oldest version to include (default 0, i.e. all).

Returns:

  • changelog string — Formatted multi-line string, or "" if nothing to show. A version whose entries carry no markers lists them flat, without category headings.

Fields

field type description
namespace string Script namespace.
data FeedScriptData Shallow copy of the raw script entry from the feed.
config {c: {activeChannel?: string, lastChannel?: string, channels?: string[]}}
moduleName string|false Namespace string for modules; false for automation scripts.
logger Logger
activeChannel? string Name of the currently active update channel.
version? string Release version of the active channel (set by setChannel).
files FeedFileData[] Platform-filtered file list for the active channel (set by setChannel).
platforms? string[] Platforms supported by the active channel (set by setChannel).

Types

FeedFileData

field type description
name string Filename relative to the base URL.
url? string Absolute download URL after template variable expansion.
platform? string Target platform filter (e.g. "Windows-x64"); absent means all platforms.

FeedChannelData

field type description
version string Semantic version string of this release.
files? FeedFileData[] Files provided by this release.
platforms? string[] Platforms supported by this channel; absent means all platforms.
default? boolean Whether this is the default channel.
released? string ISO 8601 release date string (e.g. "2024-01-31" or "2024-01-31T23:59:00Z")
fileBaseUrl? string Base URL prepended to file names during template expansion.

FeedScriptData

field type description
name string Display name of the script.
channels table<string, FeedChannelData> Available update channels keyed by channel name.
changelog? table<string, string|string[]> Version-keyed changelog entries; values are a single string or a list of strings.
author? string Script author.
url? string Project or homepage URL.
feed? string URL of the script's primary update feed.

FeedData

field type description
name? string Display name of the feed.
baseUrl? string Base URL used for template variable expansion across all entries.
knownFeeds? table<string, string> Named registry of other feed URLs for cross-feed references.
macros table<string, FeedScriptData> Automation scripts indexed by namespace.
modules table<string, FeedScriptData> Modules indexed by namespace.