# BSON::Code - phpMan

## 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-j>
    son.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

