text: // mojo/public/interfaces/bindings/tests/serialization_test_structs.mojom-lite.js is auto generated by mojom_bindings_generator.py, do not edit
  
  // Copyright 2018 The Chromium Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  'use strict';
  
  
  mojo.internal.exportModule('mojo.test');
  
  
  
  
  
  
  
  /**
   * @const { {$:!mojo.internal.MojomType}}
   * @export
   */
  mojo.test.Struct1Spec =
      { $: /** @type {!mojo.internal.MojomType} */ ({}) };
  
  
  /**
   * @const { {$:!mojo.internal.MojomType}}
   * @export
   */
  mojo.test.Struct2Spec =
      { $: /** @type {!mojo.internal.MojomType} */ ({}) };
  
  
  /**
   * @const { {$:!mojo.internal.MojomType}}
   * @export
   */
  mojo.test.Struct3Spec =
      { $: /** @type {!mojo.internal.MojomType} */ ({}) };
  
  
  /**
   * @const { {$:!mojo.internal.MojomType}}
   * @export
   */
  mojo.test.Struct4Spec =
      { $: /** @type {!mojo.internal.MojomType} */ ({}) };
  
  
  /**
   * @const { {$:!mojo.internal.MojomType}}
   * @export
   */
  mojo.test.Struct5Spec =
      { $: /** @type {!mojo.internal.MojomType} */ ({}) };
  
  
  /**
   * @const { {$:!mojo.internal.MojomType}}
   * @export
   */
  mojo.test.Struct6Spec =
      { $: /** @type {!mojo.internal.MojomType} */ ({}) };
  
  
  /**
   * @const { {$:!mojo.internal.MojomType}}
   * @export
   */
  mojo.test.StructOfNullablesSpec =
      { $: /** @type {!mojo.internal.MojomType} */ ({}) };
  
  
  
  
  mojo.internal.Struct(
      mojo.test.Struct1Spec.$,
      'Struct1',
      [
        mojo.internal.StructField(
          'i', 0,
          0,
          mojo.internal.Uint8,
          0,
          false /* nullable */),
      ],
      [[0, 16],]);
  
  
  
  
  
  /** @record */
  mojo.test.Struct1 = class {
    constructor() {
      /** @export { !number } */
      this.i;
    }
  };
  
  
  
  
  mojo.internal.Struct(
      mojo.test.Struct2Spec.$,
      'Struct2',
      [
        mojo.internal.StructField(
          'hdl', 0,
          0,
          mojo.internal.Handle,
          null,
          false /* nullable */),
      ],
      [[0, 16],]);
  
  
  
  
  
  /** @record */
  mojo.test.Struct2 = class {
    constructor() {
      /** @export { !MojoHandle } */
      this.hdl;
    }
  };
  
  
  
  
  mojo.internal.Struct(
      mojo.test.Struct3Spec.$,
      'Struct3',
      [
        mojo.internal.StructField(
          'struct1', 0,
          0,
          mojo.test.Struct1Spec.$,
          null,
          false /* nullable */),
      ],
      [[0, 16],]);
  
  
  
  
  
  /** @record */
  mojo.test.Struct3 = class {
    constructor() {
      /** @export { !mojo.test.Struct1 } */
      this.struct1;
    }
  };
  
  
  
  
  mojo.internal.Struct(
      mojo.test.Struct4Spec.$,
      'Struct4',
      [
        mojo.internal.StructField(
          'data', 0,
          0,
          mojo.internal.Array(mojo.test.Struct1Spec.$, false),
          null,
          false /* nullable */),
      ],
      [[0, 16],]);
  
  
  
  
  
  /** @record */
  mojo.test.Struct4 = class {
    constructor() {
      /** @export { !Array<!mojo.test.Struct1> } */
      this.data;
    }
  };
  
  
  
  
  mojo.internal.Struct(
      mojo.test.Struct5Spec.$,
      'Struct5',
      [
        mojo.internal.StructField(
          'pair', 0,
          0,
          mojo.internal.Array(mojo.test.Struct1Spec.$, false),
          null,
          false /* nullable */),
      ],
      [[0, 16],]);
  
  
  
  
  
  /** @record */
  mojo.test.Struct5 = class {
    constructor() {
      /** @export { !Array<!mojo.test.Struct1> } */
      this.pair;
    }
  };
  
  
  
  
  mojo.internal.Struct(
      mojo.test.Struct6Spec.$,
      'Struct6',
      [
        mojo.internal.StructField(
          'str', 0,
          0,
          mojo.internal.String,
          null,
          false /* nullable */),
      ],
      [[0, 16],]);
  
  
  
  
  
  /** @record */
  mojo.test.Struct6 = class {
    constructor() {
      /** @export { !string } */
      this.str;
    }
  };
  
  
  
  
  mojo.internal.Struct(
      mojo.test.StructOfNullablesSpec.$,
      'StructOfNullables',
      [
        mojo.internal.StructField(
          'hdl', 0,
          0,
          mojo.internal.Handle,
          null,
          true /* nullable */),
        mojo.internal.StructField(
          'struct1', 8,
          0,
          mojo.test.Struct1Spec.$,
          null,
          true /* nullable */),
        mojo.internal.StructField(
          'str', 16,
          0,
          mojo.internal.String,
          null,
          true /* nullable */),
      ],
      [[0, 32],]);
  
  
  
  
  
  /** @record */
  mojo.test.StructOfNullables = class {
    constructor() {
      /** @export { (MojoHandle|undefined) } */
      this.hdl;
      /** @export { (mojo.test.Struct1|undefined) } */
      this.struct1;
      /** @export { (string|undefined) } */
      this.str;
    }
  };
  
  
  