Devel-Optic

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

   "name" : "Devel-Optic",
   "prereqs" : {
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "PadWalker" : "2.3",
            "Ref::Util" : "0.204",
            "Scalar::Util" : "0",
            "Sub::Info" : "0.002",
            "perl" : "5.010"
         }
      },
      "test" : {
         "requires" : {
            "Test2::Plugin::NoWarnings" : "0.08",
            "Test2::V0" : "0.000100"
         }

META.yml  view on Meta::CPAN

    file: lib/Devel/Optic/Lens/Perlish/Constants.pm
    version: '0.015'
  Devel::Optic::Lens::Perlish::Interpreter:
    file: lib/Devel/Optic/Lens/Perlish/Interpreter.pm
    version: '0.015'
  Devel::Optic::Lens::Perlish::Parser:
    file: lib/Devel/Optic/Lens/Perlish/Parser.pm
    version: '0.015'
requires:
  PadWalker: '2.3'
  Ref::Util: '0.204'
  Scalar::Util: '0'
  Sub::Info: '0.002'
  perl: '5.010'
resources:
  bugtracker: https://github.com/kanatohodets/Devel-Optic/issues
  homepage: https://github.com/kanatohodets/Devel-Optic
  repository: https://github.com/kanatohodets/Devel-Optic.git
version: '0.015'
x_generated_by_perl: v5.28.1
x_serialization_backend: 'YAML::Tiny version 1.73'

Makefile.PL  view on Meta::CPAN

  "AUTHOR" => "Ben Tyler <btyler\@cpan.org>",
  "CONFIGURE_REQUIRES" => {
    "ExtUtils::MakeMaker" => 0
  },
  "DISTNAME" => "Devel-Optic",
  "LICENSE" => "perl",
  "MIN_PERL_VERSION" => "5.010",
  "NAME" => "Devel::Optic",
  "PREREQ_PM" => {
    "PadWalker" => "2.3",
    "Ref::Util" => "0.204",
    "Scalar::Util" => 0,
    "Sub::Info" => "0.002"
  },
  "TEST_REQUIRES" => {
    "Test2::Plugin::NoWarnings" => "0.08",
    "Test2::V0" => "0.000100"
  },
  "VERSION" => "0.015",
  "test" => {
    "TESTS" => "t/*.t t/lens-perlish/*.t"
  }
);


my %FallbackPrereqs = (
  "PadWalker" => "2.3",
  "Ref::Util" => "0.204",
  "Scalar::Util" => 0,
  "Sub::Info" => "0.002",
  "Test2::Plugin::NoWarnings" => "0.08",
  "Test2::V0" => "0.000100"
);


unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
  delete $WriteMakefileArgs{TEST_REQUIRES};
  delete $WriteMakefileArgs{BUILD_REQUIRES};

dist.ini  view on Meta::CPAN

name    = Devel-Optic
author  = Ben Tyler <btyler@cpan.org>
license = Perl_5
copyright_holder = Ben Tyler
copyright_year   = 2019

[Prereqs]
perl = 5.010
PadWalker = 2.3
Ref::Util = 0.204
Scalar::Util = 0
Sub::Info = 0.002

[Prereqs / TestRequires]
Test2::V0 = 0.000100
Test2::Plugin::NoWarnings = 0.08

[PkgVersion]
[GithubMeta]
issues = 1

lib/Devel/Optic.pm  view on Meta::CPAN

package Devel::Optic;
$Devel::Optic::VERSION = '0.015';
# ABSTRACT: Production safe data inspector

use strict;
use warnings;

use Carp qw(croak);
use Scalar::Util qw(looks_like_number);
use Ref::Util qw(is_ref is_arrayref is_hashref is_scalarref is_coderef is_regexpref);

use Sub::Info qw(sub_info);

use PadWalker qw(peek_my);

use Devel::Optic::Lens::Perlish;

use constant {
    DEFAULT_SCALAR_TRUNCATION_SIZE => 256,
    DEFAULT_SCALAR_SAMPLE_SIZE => 64,

lib/Devel/Optic/Lens/Perlish/Interpreter.pm  view on Meta::CPAN


use Exporter qw(import);
our @EXPORT_OK = qw(run);

use Carp qw(croak);
our @CARP_NOT = qw(Devel::Optic::Lens::Perlish Devel::Optic);

use Devel::Optic::Lens::Perlish::Constants qw(:all);

use Scalar::Util qw(looks_like_number);
use Ref::Util qw(is_arrayref is_hashref is_refref is_scalarref is_ref);

sub run {
    my ($scope, $ast) = @_;
    my ($type, $payload) = @$ast;
    if ($type eq OP_ACCESS) {
        return _access($scope, undef, $ast, $payload);
    }

    if ($type eq SYMBOL) {
        return _symbol($scope, $payload);



( run in 0.317 second using v1.01-cache-2.11-cpan-4d50c553e7e )