UNPKG

immutable-js

Version:
59 lines (47 loc) 1.85 kB
/** * Copyright (c) 2015, Jan Biasi. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ export var IS_ITERABLE_FLAG = '@@__IMMUTABLE_ITERABLE__@@'; export var IS_KEYED_FLAG = '@@__IMMUTABLE_KEYED__@@'; export var IS_INDEXED_FLAG = '@@__IMMUTABLE_INDEXED__@@'; export var IS_ORDERED_FLAG = '@@__IMMUTABLE_ORDERED__@@'; export var IS_SEQUENCE_FLAG = '@@__IMMUTABLE_SEQUENCE__@@'; export var IS_STACK_FLAG = '@@__IMMUTABLE_STACK__@@'; export var IS_MAP_FLAG = '@@__IMMUTABLE_MAP__@@'; export var IS_LIST_FLAG = '@@__IMMUTABLE_LIST__@@'; export var CACHE_FLAG = '@@__CACHE__@@'; export function isIterable(maybeIterable) { return !!(maybeIterable && maybeIterable[IS_ITERABLE_FLAG]); } export function isKeyed(maybeKeyed) { return !!(maybeKeyed && maybeKeyed[IS_KEYED_FLAG]); } export function isIndexed(maybeIndexed) { return !!(maybeIndexed && maybeIndexed[IS_INDEXED_FLAG]); } export function isAssociative(maybeAssociative) { return isKeyed(maybeAssociative) || isIndexed(maybeAssociative); } export function isOrdered(maybeOrdered) { return !!(maybeOrdered && maybeOrdered[IS_ORDERED_FLAG]); } export function isSequence(maybeSequence) { return !!(maybeSequence && maybeSequence[IS_SEQUENCE_FLAG]); } export function isStack(maybeStack) { return !!(maybeStack && maybeStack[IS_STACK_FLAG]); } export function isMap(maybeMap) { return !!(maybeMap && maybeMap[IS_MAP_FLAG]); } export function isList(maybeList) { return !!(maybeList && maybeList[IS_LIST_FLAG]); } export function hasCache(maybeHasCache) { return !!(maybeHasCache && maybeHasCache[CACHE_FLAG] && maybeHasCache._cache) }