1.1.46 • Published 3 years ago

softweb-generator v1.1.46

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

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.

License

MIT

1.1.46

3 years ago

1.1.45

3 years ago