UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

13 lines (12 loc) 2.24 kB
//#region src/utils/ParseTildeCaretNotation.ts var 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`); } }; //#endregion export { ParseTildeCaretNotation as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VUaWxkZUNhcmV0Tm90YXRpb24uZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1BhcnNlVGlsZGVDYXJldE5vdGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5IH0gZnJvbSAnLi4vZW50aXR5L0VudGl0eSc7XG5cbmNvbnN0IFBhcnNlVGlsZGVDYXJldE5vdGF0aW9uID0gKHtcbiAgICBpbnB1dCxcbiAgICB0eXBlLFxuICAgIHNvdXJjZVxufToge1xuICAgIGlucHV0OiBzdHJpbmc7XG4gICAgdHlwZTogJ3gnIHwgJ3knIHwgJ3onO1xuICAgIHNvdXJjZTogRW50aXR5O1xufSk6IG51bWJlciA9PiB7XG4gICAgaWYgKCFpbnB1dC5zdGFydHNXaXRoKCd+JykgJiYgIWlucHV0LnN0YXJ0c1dpdGgoJ14nKSkgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KGlucHV0KTtcblxuICAgIHN3aXRjaCAoaW5wdXRbMF0pIHtcbiAgICAgICAgY2FzZSAnfic6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIChzb3VyY2UgYXMgYW55KVtgZ2V0JHt0eXBlLnRvVXBwZXJDYXNlKCl9YF0oKSArIE51bWJlci5wYXJzZUZsb2F0KGlucHV0LnNsaWNlKDEsIGlucHV0Lmxlbmd0aCkgfHwgJzAnKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgY2FzZSAnXic6XG4gICAgICAgICAgICAvLyBGSVhNRTpcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdChpbnB1dC5zbGljZSgxLCBpbnB1dC5sZW5ndGgpIHx8ICcwJyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgaW5wdXRgKTtcbiAgICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBQYXJzZVRpbGRlQ2FyZXROb3RhdGlvbjtcbiJdLCJtYXBwaW5ncyI6IjtBQUVBLElBQU0sMkJBQTJCLEVBQzdCLE9BQ0EsTUFDQSxhQUtVO0NBQ1YsSUFBSSxDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFHLE9BQU8sT0FBTyxXQUFXLEtBQUs7Q0FFcEYsUUFBUSxNQUFNLElBQWQ7RUFDSSxLQUFLLEtBQ0QsT0FDSyxPQUFlLE1BQU0sS0FBSyxZQUFZLEtBQUssSUFBSSxPQUFPLFdBQVcsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLEtBQUssR0FBRztFQUU3RyxLQUFLLEtBRUQsT0FBTyxPQUFPLFdBQVcsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLEtBQUssR0FBRztFQUNoRSxTQUNJLE1BQU0sSUFBSSxNQUFNLGVBQWU7Q0FDdkM7QUFDSiJ9