1.1.46 • Published 3 years ago
softweb-generator v1.1.46
Generator
generator is a node module for generating essentials for m2-importer integration.
Installation
Use the package manager npm to install generator.
npm install softweb-generator
Usage
Require
const Generator = require(generator);
static generateUrlKey (Array. recipe, Boolean lowerCase) : string
Generator.generateUrlKey(["This","is","a","recipe"] , false); //returns "This-is-a-recipe"
Generator.generateUrlKey(["This","is","a","recipe"] , false); //returns "this-is-a-recipe"
static generateSku(Array. recipe, Boolean greekLish) : string
Generator.generateSku(["This","is","a","test"] , false); //returns "This-is-a-recipe"
Generator.generateSku(["Αυτό","είναι","ένα","test"] , true); //returns 'Auto-einai-ena-test'
static randomKey()
Generates a random 10 digit key
Generator.randomKey(); //returns 'da2-dsa-bko1'
static matchCats(Array. , JSON)
Matches the categories object under items with the cats_mapping objects and return only the matched ones. Used to remove useless cats_mapping objects on paginated data.
let init_data = {
"items": {
"1": {
"SKU": "100",
"ITEID": 1,
"DESCRIPTION": "ΦΟΡΟΣ",
"RTLPRICE": 0,
"PERCENTAGE": 24,
"isactive": 1,
"Ypokatigoria": "ΠΡΟΓΡΑΜΜΑΤΑ ALTEC",
"katigoria": "ΠΡΟΓΡΑΜΜΑΤΑ",
"product_type": "simple",
"visibility": 4,
"stock_data": {
"qty": 0,
"is_in_stock": 0
},
"categories": {
"programmata": {
"name": "ΠΡΟΓΡΑΜΜΑΤΑ",
"sorting": 0
},
"programmata/programmata-altec": {
"name": "ΠΡΟΓΡΑΜΜΑΤΑ ALTEC",
"sorting": 0
}
}
}
},
"cats_mapping": {
"programmata": {
"name": "ΠΡΟΓΡΑΜΜΑΤΑ",
"code_id": "ΠΡΟΓΡΑΜΜΑΤΑ",
"IsActive": 1,
"Sorting": 0,
"url_key": "programmata",
"erp_path": "programmata",
"erp_id": "programmata"
},
"programmata/programmata-altec": {
"name": "ΠΡΟΓΡΑΜΜΑΤΑ ALTEC",
"code_id": "ΠΡΟΓΡΑΜΜΑΤΑ/ΠΡΟΓΡΑΜΜΑΤΑ ALTEC",
"IsActive": 1,
"Sorting": 0,
"url_key": "programmata-altec",
"erp_path": "programmata/programmata-altec",
"erp_id": "programmata/programmata-altec"
},
"yphresies-logisthrioy": {
"name": "ΥΠΗΡΕΣΙΕΣ ΛΟΓΙΣΤΗΡΙΟΥ",
"code_id": "ΥΠΗΡΕΣΙΕΣ ΛΟΓΙΣΤΗΡΙΟΥ",
"IsActive": 1,
"Sorting": 0,
"url_key": "yphresies-logisthrioy",
"erp_path": "yphresies-logisthrioy",
"erp_id": "yphresies-logisthrioy"
}
}
}
let paginatedData = [];
for(let i in init_mapping.items){
paginatedData.push({ [i]: init_mapping.items[i]});
}
let categories_mapping = Generator.matchCats(paginatedData ,init_mapping.cats_mapping);
/*returns
{
"cats_mapping": {
"programmata": {
"name": "ΠΡΟΓΡΑΜΜΑΤΑ",
"code_id": "ΠΡΟΓΡΑΜΜΑΤΑ",
"IsActive": 1,
"Sorting": 0,
"url_key": "programmata",
"erp_path": "programmata",
"erp_id": "programmata"
},
"programmata/programmata-altec": {
"name": "ΠΡΟΓΡΑΜΜΑΤΑ ALTEC",
"code_id": "ΠΡΟΓΡΑΜΜΑΤΑ/ΠΡΟΓΡΑΜΜΑΤΑ ALTEC",
"IsActive": 1,
"Sorting": 0,
"url_key": "programmata-altec",
"erp_path": "programmata/programmata-altec",
"erp_id": "programmata/programmata-altec"
}
}
}*/
CHANGELOG
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.