UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

37 lines (36 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParseBool = ParseBool; function ParseBool(str) { // discuss at: https://locutus.io/golang/strconv/ParseBool // parity verified: Go 1.23 // original by: Kevin van Zonneveld (https://kvz.io) // note 1: Parses a boolean string value. // note 1: Returns [value, null] on success, [false, error] on failure. // note 1: Accepts: 1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False // example 1: ParseBool('true')[0] // returns 1: true // example 2: ParseBool('FALSE')[0] // returns 2: false // example 3: ParseBool('1')[0] // returns 3: true str = (str + '').trim(); switch (str) { case '1': case 't': case 'T': case 'true': case 'TRUE': case 'True': return [true, null]; case '0': case 'f': case 'F': case 'false': case 'FALSE': case 'False': return [false, null]; default: return [false, new Error('strconv.ParseBool: parsing "' + str + '": invalid syntax')]; } }