diff --git a/README.md b/README.md index 93a728f..23d176b 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,23 @@ https://yarnpkg.com/lang/en/docs/install/ Import & pass `mirrarray` an array full of keys. + +es6 module syntax: ```javascript import mirrarray from 'mirrarray'; const keymirror = mirrarray(['this', 'that', 'another']); ``` +or commonjs: +```javascript +var mirrarray = require("mirrarray"); + +var keymirror = mirrarray(['this', 'that', 'another']); +``` + +_Please note_ that the commonjs example above is current to version 2.0.0. Earlier versions would have required you to enter `require("mirrarray").default`, but this was undocumented. Usage via es6 module syntax has not been changed. + Now `keymirror` is an object containing key/value pairs for each element in the input array. ```javascript diff --git a/dist/mirrarray.js b/dist/mirrarray.js index 0d388d4..34e2ab8 100644 --- a/dist/mirrarray.js +++ b/dist/mirrarray.js @@ -1 +1 @@ -!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory():"function"==typeof define&&define.amd?define([],factory):"object"==typeof exports?exports.mirrarray=factory():root.mirrarray=factory()}(this,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=0)}([function(module,exports,__webpack_require__){"use strict";function MirrarrayError(){}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};MirrarrayError.prototype=Object.create(Error.prototype);var isValidKey=function(element){var isNull=null===element;return["string","number","boolean","undefined"].includes(void 0===element?"undefined":_typeof(element))||isNull},nonOverlappingKey=function(element){var isNull=null===element,typeSeenBefore=keysSeen[""+element],thisType=isNull?"null":void 0===element?"undefined":_typeof(element);return typeSeenBefore?typeSeenBefore===thisType:(keysSeen[""+element]=thisType,!0)},keysSeen=void 0,arrayToKeyMirror=function(arr){if(keysSeen={},!Array.isArray(arr))throw new MirrarrayError("Input to mirrarray must be an array!");return arr.reduce(function(acc,key){if(!isValidKey(key))throw new MirrarrayError("Invalid element contained within input array; each element must be either a string or number!");if(!nonOverlappingKey(key))throw new MirrarrayError("Distinct elements in the input array are coercing to the same string!");return acc[key]=key,acc},{})};exports.default=arrayToKeyMirror}])}); \ No newline at end of file +!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory():"function"==typeof define&&define.amd?define([],factory):"object"==typeof exports?exports.mirrarray=factory():root.mirrarray=factory()}(this,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=0)}([function(module,exports,__webpack_require__){"use strict";function MirrarrayError(){}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};MirrarrayError.prototype=Object.create(Error.prototype);var isValidKey=function(element){var isNull=null===element;return["string","number","boolean","undefined"].includes(void 0===element?"undefined":_typeof(element))||isNull},nonOverlappingKey=function(element){var isNull=null===element,typeSeenBefore=keysSeen[""+element],thisType=isNull?"null":void 0===element?"undefined":_typeof(element);return typeSeenBefore?typeSeenBefore===thisType:(keysSeen[""+element]=thisType,!0)},keysSeen=void 0,arrayToKeyMirror=function(arr){if(keysSeen={},!Array.isArray(arr))throw new MirrarrayError("Input to mirrarray must be an array!");return arr.reduce(function(acc,key){if(!isValidKey(key))throw new MirrarrayError("Invalid element contained within input array; each element must be either a string or number!");if(!nonOverlappingKey(key))throw new MirrarrayError("Distinct elements in the input array are coercing to the same string!");return acc[key]=key,acc},{})};exports.default=arrayToKeyMirror}]).default}); \ No newline at end of file diff --git a/package.json b/package.json index 3cb8876..7fa77ab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirrarray", - "version": "1.0.0", + "version": "2.0.0", "description": "Very simple package for creating a keymirror object from an array of strings", "main": "dist/mirrarray.js", "unpkg": "dist/mirrarray.js", diff --git a/webpack.config.babel.js b/webpack.config.babel.js index 182b564..06089d7 100644 --- a/webpack.config.babel.js +++ b/webpack.config.babel.js @@ -17,6 +17,7 @@ export default { path: path.resolve(__dirname, './dist'), filename: `${outputName}.js`, library: outputName, + libraryExport: 'default', libraryTarget: 'umd', }, plugins: [