Application manifest utilities
Types
ManifestData
Shape of the expected manifest data object.
ManifestValidationResult
Either true
if the validation succeeds or Array<Object>
of validation errors returned by fastest-validator
.
Constants
INVALID_ID_ERROR
Error message for invalid Mainframe ID value using fastest-validator
.
INVALID_SEMVER_ERROR
Error message for invalid SemVer value using fastest-validator
.
INVALID_URN_ERROR
Error message for invalid URN value using fastest-validator
.
MANIFEST_SCHEMA_MESSAGES
Object of the previous error messages for fastest-validator
configuration.
ID_SCHEMA
fastest-validator
schema for a manifest identifier (Mainframe ID).
SEMVER_SCHEMA
fastest-validator
schema for a SemVer value.
URN_SCHEMA
fastest-validator
schema for an URN value.
NAME_SCHEMA
fastest-validator
schema for an application name as validated by the manifest (3 to 50 characters).
MANIFEST_SCHEMA
fastest-validator
schema for a full manifest.
API
isValidSemver()
Arguments
value: string
Returns boolean
isValidURN()
Arguments
value: string
Returns boolean
new ManifestError()
Arguments
-
message: string
: error message -
errors?: Array<Object>
: validation errors
validateManifest()
Arguments
manifest: ManifestData
Returns ManifestValidationResult
parseManifestData()
Parses and validates the provided buffer as manifest data. Throws a ManifestError
if parsing or validation fails.
Arguments
buffer: ?Buffer
Returns ManifestData
verifyManifest()
Verifies the provided SignedContents
match a signed manifest and returns its data. Throws a ManifestError
if signature verification, parsing or validation fails.
Arguments
contents: SignedContents
-
keys?: Array<Buffer>
: optional list of public keys to use to verify the signatures rather than the ones provided in thecontents
.
Returns ManifestData
readManifestFile()
Verifies the provided file path matches a signed manifest and returns its data. Throws a ManifestError
if signature verification, parsing or validation fails.
Arguments
path: string
-
keys?: Array<Buffer>
: optional list of public keys to use to verify the signatures rather than the ones provided in the file.
Returns Promise<{ data: ManifestData, keys: Array<Buffer> }>
, keys
being the public keys the manifest is signed with.
writeManifestFile()
Verifies the provided data
is a valid manifest and writes the SecureFile<SignedContents>
contents to the provided path
. Throws a ManifestError
if validation fails.
Arguments
path: string
data: ManifestData
-
keys: Array<KeyPair>
: list ofKeyPair
objects to sign the manifest with.
Returns Promise<void>