Files
react-native-devtools-frontend/node_modules/postcss-less/lib/nodes/interpolation.js
T
Mathias Bynens 79e2cf0633 Add stylelint dependency
This also adds CC-BY-4.0 to the list of accepted licenses.

DISABLE_THIRD_PARTY_CHECK=update dependencies

Bug: chromium:1083142
Change-Id: I8612de2fba52dae32eeb71af79d5aacfde52142b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2220097
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
2020-06-11 06:20:04 +00:00

35 lines
852 B
JavaScript

/* eslint no-param-reassign: off */
module.exports = {
interpolation(token) {
let first = token;
const tokens = [token];
const validTypes = ['word', '{', '}'];
token = this.tokenizer.nextToken();
// look for @{ but not @[word]{
if (first[1].length > 1 || token[0] !== '{') {
this.tokenizer.back(token);
return false;
}
while (token && validTypes.includes(token[0])) {
tokens.push(token);
token = this.tokenizer.nextToken();
}
const words = tokens.map((tokn) => tokn[1]);
[first] = tokens;
const last = tokens.pop();
const start = [first[2], first[3]];
const end = [last[4] || last[2], last[5] || last[3]];
const newToken = ['word', words.join('')].concat(start, end);
this.tokenizer.back(token);
this.tokenizer.back(newToken);
return true;
}
};