UNPKG

twing

Version:

First-class Twig engine for Node.js

38 lines (37 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isIn = isIn; const compare_1 = require("./compare"); const is_traversable_1 = require("./is-traversable"); const iterator_to_array_1 = require("./iterator-to-array"); const markup_1 = require("../markup"); const map_like_1 = require("./map-like"); function isIn(value, compare) { let result = false; if ((0, markup_1.isAMarkup)(value)) { value = value.toString(); } if ((0, markup_1.isAMarkup)(compare)) { compare = compare.toString(); } if ((0, map_like_1.isAMapLike)(compare)) { for (let [, item] of compare) { if ((0, compare_1.compare)(item, value)) { result = true; break; } } } else if (typeof compare === 'string' && (typeof value === 'string' || typeof value === 'number')) { result = (value === '' || compare.includes('' + value)); } else if ((0, is_traversable_1.isTraversable)(compare)) { for (let item of (0, iterator_to_array_1.iteratorToArray)(compare)) { if ((0, compare_1.compare)(item, value)) { result = true; break; } } } return result; }