UNPKG

playwright-core

Version:

A high-level API to automate web browsers

85 lines (84 loc) 2.52 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var yaml_exports = {}; __export(yaml_exports, { yamlEscapeKeyIfNeeded: () => yamlEscapeKeyIfNeeded, yamlEscapeValueIfNeeded: () => yamlEscapeValueIfNeeded }); module.exports = __toCommonJS(yaml_exports); function yamlEscapeKeyIfNeeded(str) { if (!yamlStringNeedsQuotes(str)) return str; return `'` + str.replace(/'/g, `''`) + `'`; } function yamlEscapeValueIfNeeded(str) { if (!yamlStringNeedsQuotes(str)) return str; return '"' + str.replace(/[\\"\x00-\x1f\x7f-\x9f]/g, (c) => { switch (c) { case "\\": return "\\\\"; case '"': return '\\"'; case "\b": return "\\b"; case "\f": return "\\f"; case "\n": return "\\n"; case "\r": return "\\r"; case " ": return "\\t"; default: const code = c.charCodeAt(0); return "\\x" + code.toString(16).padStart(2, "0"); } }) + '"'; } function yamlStringNeedsQuotes(str) { if (str.length === 0) return true; if (/^\s|\s$/.test(str)) return true; if (/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/.test(str)) return true; if (/^-/.test(str)) return true; if (/[\n:](\s|$)/.test(str)) return true; if (/\s#/.test(str)) return true; if (/[\n\r]/.test(str)) return true; if (/^[&*\],?!>|@"'#%]/.test(str)) return true; if (/[{}`]/.test(str)) return true; if (/^\[/.test(str)) return true; if (!isNaN(Number(str)) || ["y", "n", "yes", "no", "true", "false", "on", "off", "null"].includes(str.toLowerCase())) return true; return false; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { yamlEscapeKeyIfNeeded, yamlEscapeValueIfNeeded });