File Coverage

blib/lib/BSON/XS.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 28 28 100.0


line stmt bran cond sub pod time code
1             #
2             # Copyright 2016 MongoDB, Inc.
3             #
4             # Licensed under the Apache License, Version 2.0 (the "License");
5             # you may not use this file except in compliance with the License.
6             # You may obtain a copy of the License at
7             #
8             # http://www.apache.org/licenses/LICENSE-2.0
9             #
10             # Unless required by applicable law or agreed to in writing, software
11             # distributed under the License is distributed on an "AS IS" BASIS,
12             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13             # See the License for the specific language governing permissions and
14             # limitations under the License.
15              
16 58     58   9460898 use 5.010001;
  58         526  
17 58     58   336 use strict;
  58         100  
  58         1329  
18 58     58   292 use warnings;
  58         86  
  58         2389  
19              
20             package BSON::XS;
21             # ABSTRACT: XS implementation of MongoDB's BSON serialization (EOL)
22              
23 58     58   314 use version;
  58         105  
  58         348  
24             our $VERSION = 'v0.8.4';
25              
26             # cached for efficiency during decoding
27             # XXX eventually move this into XS
28 58     58   4950 use boolean;
  58         113  
  58         452  
29             our $_boolean_true = true;
30             our $_boolean_false = false;
31              
32 58     58   5390 use XSLoader;
  58         121  
  58         7348  
33             XSLoader::load( "BSON::XS", $VERSION );
34              
35             # For errors
36             sub _printable {
37 1     1   6446 my $value = shift;
38 1         6 $value =~ s/([^[:print:]])/sprintf("\\x%02x",ord($1))/ge;
  1         7  
39 1         8 return $value;
40             }
41              
42             1;
43              
44             =pod
45              
46             =encoding UTF-8
47              
48             =head1 NAME
49              
50             BSON::XS - XS implementation of MongoDB's BSON serialization (EOL)
51              
52             =head1 VERSION
53              
54             version v0.8.4
55              
56             =head1 END OF LIFE NOTICE
57              
58             Version v0.8.0 was the final feature release of the MongoDB BSON::XS
59             library and v0.8.4 is the final patch release.
60              
61             B
62             reached end of life and are no longer supported by MongoDB.> See the
63             L
64             notice|https://www.mongodb.com/blog/post/the-mongodb-perl-driver-is-being-deprecated>
65             for rationale.
66              
67             If members of the community wish to continue development, they are welcome
68             to fork the code under the terms of the Apache 2 license and release it
69             under a new namespace. Specifications and test files for MongoDB drivers
70             and libraries are published in an open repository:
71             L.
72              
73             =head1 DESCRIPTION
74              
75             This module contains an XS implementation for BSON encoding and
76             decoding. There is no public API. Use the L module and it will
77             choose the best implementation for you.
78              
79             =head1 AUTHOR
80              
81             David Golden
82              
83             =head1 CONTRIBUTOR
84              
85             =for stopwords Paul "LeoNerd" Evans
86              
87             Paul "LeoNerd" Evans
88              
89             =head1 COPYRIGHT AND LICENSE
90              
91             This software is Copyright (c) 2020 by MongoDB, Inc.
92              
93             This is free software, licensed under:
94              
95             The Apache License, Version 2.0, January 2004
96              
97             =cut
98              
99             __END__