location.js 4.9 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { isPresent } from '@glimmer/util';
  2. export const UNKNOWN_POSITION = Object.freeze({
  3. line: 1,
  4. column: 0
  5. });
  6. export const SYNTHETIC_LOCATION = Object.freeze({
  7. source: '(synthetic)',
  8. start: UNKNOWN_POSITION,
  9. end: UNKNOWN_POSITION
  10. });
  11. /** @deprecated */
  12. export const SYNTHETIC = SYNTHETIC_LOCATION;
  13. export const TEMPORARY_LOCATION = Object.freeze({
  14. source: '(temporary)',
  15. start: UNKNOWN_POSITION,
  16. end: UNKNOWN_POSITION
  17. });
  18. export const NON_EXISTENT_LOCATION = Object.freeze({
  19. source: '(nonexistent)',
  20. start: UNKNOWN_POSITION,
  21. end: UNKNOWN_POSITION
  22. });
  23. export const BROKEN_LOCATION = Object.freeze({
  24. source: '(broken)',
  25. start: UNKNOWN_POSITION,
  26. end: UNKNOWN_POSITION
  27. });
  28. export function isLocatedWithPositionsArray(location) {
  29. return isPresent(location) && location.every(isLocatedWithPositions);
  30. }
  31. export function isLocatedWithPositions(location) {
  32. return location.loc !== undefined;
  33. }
  34. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc291cmNlL2xvY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLFNBQVMsU0FBVCxRQUEwQixlQUExQjtBQWdCQSxPQUFPLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQVAsQ0FBYztBQUM1QyxFQUFBLElBQUksRUFBRSxDQURzQztBQUU1QyxFQUFBLE1BQU0sRUFBRTtBQUZvQyxDQUFkLENBQXpCO0FBS1AsT0FBTyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFQLENBQWM7QUFDOUMsRUFBQSxNQUFNLEVBQUUsYUFEc0M7QUFFOUMsRUFBQSxLQUFLLEVBQUUsZ0JBRnVDO0FBRzlDLEVBQUEsR0FBRyxFQUFFO0FBSHlDLENBQWQsQ0FBM0I7QUFNUDs7QUFDQSxPQUFPLE1BQU0sU0FBUyxHQUFHLGtCQUFsQjtBQUVQLE9BQU8sTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsTUFBUCxDQUFjO0FBQzlDLEVBQUEsTUFBTSxFQUFFLGFBRHNDO0FBRTlDLEVBQUEsS0FBSyxFQUFFLGdCQUZ1QztBQUc5QyxFQUFBLEdBQUcsRUFBRTtBQUh5QyxDQUFkLENBQTNCO0FBTVAsT0FBTyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxNQUFQLENBQWM7QUFDakQsRUFBQSxNQUFNLEVBQUUsZUFEeUM7QUFFakQsRUFBQSxLQUFLLEVBQUUsZ0JBRjBDO0FBR2pELEVBQUEsR0FBRyxFQUFFO0FBSDRDLENBQWQsQ0FBOUI7QUFNUCxPQUFPLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFQLENBQWM7QUFDM0MsRUFBQSxNQUFNLEVBQUUsVUFEbUM7QUFFM0MsRUFBQSxLQUFLLEVBQUUsZ0JBRm9DO0FBRzNDLEVBQUEsR0FBRyxFQUFFO0FBSHNDLENBQWQsQ0FBeEI7QUFZUCxPQUFNLFNBQVUsMkJBQVYsQ0FDSixRQURJLEVBQ29DO0FBRXhDLFNBQU8sU0FBUyxDQUFDLFFBQUQsQ0FBVCxJQUF1QixRQUFRLENBQUMsS0FBVCxDQUFlLHNCQUFmLENBQTlCO0FBQ0Q7QUFFRCxPQUFNLFNBQVUsc0JBQVYsQ0FDSixRQURJLEVBQ2tDO0FBRXRDLFNBQU8sUUFBUSxDQUFDLEdBQVQsS0FBaUIsU0FBeEI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZXNlbnRBcnJheSB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7IFNvdXJjZVNwYW4gfSBmcm9tICcuL3NwYW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZUxvY2F0aW9uIHtcbiAgc3RhcnQ6IFNvdXJjZVBvc2l0aW9uO1xuICBlbmQ6IFNvdXJjZVBvc2l0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZVBvc2l0aW9uIHtcbiAgLyoqID49IDEgKi9cbiAgbGluZTogbnVtYmVyO1xuICAvKiogPj0gMCAqL1xuICBjb2x1bW46IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFVOS05PV05fUE9TSVRJT04gPSBPYmplY3QuZnJlZXplKHtcbiAgbGluZTogMSxcbiAgY29sdW1uOiAwLFxufSBhcyBjb25zdCk7XG5cbmV4cG9ydCBjb25zdCBTWU5USEVUSUNfTE9DQVRJT04gPSBPYmplY3QuZnJlZXplKHtcbiAgc291cmNlOiAnKHN5bnRoZXRpYyknLFxuICBzdGFydDogVU5LTk9XTl9QT1NJVElPTixcbiAgZW5kOiBVTktOT1dOX1BPU0lUSU9OLFxufSBhcyBjb25zdCk7XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IGNvbnN0IFNZTlRIRVRJQyA9IFNZTlRIRVRJQ19MT0NBVElPTjtcblxuZXhwb3J0IGNvbnN0IFRFTVBPUkFSWV9MT0NBVElPTiA9IE9iamVjdC5mcmVlemUoe1xuICBzb3VyY2U6ICcodGVtcG9yYXJ5KScsXG4gIHN0YXJ0OiBVTktOT1dOX1BPU0lUSU9OLFxuICBlbmQ6IFVOS05PV05fUE9TSVRJT04sXG59IGFzIGNvbnN0KTtcblxuZXhwb3J0IGNvbnN0IE5PTl9FWElTVEVOVF9MT0NBVElPTiA9IE9iamVjdC5mcmVlemUoe1xuICBzb3VyY2U6ICcobm9uZXhpc3RlbnQpJyxcbiAgc3RhcnQ6IFVOS05PV05fUE9TSVRJT04sXG4gIGVuZDogVU5LTk9XTl9QT1NJVElPTixcbn0gYXMgY29uc3QpO1xuXG5leHBvcnQgY29uc3QgQlJPS0VOX0xPQ0FUSU9OID0gT2JqZWN0LmZyZWV6ZSh7XG4gIHNvdXJjZTogJyhicm9rZW4pJyxcbiAgc3RhcnQ6IFVOS05PV05fUE9TSVRJT04sXG4gIGVuZDogVU5LTk9XTl9QT1NJVElPTixcbn0gYXMgY29uc3QpO1xuXG5leHBvcnQgdHlwZSBMb2NhdGVkV2l0aFNwYW4gPSB7IG9mZnNldHM6IFNvdXJjZVNwYW4gfTtcbmV4cG9ydCB0eXBlIExvY2F0ZWRXaXRoT3B0aW9uYWxTcGFuID0geyBvZmZzZXRzOiBTb3VyY2VTcGFuIHwgbnVsbCB9O1xuXG5leHBvcnQgdHlwZSBMb2NhdGVkV2l0aFBvc2l0aW9ucyA9IHsgbG9jOiBTb3VyY2VMb2NhdGlvbiB9O1xuZXhwb3J0IHR5cGUgTG9jYXRlZFdpdGhPcHRpb25hbFBvc2l0aW9ucyA9IHsgbG9jPzogU291cmNlTG9jYXRpb24gfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYXRlZFdpdGhQb3NpdGlvbnNBcnJheShcbiAgbG9jYXRpb246IExvY2F0ZWRXaXRoT3B0aW9uYWxQb3NpdGlvbnNbXVxuKTogbG9jYXRpb24gaXMgUHJlc2VudEFycmF5PExvY2F0ZWRXaXRoUG9zaXRpb25zPiB7XG4gIHJldHVybiBpc1ByZXNlbnQobG9jYXRpb24pICYmIGxvY2F0aW9uLmV2ZXJ5KGlzTG9jYXRlZFdpdGhQb3NpdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMb2NhdGVkV2l0aFBvc2l0aW9ucyhcbiAgbG9jYXRpb246IExvY2F0ZWRXaXRoT3B0aW9uYWxQb3NpdGlvbnNcbik6IGxvY2F0aW9uIGlzIExvY2F0ZWRXaXRoUG9zaXRpb25zIHtcbiAgcmV0dXJuIGxvY2F0aW9uLmxvYyAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgdHlwZSBIYXNTb3VyY2VMb2NhdGlvbiA9XG4gIHwgU291cmNlTG9jYXRpb25cbiAgfCBMb2NhdGVkV2l0aFBvc2l0aW9uc1xuICB8IFByZXNlbnRBcnJheTxMb2NhdGVkV2l0aFBvc2l0aW9ucz47XG5cbmV4cG9ydCB0eXBlIE1heWJlSGFzU291cmNlTG9jYXRpb24gPVxuICB8IG51bGxcbiAgfCBMb2NhdGVkV2l0aE9wdGlvbmFsUG9zaXRpb25zXG4gIHwgTG9jYXRlZFdpdGhPcHRpb25hbFBvc2l0aW9uc1tdO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==