HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/linde-ai/html/node_modules/@babel/generator/lib/buffer.js.map
{"version":3,"names":["Buffer","constructor","map","_map","_buf","_str","_appendCount","_last","_queue","_queueCursor","_position","line","column","_sourcePosition","identifierName","undefined","filename","_allocQueue","queue","i","push","char","repeat","_pushQueue","cursor","length","item","_popQueue","Error","get","_flush","result","code","trimRight","decodedMap","getDecoded","resultMap","value","Object","defineProperty","writable","rawMappings","mappings","getRawMappings","append","str","maybeNewline","_append","appendChar","_appendChar","sourcePosition","queueIndentation","queueCursor","sourcePos","String","fromCharCode","_mark","len","position","charCodeAt","indexOf","last","mark","removeTrailingNewline","removeLastSemicolon","getLastChar","getNewlineCount","count","endsWithCharAndNewline","lastCp","hasContent","exactSource","loc","cb","source","prop","_normalizePosition","sourceWithOffset","lineOffset","columnOffset","withSource","pos","target","getCurrentColumn","lastIndex","getCurrentLine"],"sources":["../src/buffer.ts"],"sourcesContent":["import type SourceMap from \"./source-map\";\nimport * as charcodes from \"charcodes\";\n\nexport type Pos = {\n  line: number;\n  column: number;\n};\nexport type Loc = {\n  start?: Pos;\n  end?: Pos;\n  identifierName?: string;\n  filename?: string;\n};\ntype SourcePos = {\n  identifierName: string | undefined;\n  line: number | undefined;\n  column: number | undefined;\n  filename: string | undefined;\n};\n\ntype QueueItem = {\n  char: number;\n  repeat: number;\n  line: number | undefined;\n  column: number | undefined;\n  identifierName: string | undefined;\n  filename: string | undefined;\n};\n\nexport default class Buffer {\n  constructor(map?: SourceMap | null) {\n    this._map = map;\n\n    this._allocQueue();\n  }\n\n  _map: SourceMap = null;\n  _buf = \"\";\n  _str = \"\";\n  _appendCount = 0;\n  _last = 0;\n  _queue: QueueItem[] = [];\n  _queueCursor = 0;\n\n  _position = {\n    line: 1,\n    column: 0,\n  };\n  _sourcePosition: SourcePos = {\n    identifierName: undefined,\n    line: undefined,\n    column: undefined,\n    filename: undefined,\n  };\n\n  _allocQueue() {\n    const queue = this._queue;\n\n    for (let i = 0; i < 16; i++) {\n      queue.push({\n        char: 0,\n        repeat: 1,\n        line: undefined,\n        column: undefined,\n        identifierName: undefined,\n        filename: \"\",\n      });\n    }\n  }\n\n  _pushQueue(\n    char: number,\n    repeat: number,\n    line: number | undefined,\n    column: number | undefined,\n    identifierName: string | undefined,\n    filename: string | undefined,\n  ) {\n    const cursor = this._queueCursor;\n    if (cursor === this._queue.length) {\n      this._allocQueue();\n    }\n    const item = this._queue[cursor];\n    item.char = char;\n    item.repeat = repeat;\n    item.line = line;\n    item.column = column;\n    item.identifierName = identifierName;\n    item.filename = filename;\n\n    this._queueCursor++;\n  }\n\n  _popQueue(): QueueItem {\n    if (this._queueCursor === 0) {\n      throw new Error(\"Cannot pop from empty queue\");\n    }\n    return this._queue[--this._queueCursor];\n  }\n\n  /**\n   * Get the final string output from the buffer, along with the sourcemap if one exists.\n   */\n\n  get() {\n    this._flush();\n\n    const map = this._map;\n    const result = {\n      // Whatever trim is used here should not execute a regex against the\n      // source string since it may be arbitrarily large after all transformations\n      code: (this._buf + this._str).trimRight(),\n      // Decoded sourcemap is free to generate.\n      decodedMap: map?.getDecoded(),\n\n      // Encoding the sourcemap is moderately CPU expensive.\n      get map() {\n        const resultMap = map ? map.get() : null;\n        result.map = resultMap;\n        return resultMap;\n      },\n      set map(value) {\n        Object.defineProperty(result, \"map\", { value, writable: true });\n      },\n      // Retrieving the raw mappings is very memory intensive.\n      get rawMappings() {\n        const mappings = map?.getRawMappings();\n        result.rawMappings = mappings;\n        return mappings;\n      },\n      set rawMappings(value) {\n        Object.defineProperty(result, \"rawMappings\", { value, writable: true });\n      },\n    };\n\n    return result;\n  }\n\n  /**\n   * Add a string to the buffer that cannot be reverted.\n   */\n\n  append(str: string, maybeNewline: boolean): void {\n    this._flush();\n\n    this._append(str, this._sourcePosition, maybeNewline);\n  }\n\n  appendChar(char: number): void {\n    this._flush();\n    this._appendChar(char, 1, this._sourcePosition);\n  }\n\n  /**\n   * Add a string to the buffer than can be reverted.\n   */\n  queue(char: number): void {\n    // Drop trailing spaces when a newline is inserted.\n    if (char === charcodes.lineFeed) {\n      while (this._queueCursor !== 0) {\n        const char = this._queue[this._queueCursor - 1].char;\n        if (char !== charcodes.space && char !== charcodes.tab) {\n          break;\n        }\n\n        this._queueCursor--;\n      }\n    }\n\n    const sourcePosition = this._sourcePosition;\n    this._pushQueue(\n      char,\n      1,\n      sourcePosition.line,\n      sourcePosition.column,\n      sourcePosition.identifierName,\n      sourcePosition.filename,\n    );\n  }\n\n  /**\n   * Same as queue, but this indentation will never have a sourcmap marker.\n   */\n  queueIndentation(char: number, repeat: number): void {\n    this._pushQueue(char, repeat, undefined, undefined, undefined, undefined);\n  }\n\n  _flush(): void {\n    const queueCursor = this._queueCursor;\n    const queue = this._queue;\n    for (let i = 0; i < queueCursor; i++) {\n      const item: QueueItem = queue[i];\n      this._appendChar(item.char, item.repeat, item);\n    }\n    this._queueCursor = 0;\n  }\n\n  _appendChar(char: number, repeat: number, sourcePos: SourcePos): void {\n    this._last = char;\n\n    this._str +=\n      repeat > 1\n        ? String.fromCharCode(char).repeat(repeat)\n        : String.fromCharCode(char);\n\n    if (char !== charcodes.lineFeed) {\n      this._mark(\n        sourcePos.line,\n        sourcePos.column,\n        sourcePos.identifierName,\n        sourcePos.filename,\n      );\n      this._position.column += repeat;\n    } else {\n      this._position.line++;\n      this._position.column = 0;\n    }\n  }\n\n  _append(str: string, sourcePos: SourcePos, maybeNewline: boolean): void {\n    const len = str.length;\n    const position = this._position;\n\n    this._last = str.charCodeAt(len - 1);\n\n    if (++this._appendCount > 4096) {\n      +this._str; // Unexplainable huge performance boost. Ref: https://github.com/davidmarkclements/flatstr License: MIT\n      this._buf += this._str;\n      this._str = str;\n      this._appendCount = 0;\n    } else {\n      this._str += str;\n    }\n\n    if (!maybeNewline && !this._map) {\n      position.column += len;\n      return;\n    }\n\n    const { column, identifierName, filename } = sourcePos;\n    let line = sourcePos.line;\n\n    // Search for newline chars. We search only for `\\n`, since both `\\r` and\n    // `\\r\\n` are normalized to `\\n` during parse. We exclude `\\u2028` and\n    // `\\u2029` for performance reasons, they're so uncommon that it's probably\n    // ok. It's also unclear how other sourcemap utilities handle them...\n    let i = str.indexOf(\"\\n\");\n    let last = 0;\n\n    // If the string starts with a newline char, then adding a mark is redundant.\n    // This catches both \"no newlines\" and \"newline after several chars\".\n    if (i !== 0) {\n      this._mark(line, column, identifierName, filename);\n    }\n\n    // Now, find each reamining newline char in the string.\n    while (i !== -1) {\n      position.line++;\n      position.column = 0;\n      last = i + 1;\n\n      // We mark the start of each line, which happens directly after this newline char\n      // unless this is the last char.\n      if (last < len) {\n        this._mark(++line, 0, identifierName, filename);\n      }\n      i = str.indexOf(\"\\n\", last);\n    }\n    position.column += len - last;\n  }\n\n  _mark(\n    line: number | undefined,\n    column: number | undefined,\n    identifierName: string | undefined,\n    filename: string | undefined,\n  ): void {\n    this._map?.mark(this._position, line, column, identifierName, filename);\n  }\n\n  removeTrailingNewline(): void {\n    const queueCursor = this._queueCursor;\n    if (\n      queueCursor !== 0 &&\n      this._queue[queueCursor - 1].char === charcodes.lineFeed\n    ) {\n      this._queueCursor--;\n    }\n  }\n\n  removeLastSemicolon(): void {\n    const queueCursor = this._queueCursor;\n    if (\n      queueCursor !== 0 &&\n      this._queue[queueCursor - 1].char === charcodes.semicolon\n    ) {\n      this._queueCursor--;\n    }\n  }\n\n  getLastChar(): number {\n    const queueCursor = this._queueCursor;\n    return queueCursor !== 0 ? this._queue[queueCursor - 1].char : this._last;\n  }\n\n  /**\n   * This will only detect at most 1 newline after a call to `flush()`,\n   * but this has not been found so far, and an accurate count can be achieved if needed later.\n   */\n  getNewlineCount(): number {\n    const queueCursor = this._queueCursor;\n    let count = 0;\n    if (queueCursor === 0) return this._last === charcodes.lineFeed ? 1 : 0;\n    for (let i = queueCursor - 1; i >= 0; i--) {\n      if (this._queue[i].char !== charcodes.lineFeed) {\n        break;\n      }\n      count++;\n    }\n    return count === queueCursor && this._last === charcodes.lineFeed\n      ? count + 1\n      : count;\n  }\n\n  /**\n   * check if current _last + queue ends with newline, return the character before newline\n   *\n   * @param {*} ch\n   * @memberof Buffer\n   */\n  endsWithCharAndNewline(): number {\n    const queue = this._queue;\n    const queueCursor = this._queueCursor;\n    if (queueCursor !== 0) {\n      // every element in queue is one-length whitespace string\n      const lastCp = queue[queueCursor - 1].char;\n      if (lastCp !== charcodes.lineFeed) return;\n      if (queueCursor > 1) {\n        return queue[queueCursor - 2].char;\n      } else {\n        return this._last;\n      }\n    }\n    // We assume that everything being matched is at most a single token plus some whitespace,\n    // which everything currently is, but otherwise we'd have to expand _last or check _buf.\n  }\n\n  hasContent(): boolean {\n    return this._queueCursor !== 0 || !!this._last;\n  }\n\n  /**\n   * Certain sourcemap usecases expect mappings to be more accurate than\n   * Babel's generic sourcemap handling allows. For now, we special-case\n   * identifiers to allow for the primary cases to work.\n   * The goal of this line is to ensure that the map output from Babel will\n   * have an exact range on identifiers in the output code. Without this\n   * line, Babel would potentially include some number of trailing tokens\n   * that are printed after the identifier, but before another location has\n   * been assigned.\n   * This allows tooling like Rollup and Webpack to more accurately perform\n   * their own transformations. Most importantly, this allows the import/export\n   * transformations performed by those tools to loose less information when\n   * applying their own transformations on top of the code and map results\n   * generated by Babel itself.\n   *\n   * The primary example of this is the snippet:\n   *\n   *   import mod from \"mod\";\n   *   mod();\n   *\n   * With this line, there will be one mapping range over \"mod\" and another\n   * over \"();\", where previously it would have been a single mapping.\n   */\n  exactSource(loc: Loc | undefined, cb: () => void) {\n    if (!this._map) return cb();\n\n    this.source(\"start\", loc);\n\n    cb();\n\n    this.source(\"end\", loc);\n  }\n\n  /**\n   * Sets a given position as the current source location so generated code after this call\n   * will be given this position in the sourcemap.\n   */\n\n  source(prop: \"start\" | \"end\", loc: Loc | undefined): void {\n    if (!this._map) return;\n\n    // Since this is called extremely often, we re-use the same _sourcePosition\n    // object for the whole lifetime of the buffer.\n    this._normalizePosition(prop, loc, 0, 0);\n  }\n\n  sourceWithOffset(\n    prop: \"start\" | \"end\",\n    loc: Loc | undefined,\n    lineOffset: number,\n    columnOffset: number,\n  ): void {\n    if (!this._map) return;\n\n    this._normalizePosition(prop, loc, lineOffset, columnOffset);\n  }\n\n  /**\n   * Call a callback with a specific source location\n   */\n\n  withSource(prop: \"start\" | \"end\", loc: Loc, cb: () => void): void {\n    if (!this._map) return cb();\n\n    this.source(prop, loc);\n\n    cb();\n  }\n\n  _normalizePosition(\n    prop: \"start\" | \"end\",\n    loc: Loc,\n    lineOffset: number,\n    columnOffset: number,\n  ) {\n    const pos = loc[prop];\n    const target = this._sourcePosition;\n\n    target.identifierName =\n      (prop === \"start\" && loc.identifierName) || undefined;\n    if (pos) {\n      target.line = pos.line + lineOffset;\n      target.column = pos.column + columnOffset;\n      target.filename = loc.filename;\n    }\n  }\n\n  getCurrentColumn(): number {\n    const queue = this._queue;\n    const queueCursor = this._queueCursor;\n\n    let lastIndex = -1;\n    let len = 0;\n    for (let i = 0; i < queueCursor; i++) {\n      const item = queue[i];\n      if (item.char === charcodes.lineFeed) {\n        lastIndex = len;\n      }\n      len += item.repeat;\n    }\n\n    return lastIndex === -1 ? this._position.column + len : len - 1 - lastIndex;\n  }\n\n  getCurrentLine(): number {\n    let count = 0;\n\n    const queue = this._queue;\n    for (let i = 0; i < this._queueCursor; i++) {\n      if (queue[i].char === charcodes.lineFeed) {\n        count++;\n      }\n    }\n\n    return this._position.line + count;\n  }\n}\n"],"mappings":"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"}