From b1b066d6a65113bae2feb6d700b14499ce7dacd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Wiktor?= Date: Wed, 2 Dec 2015 12:33:24 +0100 Subject: [PATCH 1/3] make the module work in a browser --- test/test.html | 21 +++++++++++++ voucher_codes.js | 78 ++++++++++++++++++++++++++++-------------------- 2 files changed, 67 insertions(+), 32 deletions(-) create mode 100644 test/test.html diff --git a/test/test.html b/test/test.html new file mode 100644 index 0000000..34647b3 --- /dev/null +++ b/test/test.html @@ -0,0 +1,21 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/voucher_codes.js b/voucher_codes.js index 6c1d74c..1769163 100644 --- a/voucher_codes.js +++ b/voucher_codes.js @@ -1,36 +1,50 @@ -"use strict"; - -function randomInt(min, max) { - return Math.floor(Math.random() * (max - min + 1)) + min; -} - -function randomElem(arr) { - return arr[randomInt(0, arr.length-1)]; -} - -function generateOne(config) { - var length = config.length || 8; - var charset = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; - var code = ""; - for (var i = 0; i < length; i++) { - code += randomElem(charset); +;(function() { + "use strict"; + + var root = this; + + function randomInt(min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; + } + + function randomElem(arr) { + return arr[randomInt(0, arr.length - 1)]; + } + + function generateOne(config) { + var length = config.length || 8; + var charset = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + var code = ""; + for (var i = 0; i < length; i++) { + code += randomElem(charset); + } + return code; + } + + function generate(config) { + var count = config.count || 1; + var codes = {}; + while (count > 0) { + var code = generateOne(config); + if (codes[code] === undefined) { + codes[code] = true; + count--; + } + } + return Object.keys(codes); } - return code; -} - -function generate(config) { - var count = config.count || 1; - var codes = {}; - while (count > 0) { - var code = generateOne(config); - if (codes[code] === undefined) { - codes[code] = true; - count--; + + var voucher_codes = { + generate: generate + }; + + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = voucher_codes; } + exports = voucher_codes; + } else { + root.voucher_codes = voucher_codes; } - return Object.keys(codes); -} -module.exports = { - generate: generate -}; +}).call(this); \ No newline at end of file From 2af1191732d8ea2d9e0370471ed61e2b7a03f47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Wiktor?= Date: Wed, 2 Dec 2015 12:37:33 +0100 Subject: [PATCH 2/3] readme - use in a browser --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 973e068..7f394c4 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,9 @@ Generate unique, hard to guess coupon, voucher codes. This library originates from [Voucherify](http://www.voucherify.io/?utm_source=inbound&utm_medium=github&utm_campaign=js-voucher-code-generator-beta). -### Usage +### Installation + +#### In Node.js Install with npm: @@ -13,10 +15,19 @@ $ npm install --save voucher-code-generator ``` Include with require: + ``` var voucher_codes = require('voucher-code-generator'); ``` +#### In a browser + +``` + +``` + +### Usage + Generate 5 codes, each 8 characters long: ``` voucher_codes.generate({ From c806251f6ccd7106de9a81549d1f775eba28776c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Wiktor?= Date: Wed, 2 Dec 2015 12:37:52 +0100 Subject: [PATCH 3/3] bumped version to 0.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 628d5b3..4f50123 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "voucher-code-generator", - "version": "0.0.2", + "version": "0.0.3", "homepage": "http://www.voucherify.io/", "description": "Voucher Code Generator",