Blame view

node_modules/@babel/core/lib/config/item.js 1.53 KB
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
  "use strict";
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createItemFromDescriptor = createItemFromDescriptor;
  exports.createConfigItem = createConfigItem;
  exports.getItemDescriptor = getItemDescriptor;
  
  function _path() {
    const data = _interopRequireDefault(require("path"));
  
    _path = function () {
      return data;
    };
  
    return data;
  }
  
  var _configDescriptors = require("./config-descriptors");
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  function createItemFromDescriptor(desc) {
    return new ConfigItem(desc);
  }
  
  function createConfigItem(value, {
    dirname = ".",
    type
  } = {}) {
    const descriptor = (0, _configDescriptors.createDescriptor)(value, _path().default.resolve(dirname), {
      type,
      alias: "programmatic item"
    });
    return createItemFromDescriptor(descriptor);
  }
  
  function getItemDescriptor(item) {
    if (item instanceof ConfigItem) {
      return item._descriptor;
    }
  
    return undefined;
  }
  
  class ConfigItem {
    constructor(descriptor) {
      this._descriptor = descriptor;
      Object.defineProperty(this, "_descriptor", {
        enumerable: false
      });
      this.value = this._descriptor.value;
      this.options = this._descriptor.options;
      this.dirname = this._descriptor.dirname;
      this.name = this._descriptor.name;
      this.file = this._descriptor.file ? {
        request: this._descriptor.file.request,
        resolved: this._descriptor.file.resolved
      } : undefined;
      Object.freeze(this);
    }
  
  }
  
  Object.freeze(ConfigItem.prototype);