Pinq\Analysis\TypeData\PinqAPI::types PHP Method

types() public method

public types ( )
    public function types()
    {
        $traversableInterfaceGroups = [Pinq\ITraversable::ITRAVERSABLE_TYPE => ['ordered' => Interfaces\IOrderedTraversable::IORDERED_TRAVERSABLE_TYPE, 'joining-on' => Interfaces\IJoiningOnTraversable::IJOINING_ON_TRAVERSABLE_TYPE, 'joining-to' => Interfaces\IJoiningToTraversable::IJOINING_TO_TRAVERSABLE_TYPE], Pinq\ICollection::ICOLLECTION_TYPE => ['mutable' => true, 'ordered' => Interfaces\IOrderedCollection::IORDERED_COLLECTION_TYPE, 'joining-on' => Interfaces\IJoiningOnCollection::IJOINING_ON_COLLECTION_TYPE, 'joining-to' => Interfaces\IJoiningToCollection::IJOINING_TO_COLLECTION_TYPE], Pinq\IQueryable::IQUERYABLE_TYPE => ['ordered' => Interfaces\IOrderedQueryable::IORDERED_QUERYABLE_TYPE, 'joining-on' => Interfaces\IJoiningOnQueryable::IJOINING_ON_QUERYABLE_TYPE, 'joining-to' => Interfaces\IJoiningToQueryable::IJOINING_TO_QUERYABLE_TYPE], Pinq\IRepository::IREPOSITORY_TYPE => ['mutable' => true, 'ordered' => Interfaces\IOrderedRepository::IORDERED_REPOSITORY_TYPE, 'joining-on' => Interfaces\IJoiningOnRepository::IJOINING_ON_REPOSITORY_TYPE, 'joining-to' => Interfaces\IJoiningToRepository::IJOINING_TO_REPOSITORY_TYPE]];
        $pinqTypes = [];
        foreach ($traversableInterfaceGroups as $traversableInterface => $traversableGroup) {
            $pinqTypes += $this->generatePinqTypeData($traversableInterface, $traversableGroup['ordered'], $traversableGroup['joining-on'], $traversableGroup['joining-to'], !empty($traversableGroup['mutable']));
        }
        return $pinqTypes;
    }