Some checks failed
morphit-release / Build + publish release tarball (push) Has been cancelled
73 lines
3.8 KiB
TypeScript
73 lines
3.8 KiB
TypeScript
/**
|
|
* @file Blurt protocol serialization.
|
|
* @author Johan Nordberg <code@johan-nordberg.com>
|
|
* @license
|
|
* Copyright (c) 2017 Johan Nordberg. All Rights Reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without modification,
|
|
* are permitted provided that the following conditions are met:
|
|
*
|
|
* 1. Redistribution of source code must retain the above copyright notice, this
|
|
* list of conditions and the following disclaimer.
|
|
*
|
|
* 2. Redistribution in binary form must reproduce the above copyright notice,
|
|
* this list of conditions and the following disclaimer in the documentation
|
|
* and/or other materials provided with the distribution.
|
|
*
|
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
* may be used to endorse or promote products derived from this software without
|
|
* specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
|
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
* You acknowledge that this software is not designed, licensed or intended for use
|
|
* in the design, construction, operation or maintenance of any military facility.
|
|
*/
|
|
import * as ByteBuffer from 'bytebuffer';
|
|
import { PublicKey } from '../crypto';
|
|
import { Asset } from './asset';
|
|
import { HexBuffer } from './misc';
|
|
export type Serializer = (buffer: ByteBuffer, data: any) => void;
|
|
export declare const Types: {
|
|
Array: (itemSerializer: Serializer) => (buffer: ByteBuffer, data: any[]) => void;
|
|
Asset: (buffer: ByteBuffer, data: Asset | string | number) => void;
|
|
Authority: (buffer: ByteBuffer, data: {
|
|
[key: string]: any;
|
|
}) => void;
|
|
Binary: (size?: number) => (buffer: ByteBuffer, data: Buffer | HexBuffer) => void;
|
|
Boolean: (buffer: ByteBuffer, data: boolean) => void;
|
|
Date: (buffer: ByteBuffer, data: string) => void;
|
|
FlatMap: (keySerializer: Serializer, valueSerializer: Serializer) => (buffer: ByteBuffer, data: [any, any][]) => void;
|
|
Int16: (buffer: ByteBuffer, data: number) => void;
|
|
Int32: (buffer: ByteBuffer, data: number) => void;
|
|
Int64: (buffer: ByteBuffer, data: number) => void;
|
|
Int8: (buffer: ByteBuffer, data: number) => void;
|
|
Memo: (buffer: ByteBuffer, data: {
|
|
[key: string]: any;
|
|
}) => void;
|
|
Object: (keySerializers: [string, Serializer][]) => (buffer: ByteBuffer, data: {
|
|
[key: string]: any;
|
|
}) => void;
|
|
Operation: (buffer: ByteBuffer, operation: any) => void;
|
|
Optional: (valueSerializer: Serializer) => (buffer: ByteBuffer, data: any) => void;
|
|
PublicKey: (buffer: ByteBuffer, data: PublicKey | string | null) => void;
|
|
StaticVariant: (itemSerializers: Serializer[]) => (buffer: ByteBuffer, data: [number, any]) => void;
|
|
String: (buffer: ByteBuffer, data: string) => void;
|
|
Transaction: (buffer: ByteBuffer, data: {
|
|
[key: string]: any;
|
|
}) => void;
|
|
UInt16: (buffer: ByteBuffer, data: number) => void;
|
|
UInt32: (buffer: ByteBuffer, data: number) => void;
|
|
UInt64: (buffer: ByteBuffer, data: number) => void;
|
|
UInt8: (buffer: ByteBuffer, data: number) => void;
|
|
Void: (buffer: ByteBuffer) => void;
|
|
};
|