UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

19 lines (17 loc) 2.54 kB
const ParseTildeCaretNotation = ({ input, type, source }) => { if (!input.startsWith("~") && !input.startsWith("^")) return Number.parseFloat(input); switch (input[0]) { case "~": return source[`get${type.toUpperCase()}`]() + Number.parseFloat(input.slice(1, input.length) || "0"); case "^": return Number.parseFloat(input.slice(1, input.length) || "0"); default: throw new Error(`invalid input`); } }; export { ParseTildeCaretNotation as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VUaWxkZUNhcmV0Tm90YXRpb24uZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9QYXJzZVRpbGRlQ2FyZXROb3RhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eSB9IGZyb20gJy4uL2VudGl0eS9FbnRpdHknO1xuXG5jb25zdCBQYXJzZVRpbGRlQ2FyZXROb3RhdGlvbiA9ICh7XG4gICAgaW5wdXQsXG4gICAgdHlwZSxcbiAgICBzb3VyY2Vcbn06IHtcbiAgICBpbnB1dDogc3RyaW5nO1xuICAgIHR5cGU6ICd4JyB8ICd5JyB8ICd6JztcbiAgICBzb3VyY2U6IEVudGl0eTtcbn0pOiBudW1iZXIgPT4ge1xuICAgIGlmICghaW5wdXQuc3RhcnRzV2l0aCgnficpICYmICFpbnB1dC5zdGFydHNXaXRoKCdeJykpIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdChpbnB1dCk7XG5cbiAgICBzd2l0Y2ggKGlucHV0WzBdKSB7XG4gICAgICAgIGNhc2UgJ34nOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAoc291cmNlIGFzIGFueSlbYGdldCR7dHlwZS50b1VwcGVyQ2FzZSgpfWBdKCkgKyBOdW1iZXIucGFyc2VGbG9hdChpbnB1dC5zbGljZSgxLCBpbnB1dC5sZW5ndGgpIHx8ICcwJylcbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ14nOlxuICAgICAgICAgICAgLy8gRklYTUU6XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQoaW5wdXQuc2xpY2UoMSwgaW5wdXQubGVuZ3RoKSB8fCAnMCcpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGlucHV0YCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgUGFyc2VUaWxkZUNhcmV0Tm90YXRpb247XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSwwQkFBMEIsQ0FBQztBQUFBLEVBQzdCLEtBQUE7QUFBQSxFQUNBLElBQUE7QUFBQSxFQUNBO0FBQ0osQ0FJYyxLQUFBO0FBQ1YsRUFBQSxJQUFJLENBQUMsS0FBQSxDQUFNLFVBQVcsQ0FBQSxHQUFHLENBQUssSUFBQSxDQUFDLEtBQU0sQ0FBQSxVQUFBLENBQVcsR0FBRyxDQUFBLEVBQVUsT0FBQSxNQUFBLENBQU8sV0FBVyxLQUFLLENBQUE7QUFFcEYsRUFBUSxRQUFBLEtBQUEsQ0FBTSxDQUFDLENBQUc7QUFBQSxJQUNkLEtBQUssR0FBQTtBQUNELE1BQUEsT0FDSyxPQUFlLENBQU0sR0FBQSxFQUFBLElBQUEsQ0FBSyxXQUFZLEVBQUMsRUFBRSxDQUFFLEVBQUEsR0FBSSxNQUFPLENBQUEsVUFBQSxDQUFXLE1BQU0sS0FBTSxDQUFBLENBQUEsRUFBRyxLQUFNLENBQUEsTUFBTSxLQUFLLEdBQUcsQ0FBQTtBQUFBLElBRTdHLEtBQUssR0FBQTtBQUVELE1BQU8sT0FBQSxNQUFBLENBQU8sV0FBVyxLQUFNLENBQUEsS0FBQSxDQUFNLEdBQUcsS0FBTSxDQUFBLE1BQU0sS0FBSyxHQUFHLENBQUE7QUFBQSxJQUNoRTtBQUNJLE1BQU0sTUFBQSxJQUFJLE1BQU0sQ0FBZSxhQUFBLENBQUEsQ0FBQTtBQUFBO0FBRTNDOzs7OyJ9