---
name: "BSON::Code"
section: "3pm"
platform: "linux"
package: "libbson-perl"
version: "1.12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/BSON::Code"
---

# BSON::Code(3pm)

BSON type wrapper for Javascript code

## NAME

BSON::Code - BSON type wrapper for Javascript code

## VERSION

version v1.12.2

## SYNOPSIS

```
    use BSON::Types ':all';
    $code = bson_code( $javascript );
    $code = bson_code( $javascript, $scope );
```

## DESCRIPTION

This module provides a BSON type wrapper for the "Javascript code" type  and the "Javascript with Scope" BSON types.

## ATTRIBUTES

### code

A string containing Javascript code. Defaults to the empty string.

### scope

An optional hash reference containing variables in the scope of `"code"`. Defaults to `"undef"`.

## METHODS

### length

Returns the length of the `"code"` attribute.

### TO\_JSON

If the `"BSON_EXTJSON"` option is true, returns a hashref compatible with MongoDB's extended JSON \<https://github.com/mongodb/specifications/blob/master/source/extended-json.rst\> format, which represents it as a document as follows:

```
    {"$code" : "<code>"}
    {"$code" : "<code>", "$scope" : { ... } }
```

If the `"BSON_EXTJSON"` option is false, an error is thrown, as this value can't otherwise be represented in JSON.

## AUTHORS

- •

  David Golden \<david@mongodb.com\>

- •

  Stefan G. \<minimalist@lavabit.com\>

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2020 by Stefan G. and MongoDB, Inc.

This is free software, licensed under:

```
  The Apache License, Version 2.0, January 2004
```
