mirror of
https://github.com/actions/setup-dotnet.git
synced 2025-12-13 13:39:37 +00:00
GPR authentication support
This commit is contained in:
committed by
Alex Mullans
parent
6c0e2a2a6b
commit
6bd4969ec6
44
node_modules/nimn_schema_builder/builder.js
generated
vendored
Normal file
44
node_modules/nimn_schema_builder/builder.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
/**
|
||||
* Build Schema for nimnification of JSON data
|
||||
* @param {*} jsObj
|
||||
*/
|
||||
function buildSchema(jsObj){
|
||||
var type = typeOf(jsObj);
|
||||
switch(type){
|
||||
case "array":
|
||||
return [buildSchema(jsObj[0])];
|
||||
case "object":
|
||||
var schema = { };
|
||||
var keys = Object.keys(jsObj);
|
||||
for(var i in keys){
|
||||
var key = keys[i];
|
||||
/* if(key === null || typeof key === "undefined"){//in case of null or undefined, take sibling's type
|
||||
if(keys[i+1] ){
|
||||
schema[key] = buildSchema(jsObj[keys[i+1]]);
|
||||
}else if(keys[i-1]){
|
||||
schema[key] = buildSchema(jsObj[keys[i-1]]);
|
||||
}
|
||||
continue;
|
||||
} */
|
||||
schema[key] = buildSchema(jsObj[key]);
|
||||
}
|
||||
return schema;
|
||||
case "string":
|
||||
case "number":
|
||||
case "date":
|
||||
case "boolean":
|
||||
return type;
|
||||
default:
|
||||
throw Error("Unacceptable type : " + type);
|
||||
}
|
||||
}
|
||||
|
||||
function typeOf(obj){
|
||||
if(obj === null) return "null";
|
||||
else if(Array.isArray(obj)) return "array";
|
||||
else if(obj instanceof Date) return "date";
|
||||
else return typeof obj;
|
||||
}
|
||||
|
||||
module.exports.build = buildSchema;
|
||||
Reference in New Issue
Block a user