@drewsonne/maya-calculator-parser
Version:
Typescript package to parse plaintext calculations and create operators
68 lines • 3.27 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isSpaceToken = exports.isOperatorToken = exports.isToken = exports.isLongCountWildcardOperationToken = exports.isCalendarRoundWildcardOperationToken = exports.isCalendarRoundToken = exports.isLongCountToken = exports.isCalendarRoundOperation = exports.isLongCountOperation = exports.isFullOperation = exports.isPartialOperation = void 0;
var calendar_round_token_1 = __importDefault(require("../tokens/layer-1/calendar-round-token"));
var long_count_token_1 = __importDefault(require("../tokens/layer-1/long-count-token"));
var operator_token_1 = __importDefault(require("../tokens/layer-0/operator-token"));
var calendar_round_wildcard_operation_token_1 = __importDefault(require("../tokens/layer-2/calendar-round-wildcard-operation-token"));
var long_count_wildcard_operation_token_1 = __importDefault(require("../tokens/layer-2/long-count-wildcard-operation-token"));
var space_token_1 = __importDefault(require("../tokens/layer-0/space-token"));
function isPartialOperation(cache, layer1Token) {
var full = cache.concat([layer1Token]);
if (full.length === 1) {
return isToken(full[0]);
}
if (full.length === 2) {
return isToken(full[0]) && isOperatorToken(full[1]);
}
return false;
}
exports.isPartialOperation = isPartialOperation;
function isFullOperation(cache, layer1Token) {
var full = cache.concat([layer1Token]);
if (full.length === 3) {
return isToken(full[0]) && isOperatorToken(full[1]) && isToken(full[2]);
}
return false;
}
exports.isFullOperation = isFullOperation;
function isLongCountOperation(tokens) {
return isLongCountToken(tokens[0]) && isOperatorToken(tokens[1]) && isLongCountToken(tokens[2]);
}
exports.isLongCountOperation = isLongCountOperation;
function isCalendarRoundOperation(tokens) {
return isCalendarRoundToken(tokens[0]) && isOperatorToken(tokens[1]) && isCalendarRoundToken(tokens[2]);
}
exports.isCalendarRoundOperation = isCalendarRoundOperation;
function isLongCountToken(t) {
return (t instanceof long_count_token_1.default);
}
exports.isLongCountToken = isLongCountToken;
function isCalendarRoundToken(t) {
return (t instanceof calendar_round_token_1.default);
}
exports.isCalendarRoundToken = isCalendarRoundToken;
function isCalendarRoundWildcardOperationToken(t) {
return (t instanceof calendar_round_wildcard_operation_token_1.default);
}
exports.isCalendarRoundWildcardOperationToken = isCalendarRoundWildcardOperationToken;
function isLongCountWildcardOperationToken(t) {
return t instanceof long_count_wildcard_operation_token_1.default;
}
exports.isLongCountWildcardOperationToken = isLongCountWildcardOperationToken;
function isToken(t) {
return isCalendarRoundToken(t) || isLongCountToken(t);
}
exports.isToken = isToken;
function isOperatorToken(t) {
return (t instanceof operator_token_1.default);
}
exports.isOperatorToken = isOperatorToken;
function isSpaceToken(t) {
return t instanceof space_token_1.default;
}
exports.isSpaceToken = isSpaceToken;
//# sourceMappingURL=layer-2-test.js.map