Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.readJsonObject = exports.arrayObjectsMap = exports.object = exports.array = exports.boolean = exports.number = exports.stringOpt = exports.string = void 0; | |
| const errors_js_1 = require("../../errors.js"); | |
| function string(value) { | |
| if (typeof value === "string") { | |
| return value; | |
| } | |
| throw typeError(value, "string"); | |
| } | |
| exports.string = string; | |
| function stringOpt(value) { | |
| if (value === null || value === undefined) { | |
| return undefined; | |
| } | |
| else if (typeof value === "string") { | |
| return value; | |
| } | |
| throw typeError(value, "string or null"); | |
| } | |
| exports.stringOpt = stringOpt; | |
| function number(value) { | |
| if (typeof value === "number") { | |
| return value; | |
| } | |
| throw typeError(value, "number"); | |
| } | |
| exports.number = number; | |
| function boolean(value) { | |
| if (typeof value === "boolean") { | |
| return value; | |
| } | |
| throw typeError(value, "boolean"); | |
| } | |
| exports.boolean = boolean; | |
| function array(value) { | |
| if (Array.isArray(value)) { | |
| return value; | |
| } | |
| throw typeError(value, "array"); | |
| } | |
| exports.array = array; | |
| function object(value) { | |
| if (value !== null && typeof value === "object" && !Array.isArray(value)) { | |
| return value; | |
| } | |
| throw typeError(value, "object"); | |
| } | |
| exports.object = object; | |
| function arrayObjectsMap(value, fun) { | |
| return array(value).map((elemValue) => fun(object(elemValue))); | |
| } | |
| exports.arrayObjectsMap = arrayObjectsMap; | |
| function typeError(value, expected) { | |
| if (value === undefined) { | |
| return new errors_js_1.ProtoError(`Expected ${expected}, but the property was missing`); | |
| } | |
| let received = typeof value; | |
| if (value === null) { | |
| received = "null"; | |
| } | |
| else if (Array.isArray(value)) { | |
| received = "array"; | |
| } | |
| return new errors_js_1.ProtoError(`Expected ${expected}, received ${received}`); | |
| } | |
| function readJsonObject(value, fun) { | |
| return fun(object(value)); | |
| } | |
| exports.readJsonObject = readJsonObject; | |