X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Fumask%2Findex.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Fumask%2Findex.js;h=501c0e0c05cb50179bea7e87ad7060d7b2a3c941;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/umask/index.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/umask/index.js new file mode 100644 index 00000000..501c0e0c --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/umask/index.js @@ -0,0 +1,77 @@ +'use strict'; + +var util = require("util"); + +function toString(val) { + val = val.toString(8); + while (val.length < 4) { + val = "0" + val; + } + return val; +} + +var defaultUmask = 18; // 0022; +var defaultUmaskString = toString(defaultUmask); + +function validate(data, k, val) { + // must be either an integer or an octal string. + if (typeof val === "number" && !isNaN(val)) { + data[k] = val; + return true; + } + + if (typeof val === "string") { + if (val.charAt(0) !== "0") { + return false; + } + data[k] = parseInt(val, 8); + return true; + } + + return false; +} + +function convert_fromString(val, cb) { + if (typeof val === "string") { + // check for octal string first + if (val.charAt(0) === '0' && /^[0-7]+$/.test(val)) { + val = parseInt(val, 8); + } else if (val.charAt(0) !== '0' && /^[0-9]+$/.test(val)) { + // legacy support for decimal strings + val = parseInt(val, 10); + } else { + return cb(new Error(util.format("Expected octal string, got %j, defaulting to %j", + val, defaultUmaskString)), + defaultUmask); + } + } else if (typeof val !== "number") { + return cb(new Error(util.format("Expected number or octal string, got %j, defaulting to %j", + val, defaultUmaskString)), + defaultUmask); + } + + val = Math.floor(val); + + if ((val < 0) || (val > 511)) { + return cb(new Error(util.format("Must be in range 0..511 (0000..0777), got %j", val)), + defaultUmask); + } + + cb(null, val); +} + +function fromString(val, cb) { + + // synchronous callback, no zalgo + convert_fromString(val, cb || function (err, result) { + /*jslint unparam:true*/ + val = result; + }); + + return val; +} + +exports.toString = toString; +exports.fromString = fromString; +exports.validate = validate; +