UNPKG

@capgo/cli

Version:
34 lines (33 loc) 1.85 kB
/** * 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;