lang — это языковые утилиты, та часть библиотеки, которая ничего не знает про Google Apps Script и работает везде, где работает JavaScript.
Пакеты
Пакет
Содержит
lang/base
стражи isX/nonX/requireX для встроенных типов
lang/array
проверки формы массивов и преобразования
lang/number
классификацию и преобразование чисел
lang/object
хеширование, сравнение и работу с путями в объектах
lang/string
смену регистра, проверки и сравнение версий
Рядом с lang библиотека поставляет html, json и time. Они точно так же не зависят от среды выполнения и перечислены вместе с lang в Базовые утилиты.
Стражи типов
lang/base — самый большой пакет и тот, которого касается почти любой код. Он полностью разобран в Соглашения о проверках; если коротко: isX и nonX отвечают на вопрос, а requireX проверяет и возвращает.
import { requireString, toKebabCase } from "apps-script-utils";
function slugify(input: unknown): string {
return toKebabCase(requireString(input));
}
isConsistent2DArray — та проверка, которую стоит делать перед записью в лист: Range.setValues() требует, чтобы все строки были одной длины, и рваный массив падает уже на границе сервиса с сообщением, которое не называет проблемную строку.
escapeRegExp делает пользовательскую строку безопасной для подстановки в шаблон — пригождается всякий раз, когда поисковый запрос приходит из ячейки или формы:
import { escapeRegExp } from "apps-script-utils";
const pattern = new RegExp(escapeRegExp(searchTerm), "gi");
objectToString сообщает внутренний тег, а не String(value), и это надёжный способ отличить массив от даты и от простого объекта: тег переживает переход между фреймами, чего instanceof не умеет.