UNPKG

@scriptables/manifest

Version:

Utilities to generate, parse, and update manifest headers in Scriptable scripts.

35 lines (32 loc) 1.42 kB
'use strict'; var generateScriptableBanner = require('./generateScriptableBanner'); var normalizeManifest = require('./normalizeManifest'); var parseScriptableManifest = require('./parseScriptableManifest'); var scriptHeaderNotices = require('./scriptHeaderNotices'); function mergeScriptableBanner(script, manifestOrOldScript) { if (!script || !script.includes(scriptHeaderNotices.SCRIPT_HEADER_NOTICES[0])) { return { banner: generateScriptableBanner.generateScriptableBanner(manifestOrOldScript), content: script || "" }; } const { manifest: currentManifest, content: scriptContent } = parseScriptableManifest.parseScriptableManifest(script); let finalManifest = currentManifest ?? {}; if (manifestOrOldScript) { if (typeof manifestOrOldScript === "string") { const { manifest } = parseScriptableManifest.parseScriptableManifest(manifestOrOldScript); if (manifest && Object.keys(manifest).length) { finalManifest = { ...finalManifest, ...manifest }; } } else { finalManifest = { ...finalManifest, ...normalizeManifest.normalizeManifest(manifestOrOldScript) }; } } return { banner: generateScriptableBanner.generateScriptableBanner(finalManifest), content: scriptContent }; } exports.mergeScriptableBanner = mergeScriptableBanner; //# sourceMappingURL=mergeScriptableBanner.js.map //# sourceMappingURL=mergeScriptableBanner.js.map