@capgo/cli
Version:
A CLI to upload to capgo servers
34 lines (33 loc) • 1.85 kB
TypeScript
/**
* Top-level `<key>K</key><string>V</string>` value, or null when absent.
* V is returned verbatim, including an unresolved `$(VAR)` build-variable
* reference — callers run it through resolvePlistValue before validating.
*/
export declare function plistString(raw: string, key: string): string | null;
/**
* Boolean for `<key>K</key>\s*<true/>|<false/>`. Returns null when the key is
* absent OR maps to a non-bool value — null is meaningfully distinct from false
* (e.g. UIRequiresFullScreen absent vs. explicitly false).
*/
export declare function plistBool(raw: string, key: string): boolean | null;
/** Presence-only check for a `<key>K</key>` element. */
export declare function plistHasKey(raw: string, key: string): boolean;
/**
* The `<string>` children of `<key>K</key>\s*<array>...</array>`, or [] when the
* key is absent / not an array. Non-greedy so the first `</array>` wins. Note
* that the key match is anchored on `</key>`, so a suffixed key such as
* `K~ipad` is NOT matched by a request for the plain `K` (and vice-versa).
*/
export declare function plistArrayStrings(raw: string, key: string): string[];
/**
* Inner text of `<key>K</key>\s*<dict>...</dict>`, or null when the key is
* absent. Returns the FULL balanced dict: it scans `<dict>` / `</dict>` depth
* from the opening dict to its matching close, so arbitrarily nested dicts are
* captured intact. This matters for keys like NSAppTransportSecurity, where a
* nested NSExceptionDomains dict appearing BEFORE a sibling such as
* NSAllowsArbitraryLoads would otherwise truncate the block at the first
* `</dict>` and hide the sibling. Used to scope reads such as
* NSAppTransportSecurity. Pure; returns null on a missing key or an unbalanced
* (malformed) dict.
*/
export declare function plistDictBlock(raw: string, key: string): string | null;