112 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| exports.safeJSON = exports.maybeCoerceBoolean = exports.maybeCoerceFloat = exports.maybeCoerceInteger = exports.coerceBoolean = exports.coerceFloat = exports.coerceInteger = exports.validatePositiveInteger = exports.ensurePresent = exports.isReadonlyArray = exports.isArray = exports.isAbsoluteURL = void 0;
 | |
| exports.maybeObj = maybeObj;
 | |
| exports.isEmptyObj = isEmptyObj;
 | |
| exports.hasOwn = hasOwn;
 | |
| exports.isObj = isObj;
 | |
| const error_1 = require("../../core/error.js");
 | |
| // https://url.spec.whatwg.org/#url-scheme-string
 | |
| const startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
 | |
| const isAbsoluteURL = (url) => {
 | |
|     return startsWithSchemeRegexp.test(url);
 | |
| };
 | |
| exports.isAbsoluteURL = isAbsoluteURL;
 | |
| let isArray = (val) => ((exports.isArray = Array.isArray), (0, exports.isArray)(val));
 | |
| exports.isArray = isArray;
 | |
| exports.isReadonlyArray = exports.isArray;
 | |
| /** Returns an object if the given value isn't an object, otherwise returns as-is */
 | |
| function maybeObj(x) {
 | |
|     if (typeof x !== 'object') {
 | |
|         return {};
 | |
|     }
 | |
|     return x ?? {};
 | |
| }
 | |
| // https://stackoverflow.com/a/34491287
 | |
| function isEmptyObj(obj) {
 | |
|     if (!obj)
 | |
|         return true;
 | |
|     for (const _k in obj)
 | |
|         return false;
 | |
|     return true;
 | |
| }
 | |
| // https://eslint.org/docs/latest/rules/no-prototype-builtins
 | |
| function hasOwn(obj, key) {
 | |
|     return Object.prototype.hasOwnProperty.call(obj, key);
 | |
| }
 | |
| function isObj(obj) {
 | |
|     return obj != null && typeof obj === 'object' && !Array.isArray(obj);
 | |
| }
 | |
| const ensurePresent = (value) => {
 | |
|     if (value == null) {
 | |
|         throw new error_1.OpenAIError(`Expected a value to be given but received ${value} instead.`);
 | |
|     }
 | |
|     return value;
 | |
| };
 | |
| exports.ensurePresent = ensurePresent;
 | |
| const validatePositiveInteger = (name, n) => {
 | |
|     if (typeof n !== 'number' || !Number.isInteger(n)) {
 | |
|         throw new error_1.OpenAIError(`${name} must be an integer`);
 | |
|     }
 | |
|     if (n < 0) {
 | |
|         throw new error_1.OpenAIError(`${name} must be a positive integer`);
 | |
|     }
 | |
|     return n;
 | |
| };
 | |
| exports.validatePositiveInteger = validatePositiveInteger;
 | |
| const coerceInteger = (value) => {
 | |
|     if (typeof value === 'number')
 | |
|         return Math.round(value);
 | |
|     if (typeof value === 'string')
 | |
|         return parseInt(value, 10);
 | |
|     throw new error_1.OpenAIError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
 | |
| };
 | |
| exports.coerceInteger = coerceInteger;
 | |
| const coerceFloat = (value) => {
 | |
|     if (typeof value === 'number')
 | |
|         return value;
 | |
|     if (typeof value === 'string')
 | |
|         return parseFloat(value);
 | |
|     throw new error_1.OpenAIError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
 | |
| };
 | |
| exports.coerceFloat = coerceFloat;
 | |
| const coerceBoolean = (value) => {
 | |
|     if (typeof value === 'boolean')
 | |
|         return value;
 | |
|     if (typeof value === 'string')
 | |
|         return value === 'true';
 | |
|     return Boolean(value);
 | |
| };
 | |
| exports.coerceBoolean = coerceBoolean;
 | |
| const maybeCoerceInteger = (value) => {
 | |
|     if (value === undefined) {
 | |
|         return undefined;
 | |
|     }
 | |
|     return (0, exports.coerceInteger)(value);
 | |
| };
 | |
| exports.maybeCoerceInteger = maybeCoerceInteger;
 | |
| const maybeCoerceFloat = (value) => {
 | |
|     if (value === undefined) {
 | |
|         return undefined;
 | |
|     }
 | |
|     return (0, exports.coerceFloat)(value);
 | |
| };
 | |
| exports.maybeCoerceFloat = maybeCoerceFloat;
 | |
| const maybeCoerceBoolean = (value) => {
 | |
|     if (value === undefined) {
 | |
|         return undefined;
 | |
|     }
 | |
|     return (0, exports.coerceBoolean)(value);
 | |
| };
 | |
| exports.maybeCoerceBoolean = maybeCoerceBoolean;
 | |
| const safeJSON = (text) => {
 | |
|     try {
 | |
|         return JSON.parse(text);
 | |
|     }
 | |
|     catch (err) {
 | |
|         return undefined;
 | |
|     }
 | |
| };
 | |
| exports.safeJSON = safeJSON;
 | |
| //# sourceMappingURL=values.js.map
 |