phaser4-rex-plugins
Version:
478 lines • 14.2 kB
TypeScript
/**
* Copyright(c) Live2D Inc. All rights reserved.
*
* Use of this source code is governed by the Live2D Open Software license
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
*/
import { csmMap } from '../type/csmmap';
import { csmString } from '../type/csmstring';
import { csmVector } from '../type/csmvector';
/**
* パースしたJSONエレメントの要素の基底クラス。
*/
export declare abstract class Value {
/**
* コンストラクタ
*/
constructor();
/**
* 要素を文字列型で返す(csmString型)
*/
abstract getString(defaultValue?: string, indent?: string): string;
/**
* 要素を文字列型で返す(string)
*/
getRawString(defaultValue?: string, indent?: string): string;
/**
* 要素を数値型で返す(number)
*/
toInt(defaultValue?: number): number;
/**
* 要素を数値型で返す(number)
*/
toFloat(defaultValue?: number): number;
/**
* 要素を真偽値で返す(boolean)
*/
toBoolean(defaultValue?: boolean): boolean;
/**
* サイズを返す
*/
getSize(): number;
/**
* 要素を配列で返す(Value[])
*/
getArray(defaultValue?: Value[]): Value[];
/**
* 要素をコンテナで返す(array)
*/
getVector(defaultValue?: csmVector<Value>): csmVector<Value>;
/**
* 要素をマップで返す(csmMap<csmString, Value>)
*/
getMap(defaultValue?: csmMap<string, Value>): csmMap<string, Value>;
/**
* 添字演算子[index]
*/
getValueByIndex(index: number): Value;
/**
* 添字演算子[string | csmString]
*/
getValueByString(s: string | csmString): Value;
/**
* マップのキー一覧をコンテナで返す
*
* @return マップのキーの一覧
*/
getKeys(): csmVector<string>;
/**
* Valueの種類がエラー値ならtrue
*/
isError(): boolean;
/**
* Valueの種類がnullならtrue
*/
isNull(): boolean;
/**
* Valueの種類が真偽値ならtrue
*/
isBool(): boolean;
/**
* Valueの種類が数値型ならtrue
*/
isFloat(): boolean;
/**
* Valueの種類が文字列ならtrue
*/
isString(): boolean;
/**
* Valueの種類が配列ならtrue
*/
isArray(): boolean;
/**
* Valueの種類がマップ型ならtrue
*/
isMap(): boolean;
/**
* 引数の値と等しければtrue
*/
equals(value: csmString): boolean;
equals(value: string): boolean;
equals(value: number): boolean;
equals(value: boolean): boolean;
/**
* Valueの値が静的ならtrue、静的なら解放しない
*/
isStatic(): boolean;
/**
* Valueにエラー値をセットする
*/
setErrorNotForClientCall(errorStr: string): Value;
/**
* 初期化用メソッド
*/
static staticInitializeNotForClientCall(): void;
/**
* リリース用メソッド
*/
static staticReleaseNotForClientCall(): void;
protected _stringBuffer: string;
private static s_dummyKeys;
static errorValue: Value;
static nullValue: Value;
}
/**
* Ascii文字のみ対応した最小限の軽量JSONパーサ。
* 仕様はJSONのサブセットとなる。
* 設定ファイル(model3.json)などのロード用
*
* [未対応項目]
* ・日本語などの非ASCII文字
* ・eによる指数表現
*/
export declare class CubismJson {
/**
* コンストラクタ
*/
constructor(buffer?: ArrayBuffer, length?: number);
/**
* バイトデータから直接ロードしてパースする
*
* @param buffer バッファ
* @param size バッファサイズ
* @return CubismJsonクラスのインスタンス。失敗したらNULL
*/
static create(buffer: ArrayBuffer, size: number): CubismJson;
/**
* パースしたJSONオブジェクトの解放処理
*
* @param instance CubismJsonクラスのインスタンス
*/
static delete(instance: CubismJson): void;
/**
* パースしたJSONのルート要素を返す
*/
getRoot(): Value;
/**
* UnicodeのバイナリをStringに変換
*
* @param buffer 変換するバイナリデータ
* @return 変換後の文字列
*/
arrayBufferToString(buffer: ArrayBuffer): string;
/**
* エンコード、パディング
*/
private pad;
/**
* JSONのパースを実行する
* @param buffer パース対象のデータバイト
* @param size データバイトのサイズ
* return true : 成功
* return false: 失敗
*/
parseBytes(buffer: ArrayBuffer, size: number): boolean;
/**
* パース時のエラー値を返す
*/
getParseError(): string;
/**
* ルート要素の次の要素がファイルの終端だったらtrueを返す
*/
checkEndOfFile(): boolean;
/**
* JSONエレメントからValue(float,String,Value*,Array,null,true,false)をパースする
* エレメントの書式に応じて内部でParseString(), ParseObject(), ParseArray()を呼ぶ
*
* @param buffer JSONエレメントのバッファ
* @param length パースする長さ
* @param begin パースを開始する位置
* @param outEndPos パース終了時の位置
* @return パースから取得したValueオブジェクト
*/
protected parseValue(buffer: string, length: number, begin: number, outEndPos: number[]): Value;
/**
* 次の「"」までの文字列をパースする。
*
* @param string -> パース対象の文字列
* @param length -> パースする長さ
* @param begin -> パースを開始する位置
* @param outEndPos -> パース終了時の位置
* @return パースした文F字列要素
*/
protected parseString(string: string, length: number, begin: number, outEndPos: number[]): string;
/**
* JSONのオブジェクトエレメントをパースしてValueオブジェクトを返す
*
* @param buffer JSONエレメントのバッファ
* @param length パースする長さ
* @param begin パースを開始する位置
* @param outEndPos パース終了時の位置
* @return パースから取得したValueオブジェクト
*/
protected parseObject(buffer: string, length: number, begin: number, outEndPos: number[]): Value;
/**
* 次の「"」までの文字列をパースする。
* @param buffer JSONエレメントのバッファ
* @param length パースする長さ
* @param begin パースを開始する位置
* @param outEndPos パース終了時の位置
* @return パースから取得したValueオブジェクト
*/
protected parseArray(buffer: string, length: number, begin: number, outEndPos: number[]): Value;
_error: string;
_lineCount: number;
_root: Value;
}
/**
* パースしたJSONの要素をfloat値として扱う
*/
export declare class JsonFloat extends Value {
/**
* コンストラクタ
*/
constructor(v: number);
/**
* Valueの種類が数値型ならtrue
*/
isFloat(): boolean;
/**
* 要素を文字列で返す(csmString型)
*/
getString(defaultValue: string, indent: string): string;
/**
* 要素を数値型で返す(number)
*/
toInt(defaultValue?: number): number;
/**
* 要素を数値型で返す(number)
*/
toFloat(defaultValue?: number): number;
/**
* 引数の値と等しければtrue
*/
equals(value: csmString): boolean;
equals(value: string): boolean;
equals(value: number): boolean;
equals(value: boolean): boolean;
private _value;
}
/**
* パースしたJSONの要素を真偽値として扱う
*/
export declare class JsonBoolean extends Value {
/**
* Valueの種類が真偽値ならtrue
*/
isBool(): boolean;
/**
* 要素を真偽値で返す(boolean)
*/
toBoolean(defaultValue?: boolean): boolean;
/**
* 要素を文字列で返す(csmString型)
*/
getString(defaultValue: string, indent: string): string;
/**
* 引数の値と等しければtrue
*/
equals(value: csmString): boolean;
equals(value: string): boolean;
equals(value: number): boolean;
equals(value: boolean): boolean;
/**
* Valueの値が静的ならtrue, 静的なら解放しない
*/
isStatic(): boolean;
/**
* 引数付きコンストラクタ
*/
constructor(v: boolean);
static trueValue: JsonBoolean;
static falseValue: JsonBoolean;
private _boolValue;
}
/**
* パースしたJSONの要素を文字列として扱う
*/
export declare class JsonString extends Value {
/**
* 引数付きコンストラクタ
*/
constructor(s: string);
constructor(s: csmString);
/**
* Valueの種類が文字列ならtrue
*/
isString(): boolean;
/**
* 要素を文字列で返す(csmString型)
*/
getString(defaultValue: string, indent: string): string;
/**
* 引数の値と等しければtrue
*/
equals(value: csmString): boolean;
equals(value: string): boolean;
equals(value: number): boolean;
equals(value: boolean): boolean;
}
/**
* JSONパース時のエラー結果。文字列型のようにふるまう
*/
export declare class JsonError extends JsonString {
/**
* Valueの値が静的ならtrue、静的なら解放しない
*/
isStatic(): boolean;
/**
* エラー情報をセットする
*/
setErrorNotForClientCall(s: string): Value;
/**
* 引数付きコンストラクタ
*/
constructor(s: csmString | string, isStatic: boolean);
/**
* Valueの種類がエラー値ならtrue
*/
isError(): boolean;
protected _isStatic: boolean;
}
/**
* パースしたJSONの要素をNULL値として持つ
*/
export declare class JsonNullvalue extends Value {
/**
* Valueの種類がNULL値ならtrue
*/
isNull(): boolean;
/**
* 要素を文字列で返す(csmString型)
*/
getString(defaultValue: string, indent: string): string;
/**
* Valueの値が静的ならtrue, 静的なら解放しない
*/
isStatic(): boolean;
/**
* Valueにエラー値をセットする
*/
setErrorNotForClientCall(s: string): Value;
/**
* コンストラクタ
*/
constructor();
}
/**
* パースしたJSONの要素を配列として持つ
*/
export declare class JsonArray extends Value {
/**
* コンストラクタ
*/
constructor();
/**
* デストラクタ相当の処理
*/
release(): void;
/**
* Valueの種類が配列ならtrue
*/
isArray(): boolean;
/**
* 添字演算子[index]
*/
getValueByIndex(index: number): Value;
/**
* 添字演算子[string | csmString]
*/
getValueByString(s: string | csmString): Value;
/**
* 要素を文字列で返す(csmString型)
*/
getString(defaultValue: string, indent: string): string;
/**
* 配列要素を追加する
* @param v 追加する要素
*/
add(v: Value): void;
/**
* 要素をコンテナで返す(csmVector<Value>)
*/
getVector(defaultValue?: csmVector<Value>): csmVector<Value>;
/**
* 要素の数を返す
*/
getSize(): number;
private _array;
}
/**
* パースしたJSONの要素をマップとして持つ
*/
export declare class JsonMap extends Value {
/**
* コンストラクタ
*/
constructor();
/**
* デストラクタ相当の処理
*/
release(): void;
/**
* Valueの値がMap型ならtrue
*/
isMap(): boolean;
/**
* 添字演算子[string | csmString]
*/
getValueByString(s: string | csmString): Value;
/**
* 添字演算子[index]
*/
getValueByIndex(index: number): Value;
/**
* 要素を文字列で返す(csmString型)
*/
getString(defaultValue: string, indent: string): string;
/**
* 要素をMap型で返す
*/
getMap(defaultValue?: csmMap<string, Value>): csmMap<string, Value>;
/**
* Mapに要素を追加する
*/
put(key: string, v: Value): void;
/**
* Mapからキーのリストを取得する
*/
getKeys(): csmVector<string>;
/**
* Mapの要素数を取得する
*/
getSize(): number;
private _map;
private _keys;
}
import * as $ from './cubismjson';
export declare namespace Live2DCubismFramework {
const CubismJson: typeof $.CubismJson;
type CubismJson = $.CubismJson;
const JsonArray: typeof $.JsonArray;
type JsonArray = $.JsonArray;
const JsonBoolean: typeof $.JsonBoolean;
type JsonBoolean = $.JsonBoolean;
const JsonError: typeof $.JsonError;
type JsonError = $.JsonError;
const JsonFloat: typeof $.JsonFloat;
type JsonFloat = $.JsonFloat;
const JsonMap: typeof $.JsonMap;
type JsonMap = $.JsonMap;
const JsonNullvalue: typeof $.JsonNullvalue;
type JsonNullvalue = $.JsonNullvalue;
const JsonString: typeof $.JsonString;
type JsonString = $.JsonString;
const Value: typeof $.Value;
type Value = $.Value;
}
//# sourceMappingURL=cubismjson.d.ts.map