Software zum Installieren eines Smart-Mirror Frameworks , zum Nutzen von hochschulrelevanten Informationen, auf einem Raspberry-Pi.
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.

index.js 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // @ts-nocheck
  2. 'use strict';
  3. const blockString = require('../../utils/blockString');
  4. const report = require('../../utils/report');
  5. const ruleMessages = require('../../utils/ruleMessages');
  6. const validateOptions = require('../../utils/validateOptions');
  7. const whitespaceChecker = require('../../utils/whitespaceChecker');
  8. const ruleName = 'declaration-block-semicolon-newline-before';
  9. const messages = ruleMessages(ruleName, {
  10. expectedBefore: () => 'Expected newline before ";"',
  11. expectedBeforeMultiLine: () => 'Expected newline before ";" in a multi-line declaration block',
  12. rejectedBeforeMultiLine: () =>
  13. 'Unexpected whitespace before ";" in a multi-line declaration block',
  14. });
  15. function rule(expectation) {
  16. const checker = whitespaceChecker('newline', expectation, messages);
  17. return function (root, result) {
  18. const validOptions = validateOptions(result, ruleName, {
  19. actual: expectation,
  20. possible: ['always', 'always-multi-line', 'never-multi-line'],
  21. });
  22. if (!validOptions) {
  23. return;
  24. }
  25. root.walkDecls((decl) => {
  26. const parentRule = decl.parent;
  27. if (!parentRule.raws.semicolon && parentRule.last === decl) {
  28. return;
  29. }
  30. const declString = decl.toString();
  31. checker.beforeAllowingIndentation({
  32. source: declString,
  33. index: declString.length,
  34. lineCheckStr: blockString(parentRule),
  35. err: (m) => {
  36. report({
  37. message: m,
  38. node: decl,
  39. index: decl.toString().length - 1,
  40. result,
  41. ruleName,
  42. });
  43. },
  44. });
  45. });
  46. };
  47. }
  48. rule.ruleName = ruleName;
  49. rule.messages = messages;
  50. module.exports = rule;