Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Directive.js 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  8. var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
  9. var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
  10. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  11. var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
  12. var _constants = require("../constants");
  13. var _Node2 = _interopRequireDefault(require("./Node"));
  14. var _Range = _interopRequireDefault(require("./Range"));
  15. var Directive =
  16. /*#__PURE__*/
  17. function (_Node) {
  18. (0, _inherits2.default)(Directive, _Node);
  19. (0, _createClass2.default)(Directive, null, [{
  20. key: "endOfDirective",
  21. value: function endOfDirective(src, offset) {
  22. var ch = src[offset];
  23. while (ch && ch !== '\n' && ch !== '#') {
  24. ch = src[offset += 1];
  25. } // last char can't be whitespace
  26. ch = src[offset - 1];
  27. while (ch === ' ' || ch === '\t') {
  28. offset -= 1;
  29. ch = src[offset - 1];
  30. }
  31. return offset;
  32. }
  33. }]);
  34. function Directive() {
  35. var _this;
  36. (0, _classCallCheck2.default)(this, Directive);
  37. _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Directive).call(this, _constants.Type.DIRECTIVE));
  38. _this.name = null;
  39. return _this;
  40. }
  41. (0, _createClass2.default)(Directive, [{
  42. key: "parseName",
  43. value: function parseName(start) {
  44. var src = this.context.src;
  45. var offset = start;
  46. var ch = src[offset];
  47. while (ch && ch !== '\n' && ch !== '\t' && ch !== ' ') {
  48. ch = src[offset += 1];
  49. }
  50. this.name = src.slice(start, offset);
  51. return offset;
  52. }
  53. }, {
  54. key: "parseParameters",
  55. value: function parseParameters(start) {
  56. var src = this.context.src;
  57. var offset = start;
  58. var ch = src[offset];
  59. while (ch && ch !== '\n' && ch !== '#') {
  60. ch = src[offset += 1];
  61. }
  62. this.valueRange = new _Range.default(start, offset);
  63. return offset;
  64. }
  65. }, {
  66. key: "parse",
  67. value: function parse(context, start) {
  68. this.context = context;
  69. var offset = this.parseName(start + 1);
  70. offset = this.parseParameters(offset);
  71. offset = this.parseComment(offset);
  72. this.range = new _Range.default(start, offset);
  73. return offset;
  74. }
  75. }, {
  76. key: "parameters",
  77. get: function get() {
  78. var raw = this.rawValue;
  79. return raw ? raw.trim().split(/[ \t]+/) : [];
  80. }
  81. }]);
  82. return Directive;
  83. }(_Node2.default);
  84. exports.default = Directive;