summaryrefslogtreecommitdiffstats
path: root/node_modules/babel-helper-define-map
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/babel-helper-define-map')
-rw-r--r--node_modules/babel-helper-define-map/.npmignore3
-rw-r--r--node_modules/babel-helper-define-map/README.md5
-rw-r--r--node_modules/babel-helper-define-map/lib/index.js159
-rw-r--r--node_modules/babel-helper-define-map/package-lock.json13
-rw-r--r--node_modules/babel-helper-define-map/package.json42
5 files changed, 222 insertions, 0 deletions
diff --git a/node_modules/babel-helper-define-map/.npmignore b/node_modules/babel-helper-define-map/.npmignore
new file mode 100644
index 0000000..47cdd2c
--- /dev/null
+++ b/node_modules/babel-helper-define-map/.npmignore
@@ -0,0 +1,3 @@
+src
+test
+node_modules
diff --git a/node_modules/babel-helper-define-map/README.md b/node_modules/babel-helper-define-map/README.md
new file mode 100644
index 0000000..3818351
--- /dev/null
+++ b/node_modules/babel-helper-define-map/README.md
@@ -0,0 +1,5 @@
+# babel-helper-define-map
+
+## Usage
+
+TODO
diff --git a/node_modules/babel-helper-define-map/lib/index.js b/node_modules/babel-helper-define-map/lib/index.js
new file mode 100644
index 0000000..95b6c85
--- /dev/null
+++ b/node_modules/babel-helper-define-map/lib/index.js
@@ -0,0 +1,159 @@
+"use strict";
+
+exports.__esModule = true;
+
+var _keys = require("babel-runtime/core-js/object/keys");
+
+var _keys2 = _interopRequireDefault(_keys);
+
+exports.push = push;
+exports.hasComputed = hasComputed;
+exports.toComputedObjectFromClass = toComputedObjectFromClass;
+exports.toClassObject = toClassObject;
+exports.toDefineObject = toDefineObject;
+
+var _babelHelperFunctionName = require("babel-helper-function-name");
+
+var _babelHelperFunctionName2 = _interopRequireDefault(_babelHelperFunctionName);
+
+var _has = require("lodash/has");
+
+var _has2 = _interopRequireDefault(_has);
+
+var _babelTypes = require("babel-types");
+
+var t = _interopRequireWildcard(_babelTypes);
+
+function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+function toKind(node) {
+ if (t.isClassMethod(node) || t.isObjectMethod(node)) {
+ if (node.kind === "get" || node.kind === "set") {
+ return node.kind;
+ }
+ }
+
+ return "value";
+}
+
+function push(mutatorMap, node, kind, file, scope) {
+ var alias = t.toKeyAlias(node);
+
+ var map = {};
+ if ((0, _has2.default)(mutatorMap, alias)) map = mutatorMap[alias];
+ mutatorMap[alias] = map;
+
+ map._inherits = map._inherits || [];
+ map._inherits.push(node);
+
+ map._key = node.key;
+
+ if (node.computed) {
+ map._computed = true;
+ }
+
+ if (node.decorators) {
+ var decorators = map.decorators = map.decorators || t.arrayExpression([]);
+ decorators.elements = decorators.elements.concat(node.decorators.map(function (dec) {
+ return dec.expression;
+ }).reverse());
+ }
+
+ if (map.value || map.initializer) {
+ throw file.buildCodeFrameError(node, "Key conflict with sibling node");
+ }
+
+ var key = void 0,
+ value = void 0;
+
+ if (t.isObjectProperty(node) || t.isObjectMethod(node) || t.isClassMethod(node)) {
+ key = t.toComputedKey(node, node.key);
+ }
+
+ if (t.isObjectProperty(node) || t.isClassProperty(node)) {
+ value = node.value;
+ } else if (t.isObjectMethod(node) || t.isClassMethod(node)) {
+ value = t.functionExpression(null, node.params, node.body, node.generator, node.async);
+ value.returnType = node.returnType;
+ }
+
+ var inheritedKind = toKind(node);
+ if (!kind || inheritedKind !== "value") {
+ kind = inheritedKind;
+ }
+
+ if (scope && t.isStringLiteral(key) && (kind === "value" || kind === "initializer") && t.isFunctionExpression(value)) {
+ value = (0, _babelHelperFunctionName2.default)({ id: key, node: value, scope: scope });
+ }
+
+ if (value) {
+ t.inheritsComments(value, node);
+ map[kind] = value;
+ }
+
+ return map;
+}
+
+function hasComputed(mutatorMap) {
+ for (var key in mutatorMap) {
+ if (mutatorMap[key]._computed) {
+ return true;
+ }
+ }
+ return false;
+}
+
+function toComputedObjectFromClass(obj) {
+ var objExpr = t.arrayExpression([]);
+
+ for (var i = 0; i < obj.properties.length; i++) {
+ var prop = obj.properties[i];
+ var val = prop.value;
+ val.properties.unshift(t.objectProperty(t.identifier("key"), t.toComputedKey(prop)));
+ objExpr.elements.push(val);
+ }
+
+ return objExpr;
+}
+
+function toClassObject(mutatorMap) {
+ var objExpr = t.objectExpression([]);
+
+ (0, _keys2.default)(mutatorMap).forEach(function (mutatorMapKey) {
+ var map = mutatorMap[mutatorMapKey];
+ var mapNode = t.objectExpression([]);
+
+ var propNode = t.objectProperty(map._key, mapNode, map._computed);
+
+ (0, _keys2.default)(map).forEach(function (key) {
+ var node = map[key];
+ if (key[0] === "_") return;
+
+ var inheritNode = node;
+ if (t.isClassMethod(node) || t.isClassProperty(node)) node = node.value;
+
+ var prop = t.objectProperty(t.identifier(key), node);
+ t.inheritsComments(prop, inheritNode);
+ t.removeComments(inheritNode);
+
+ mapNode.properties.push(prop);
+ });
+
+ objExpr.properties.push(propNode);
+ });
+
+ return objExpr;
+}
+
+function toDefineObject(mutatorMap) {
+ (0, _keys2.default)(mutatorMap).forEach(function (key) {
+ var map = mutatorMap[key];
+ if (map.value) map.writable = t.booleanLiteral(true);
+ map.configurable = t.booleanLiteral(true);
+ map.enumerable = t.booleanLiteral(true);
+ });
+
+ return toClassObject(mutatorMap);
+} \ No newline at end of file
diff --git a/node_modules/babel-helper-define-map/package-lock.json b/node_modules/babel-helper-define-map/package-lock.json
new file mode 100644
index 0000000..cd7085e
--- /dev/null
+++ b/node_modules/babel-helper-define-map/package-lock.json
@@ -0,0 +1,13 @@
+{
+ "name": "babel-helper-define-map",
+ "version": "6.24.1",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
+ }
+ }
+}
diff --git a/node_modules/babel-helper-define-map/package.json b/node_modules/babel-helper-define-map/package.json
new file mode 100644
index 0000000..535e160
--- /dev/null
+++ b/node_modules/babel-helper-define-map/package.json
@@ -0,0 +1,42 @@
+{
+ "_from": "babel-helper-define-map@^6.24.1",
+ "_id": "babel-helper-define-map@6.26.0",
+ "_inBundle": false,
+ "_integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+ "_location": "/babel-helper-define-map",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "babel-helper-define-map@^6.24.1",
+ "name": "babel-helper-define-map",
+ "escapedName": "babel-helper-define-map",
+ "rawSpec": "^6.24.1",
+ "saveSpec": null,
+ "fetchSpec": "^6.24.1"
+ },
+ "_requiredBy": [
+ "/babel-plugin-transform-es2015-classes"
+ ],
+ "_resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
+ "_shasum": "a5f56dab41a25f97ecb498c7ebaca9819f95be5f",
+ "_spec": "babel-helper-define-map@^6.24.1",
+ "_where": "/home/pruss/Dev/3-minute-website/node_modules/babel-plugin-transform-es2015-classes",
+ "bundleDependencies": false,
+ "dependencies": {
+ "babel-helper-function-name": "^6.24.1",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "lodash": "^4.17.4"
+ },
+ "deprecated": false,
+ "description": "Helper function to define a map",
+ "license": "MIT",
+ "main": "lib/index.js",
+ "name": "babel-helper-define-map",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel/tree/master/packages/babel-helper-define-map"
+ },
+ "version": "6.26.0"
+}