keytops-game-framework 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +214 -0
  2. package/dist/app/base/RuntimeApplicationImpl.d.ts +22 -0
  3. package/dist/app/base/base.d.ts +113 -0
  4. package/dist/app/base/event/Event.d.ts +12 -0
  5. package/dist/app/base/event/EventDispatcher.d.ts +66 -0
  6. package/dist/app/base/pool/IRecoverable.d.ts +13 -0
  7. package/dist/app/base/pool/Pool.d.ts +45 -0
  8. package/dist/app/base/utils/Handler.d.ts +69 -0
  9. package/dist/app/base/utils/Injector.d.ts +19 -0
  10. package/dist/app/base/utils/Json.d.ts +14 -0
  11. package/dist/app/base/utils/MathUtils.d.ts +74 -0
  12. package/dist/app/base/utils/NativeUtils.d.ts +4 -0
  13. package/dist/app/base/utils/PromiseUtils.d.ts +20 -0
  14. package/dist/app/base/utils/StringUtils.d.ts +66 -0
  15. package/dist/app/module/abTesting/ABTesting.d.ts +41 -0
  16. package/dist/app/module/analytics/ALiAnalyticsSender.d.ts +59 -0
  17. package/dist/app/module/analytics/AnalyticsAble.d.ts +191 -0
  18. package/dist/app/module/analytics/AnalyticsAbleConst.d.ts +20 -0
  19. package/dist/app/module/analytics/BaseDimension.d.ts +19 -0
  20. package/dist/app/module/analytics/KeytopsAnalyticsSender.d.ts +67 -0
  21. package/dist/app/module/analytics/ad/ADAnalyticsAble.d.ts +19 -0
  22. package/dist/app/module/analytics/ad/ADBehaviorReporter.d.ts +90 -0
  23. package/dist/app/module/analytics/ad/AdDimension.d.ts +34 -0
  24. package/dist/app/module/analytics/index.d.ts +65 -0
  25. package/dist/app/module/analytics/launch/LaunchAnalyticsAble.d.ts +11 -0
  26. package/dist/app/module/analytics/level/GameDimension.d.ts +39 -0
  27. package/dist/app/module/analytics/level/LevelAnalyticsAble.d.ts +86 -0
  28. package/dist/app/module/analytics/level/LevelBehaviorReporter.d.ts +29 -0
  29. package/dist/app/module/analytics/level/LevelStatsDimension.d.ts +70 -0
  30. package/dist/app/module/analytics/level/PlayerAbilityDimension.d.ts +147 -0
  31. package/dist/app/module/analytics/session/SessionAnalyticsAble.d.ts +9 -0
  32. package/dist/app/module/analytics/session/SessionDimension.d.ts +48 -0
  33. package/dist/app/module/analytics/social/SocialAnalyticsAble.d.ts +14 -0
  34. package/dist/app/module/analytics/social/SocialDimension.d.ts +14 -0
  35. package/dist/app/module/bidding/Bidding.d.ts +37 -0
  36. package/dist/app/module/business/BusinessCenter.d.ts +33 -0
  37. package/dist/app/module/business/IBusiness.d.ts +6 -0
  38. package/dist/app/module/business/RewardVideoMaskBusiness.d.ts +18 -0
  39. package/dist/app/module/config/ConfigHelper.d.ts +142 -0
  40. package/dist/app/module/ecs/Component.d.ts +125 -0
  41. package/dist/app/module/ecs/ECS.d.ts +162 -0
  42. package/dist/app/module/ecs/ECSManager.d.ts +56 -0
  43. package/dist/app/module/ecs/Entity.d.ts +1 -0
  44. package/dist/app/module/ecs/Mask.d.ts +12 -0
  45. package/dist/app/module/ecs/System.d.ts +54 -0
  46. package/dist/app/module/fsm/Fsm.d.ts +44 -0
  47. package/dist/app/module/fsm/FsmBase.d.ts +28 -0
  48. package/dist/app/module/fsm/FsmManager.d.ts +67 -0
  49. package/dist/app/module/fsm/IFsm.d.ts +67 -0
  50. package/dist/app/module/fsm/IFsmState.d.ts +38 -0
  51. package/dist/app/module/logger/Logger.d.ts +58 -0
  52. package/dist/app/module/native/INativeHelper.d.ts +6 -0
  53. package/dist/app/module/native/NativeHelper.d.ts +10 -0
  54. package/dist/app/module/net/NetInterface.d.ts +22 -0
  55. package/dist/app/module/net/NetManager.d.ts +24 -0
  56. package/dist/app/module/net/byte/ByteView.d.ts +391 -0
  57. package/dist/app/module/net/http/HttpNode.d.ts +104 -0
  58. package/dist/app/module/net/http/HttpRequest.d.ts +104 -0
  59. package/dist/app/module/net/server/IServer.d.ts +20 -0
  60. package/dist/app/module/net/server/LevelOnlineConfig.d.ts +9 -0
  61. package/dist/app/module/net/server/Server.d.ts +105 -0
  62. package/dist/app/module/net/server/SystemOnlineConfig.d.ts +34 -0
  63. package/dist/app/module/net/socket/BaseProtocolHelper.d.ts +31 -0
  64. package/dist/app/module/net/socket/Socket.d.ts +145 -0
  65. package/dist/app/module/net/socket/SocketNode.d.ts +63 -0
  66. package/dist/app/module/publisher/IADAble.d.ts +46 -0
  67. package/dist/app/module/publisher/IAble.d.ts +6 -0
  68. package/dist/app/module/publisher/IDevice.d.ts +42 -0
  69. package/dist/app/module/publisher/IGameUpdateAble.d.ts +21 -0
  70. package/dist/app/module/publisher/ILoginAble.d.ts +38 -0
  71. package/dist/app/module/publisher/IPayAble.d.ts +11 -0
  72. package/dist/app/module/publisher/IPublisher.d.ts +154 -0
  73. package/dist/app/module/publisher/IPublisherManager.d.ts +69 -0
  74. package/dist/app/module/publisher/IRecordAble.d.ts +16 -0
  75. package/dist/app/module/publisher/IShareAble.d.ts +39 -0
  76. package/dist/app/module/publisher/PublisherManager.d.ts +106 -0
  77. package/dist/app/module/publisher/PublisherManagerImpl.d.ts +24 -0
  78. package/dist/app/module/publisher/ks/KSAd.d.ts +7 -0
  79. package/dist/app/module/publisher/ks/KSDevice.d.ts +8 -0
  80. package/dist/app/module/publisher/ks/KSLogin.d.ts +7 -0
  81. package/dist/app/module/publisher/ks/KSPublisher.d.ts +34 -0
  82. package/dist/app/module/publisher/ks/KSRecorder.d.ts +13 -0
  83. package/dist/app/module/publisher/ks/KSShare.d.ts +32 -0
  84. package/dist/app/module/publisher/my/MYAd.d.ts +13 -0
  85. package/dist/app/module/publisher/my/MYDevice.d.ts +7 -0
  86. package/dist/app/module/publisher/my/MYLogin.d.ts +6 -0
  87. package/dist/app/module/publisher/my/MYPublisher.d.ts +6 -0
  88. package/dist/app/module/publisher/native/NativeAd.d.ts +22 -0
  89. package/dist/app/module/publisher/native/NativeAnalyticsSender.d.ts +9 -0
  90. package/dist/app/module/publisher/native/NativeDevice.d.ts +6 -0
  91. package/dist/app/module/publisher/native/NativeLogin.d.ts +27 -0
  92. package/dist/app/module/publisher/native/NativePay.d.ts +6 -0
  93. package/dist/app/module/publisher/native/NativePublisher.d.ts +21 -0
  94. package/dist/app/module/publisher/native/NativeRecord.d.ts +10 -0
  95. package/dist/app/module/publisher/native/NativeShare.d.ts +23 -0
  96. package/dist/app/module/publisher/tk/TKAd.d.ts +14 -0
  97. package/dist/app/module/publisher/tk/TKAnalyticsSender.d.ts +7 -0
  98. package/dist/app/module/publisher/tk/TKDevice.d.ts +9 -0
  99. package/dist/app/module/publisher/tk/TKLogin.d.ts +5 -0
  100. package/dist/app/module/publisher/tk/TKPublisher.d.ts +34 -0
  101. package/dist/app/module/publisher/tt/TTAd.d.ts +14 -0
  102. package/dist/app/module/publisher/tt/TTAnalyticsSender.d.ts +7 -0
  103. package/dist/app/module/publisher/tt/TTDevice.d.ts +9 -0
  104. package/dist/app/module/publisher/tt/TTLogin.d.ts +6 -0
  105. package/dist/app/module/publisher/tt/TTPay.d.ts +4 -0
  106. package/dist/app/module/publisher/tt/TTPublisher.d.ts +34 -0
  107. package/dist/app/module/publisher/tt/TTRecorder.d.ts +11 -0
  108. package/dist/app/module/publisher/tt/TTShare.d.ts +50 -0
  109. package/dist/app/module/publisher/tt/TTUpdateGameAble.d.ts +7 -0
  110. package/dist/app/module/publisher/wx/WXAd.d.ts +14 -0
  111. package/dist/app/module/publisher/wx/WXAnalyticsSender.d.ts +7 -0
  112. package/dist/app/module/publisher/wx/WXDevice.d.ts +8 -0
  113. package/dist/app/module/publisher/wx/WXLogin.d.ts +9 -0
  114. package/dist/app/module/publisher/wx/WXPay.d.ts +4 -0
  115. package/dist/app/module/publisher/wx/WXPublisher.d.ts +33 -0
  116. package/dist/app/module/publisher/wx/WXShare.d.ts +56 -0
  117. package/dist/app/module/publisher/wx/WXUpdateGameAble.d.ts +7 -0
  118. package/dist/app/module/storage/Storage.d.ts +123 -0
  119. package/dist/app/module/storage/StorageImpl.d.ts +13 -0
  120. package/dist/app/module/structure/Dictionary.d.ts +48 -0
  121. package/dist/app/module/structure/Link.d.ts +149 -0
  122. package/dist/app/module/structure/List.d.ts +93 -0
  123. package/dist/app/module/task/Task.d.ts +33 -0
  124. package/dist/app/module/task/TaskQueue.d.ts +17 -0
  125. package/dist/app/module/task/TaskSequence.d.ts +19 -0
  126. package/dist/app/module/timer/ITimer.d.ts +4 -0
  127. package/dist/app/module/timer/Timer.d.ts +133 -0
  128. package/dist/app/module/timer/TimerImpl.d.ts +10 -0
  129. package/dist/app/module/utils/md5.d.ts +3 -0
  130. package/dist/app/module/view/IView.d.ts +94 -0
  131. package/dist/app/module/view/IViewLoader.d.ts +48 -0
  132. package/dist/app/module/view/ViewManager.d.ts +242 -0
  133. package/dist/audio/AudioManager.d.ts +146 -0
  134. package/dist/business/AudioBusiness.d.ts +11 -0
  135. package/dist/cocos.d.ts +1 -0
  136. package/dist/index.d.ts +146 -0
  137. package/dist/index.js +14981 -0
  138. package/dist/native/CocosNativeHelper.d.ts +12 -0
  139. package/dist/resource/ResourceManager.d.ts +187 -0
  140. package/dist/utils/Async.d.ts +28 -0
  141. package/dist/utils/CocosStorageUtils.d.ts +10 -0
  142. package/dist/utils/GeometryUtils.d.ts +31 -0
  143. package/dist/view/CCPViewLoader.d.ts +95 -0
  144. package/dist/view/CCSceneLoader.d.ts +25 -0
  145. package/dist/view/CocosViewManager.d.ts +12 -0
  146. package/dist/view/Scene.d.ts +35 -0
  147. package/dist/view/View.d.ts +151 -0
  148. package/dist/view/ViewControl.d.ts +106 -0
  149. package/dist/view/tips/TipsView.d.ts +12 -0
  150. package/dist/vitest.config.d.ts +2 -0
  151. package/package.json +33 -0
@@ -0,0 +1,67 @@
1
+ import { IFsmState } from "./IFsmState";
2
+ /**
3
+ * 有限状态机接口
4
+ * @type 有限状态机持有者类型
5
+ */
6
+ export interface IFsm<OwnerT, DataT> {
7
+ /**
8
+ * 有限状态机名称
9
+ */
10
+ readonly name: string;
11
+ /**
12
+ * 有限状态机完整全名
13
+ */
14
+ readonly fullName: string;
15
+ /**
16
+ * 有限状态机持有者
17
+ */
18
+ readonly owner: OwnerT | null;
19
+ /**
20
+ * 有限状态机中所有状态数量
21
+ */
22
+ readonly fmsStateCount: number;
23
+ /**
24
+ * 有限状态机是否正在运行
25
+ */
26
+ readonly isRunning: boolean;
27
+ /**
28
+ * 有限状态机是否被销毁
29
+ */
30
+ readonly isDestroyed: boolean;
31
+ /**
32
+ * 获取有限状态机的当前状态
33
+ */
34
+ readonly currentState: IFsmState<OwnerT, DataT> | null;
35
+ /**
36
+ * 获取有限状态机当前状态持续的时间
37
+ */
38
+ readonly currentStateTime: number;
39
+ /**
40
+ * 获取数据
41
+ */
42
+ readonly data: DataT;
43
+ /**
44
+ * 开始有限状态机
45
+ * @param stateName 状态名称
46
+ */
47
+ start(stateName: string): void;
48
+ /**
49
+ * 是否存在有限状态机状态
50
+ * @param stateName 状态名称
51
+ */
52
+ hasState(stateName: string): boolean;
53
+ /**
54
+ * 获取有限状态机状态
55
+ * @param stateName 状态名称
56
+ */
57
+ getState<T extends IFsmState<OwnerT, DataT>>(stateName: string): T | undefined;
58
+ /**
59
+ * 获取有限状态机的所有状态
60
+ */
61
+ getAllStates(): IFsmState<OwnerT, DataT>[];
62
+ /**
63
+ * 切换当前有限状态机状态
64
+ * @param stateClass
65
+ */
66
+ changeState(stateName: string): void;
67
+ }
@@ -0,0 +1,38 @@
1
+ import { IFsm } from "./IFsm";
2
+ /**
3
+ * 有限状态机状态基类
4
+ * @type 有限状态机持有者类型
5
+ */
6
+ export interface IFsmState<OwnerT, DataT> {
7
+ /**
8
+ * 状态名称
9
+ */
10
+ readonly name: string;
11
+ /**
12
+ * 有限状态机初始化时调用
13
+ * @param fsm 有限状态机引用
14
+ */
15
+ onInit?(fsm: IFsm<OwnerT, DataT>): void;
16
+ /**
17
+ * 有限状态机进入时调用
18
+ * @param fsm 有限状态机引用
19
+ */
20
+ onEnter(fsm: IFsm<OwnerT, DataT>): void;
21
+ /**
22
+ * 有限状态机状态轮询时调用
23
+ * @param fsm 有限状态机引用
24
+ * @param elapseSceonds 流逝秒数
25
+ */
26
+ onUpdate?(fsm: IFsm<OwnerT, DataT>, elapseSceonds: number): void;
27
+ /**
28
+ * 有限状态机状态离开时调用
29
+ * @param fsm 有限状态机引用
30
+ * @param isShutdonw 是否是关闭有限状态机时触发。
31
+ */
32
+ onLeave?(fsm: IFsm<OwnerT, DataT>, isShutdonw: boolean): void;
33
+ /**
34
+ * 有限状态机状态销毁时调用
35
+ * @param fsm 有限状态机引用
36
+ */
37
+ OnDestroy?(fsm: IFsm<OwnerT, DataT>): void;
38
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * 日志类型
3
+ */
4
+ export declare enum LogType {
5
+ NONE = 0,
6
+ DEBUG = 1,
7
+ INFO = 2,
8
+ LOG = 4,
9
+ WARN = 8,
10
+ ERROR = 16,
11
+ ALL = 63
12
+ }
13
+ /**
14
+ * 日志输出管理,用于生产环境的日志控制.不需要手动创建.
15
+ */
16
+ export declare class Logger {
17
+ private static _reportError;
18
+ /**
19
+ * 设置app日志输出模式
20
+ * @param logType
21
+ */
22
+ static setLogType(logType: LogType): void;
23
+ static set reportError(value: boolean);
24
+ private _logLevel;
25
+ private _console;
26
+ /**
27
+ *
28
+ * @param logType 日志类型,可以用或(|)操作符, 传入多个日志类型.如: LogType.DEBUG | LogType.LOG
29
+ */
30
+ private constructor();
31
+ get memory(): any;
32
+ set memory(value: any);
33
+ get exception(): any;
34
+ set exception(value: any);
35
+ get Console(): any;
36
+ assert(condition?: boolean, ...data: any[]): void;
37
+ clear(): void;
38
+ count(label?: string): void;
39
+ countReset(label?: string): void;
40
+ debug(...data: any[]): void;
41
+ dir(item?: any, options?: any): void;
42
+ dirxml(...data: any[]): void;
43
+ error(...data: any[]): void;
44
+ group(...data: any[]): void;
45
+ groupCollapsed(...data: any[]): void;
46
+ groupEnd(): void;
47
+ info(...data: any[]): void;
48
+ log(...data: any[]): void;
49
+ table(tabularData?: any, properties?: string[]): void;
50
+ time(label?: string): void;
51
+ timeEnd(label?: string): void;
52
+ timeLog(label?: string, ...data: any[]): void;
53
+ timeStamp(label?: string): void;
54
+ trace(...data: any[]): void;
55
+ warn(...data: any[]): void;
56
+ profile(label?: string): void;
57
+ profileEnd(label?: string): void;
58
+ }
@@ -0,0 +1,6 @@
1
+ export declare abstract class INativeHelper {
2
+ private _callbackCount;
3
+ abstract callWithReturnType(className: string, methodName: string, returnType: string | boolean | number, ...args: any[]): string | boolean | number;
4
+ call(className: string, methodName: string, ...args: any[]): void;
5
+ registerCallback(caller: any, method: Function, times: number, ...args: any[]): string;
6
+ }
@@ -0,0 +1,10 @@
1
+ import { INativeHelper } from "./INativeHelper";
2
+ export declare class NativeHelper {
3
+ static KEY: string;
4
+ static call(className: string, methodName: string, ...args: any[]): void;
5
+ static callWithReturnType(className: string, methodName: string, returnType: string | boolean | number, ...args: any[]): string | boolean | number;
6
+ static registerCallback(caller: any, method: Function, times: number, ...args: any[]): string;
7
+ static registerCallbackOnce(caller: any, method: Function, ...args: any[]): string;
8
+ private static _impl;
9
+ static get impl(): INativeHelper;
10
+ }
@@ -0,0 +1,22 @@
1
+ import { ByteView } from "./byte/ByteView";
2
+ export type NetData = (string | ArrayBufferLike | Blob | ArrayBufferView);
3
+ export type ProtocolID = number;
4
+ export type Protocol = {
5
+ id: ProtocolID;
6
+ len: number;
7
+ data: any;
8
+ };
9
+ export type HeadDecoder = (buffer: ByteView) => Protocol;
10
+ export type HeadEncoder = (buffer: ByteView, id: ProtocolID, len: number) => any;
11
+ export interface IProtocolHelper {
12
+ decode(buffer: ByteView): Protocol;
13
+ heartbeat(): Protocol;
14
+ }
15
+ export interface INetworkTips {
16
+ onConnecting(): void;
17
+ onConnectSuccess(): void;
18
+ onConnectFailed(): void;
19
+ onClosed(): void;
20
+ onMessage(): void;
21
+ onFlush(): void;
22
+ }
@@ -0,0 +1,24 @@
1
+ import { HttpNode } from "./http/HttpNode";
2
+ import { IProtocolHelper } from "./NetInterface";
3
+ import { SocketNode } from "./socket/SocketNode";
4
+ export declare class NetManager {
5
+ static PROTOCOL_HELPER_KEY: string;
6
+ static NETWORK_TIPS_KEY: string;
7
+ private _logable;
8
+ private _protocol;
9
+ private _netTips;
10
+ private _socket;
11
+ private _http;
12
+ private static created;
13
+ constructor();
14
+ private initSocket;
15
+ private initHttp;
16
+ set logable(value: boolean);
17
+ get socket(): SocketNode;
18
+ get http(): HttpNode;
19
+ get server(): IProtocolHelper;
20
+ }
21
+ /**
22
+ * 网络
23
+ */
24
+ export declare const net: NetManager;
@@ -0,0 +1,391 @@
1
+ /**
2
+ * <p> <code>Byte</code> 类提供用于优化读取、写入以及处理二进制数据的方法和属性。</p>
3
+ * <p> <code>Byte</code> 类适用于需要在字节层访问数据的高级开发人员。</p>
4
+ */
5
+ export declare class ByteView {
6
+ /**
7
+ * <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 <code>getSystemEndian</code> 可以获取当前系统的字节序。</p>
8
+ * <p> <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。<br/>
9
+ * <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p>
10
+ */
11
+ static BIG_ENDIAN: string;
12
+ /**
13
+ * <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 <code>getSystemEndian</code> 可以获取当前系统的字节序。</p>
14
+ * <p> <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。<br/>
15
+ * <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。</p>
16
+ */
17
+ static LITTLE_ENDIAN: string;
18
+ /**@private */
19
+ private static _sysEndian;
20
+ /**@private 是否为小端数据。*/
21
+ protected _xd_: boolean;
22
+ /**@private */
23
+ private _allocated_;
24
+ /**@private 原始数据。*/
25
+ protected _d_: any;
26
+ /**@private DataView*/
27
+ protected _u8d_: any;
28
+ /**@private */
29
+ protected _pos_: number;
30
+ /**@private */
31
+ protected _length: number;
32
+ /**
33
+ * <p>获取当前主机的字节序。</p>
34
+ * <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。</p>
35
+ * <p> <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。<br/>
36
+ * <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p>
37
+ * @return 当前系统的字节序。
38
+ */
39
+ static getSystemEndian(): string;
40
+ /**
41
+ * 创建一个 <code>Byte</code> 类的实例。
42
+ * @param data 用于指定初始化的元素数目,或者用于初始化的TypedArray对象、ArrayBuffer对象。如果为 null ,则预分配一定的内存空间,当可用空间不足时,优先使用这部分内存,如果还不够,则重新分配所需内存。
43
+ */
44
+ constructor(data?: any);
45
+ /**
46
+ * 获取此对象的 ArrayBuffer 数据,数据只包含有效数据部分。
47
+ */
48
+ get buffer(): ArrayBuffer;
49
+ /**
50
+ * <p> <code>Byte</code> 实例的字节序。取值为:<code>BIG_ENDIAN</code> 或 <code>BIG_ENDIAN</code> 。</p>
51
+ * <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 <code>getSystemEndian</code> 可以获取当前系统的字节序。</p>
52
+ * <p> <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。<br/>
53
+ * <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p>
54
+ */
55
+ get endian(): string;
56
+ set endian(value: string);
57
+ /**
58
+ * <p> <code>Byte</code> 对象的长度(以字节为单位)。</p>
59
+ * <p>如果将长度设置为大于当前长度的值,则用零填充字节数组的右侧;如果将长度设置为小于当前长度的值,将会截断该字节数组。</p>
60
+ * <p>如果要设置的长度大于当前已分配的内存空间的字节长度,则重新分配内存空间,大小为以下两者较大者:要设置的长度、当前已分配的长度的2倍,并将原有数据拷贝到新的内存空间中;如果要设置的长度小于当前已分配的内存空间的字节长度,也会重新分配内存空间,大小为要设置的长度,并将原有数据从头截断为要设置的长度存入新的内存空间中。</p>
61
+ */
62
+ set length(value: number);
63
+ get length(): number;
64
+ /**@private */
65
+ private _resizeBuffer;
66
+ /**
67
+ * @private
68
+ * <p>常用于解析固定格式的字节流。</p>
69
+ * <p>先从字节流的当前字节偏移位置处读取一个 <code>Uint16</code> 值,然后以此值为长度,读取此长度的字符串。</p>
70
+ * @return 读取的字符串。
71
+ */
72
+ getString(): string;
73
+ /**
74
+ * <p>常用于解析固定格式的字节流。</p>
75
+ * <p>先从字节流的当前字节偏移位置处读取一个 <code>Uint16</code> 值,然后以此值为长度,读取此长度的字符串。</p>
76
+ * @return 读取的字符串。
77
+ */
78
+ readString(): string;
79
+ /**
80
+ * @private
81
+ * <p>从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Float32Array</code> 对象并返回此对象。</p>
82
+ * <p><b>注意:</b>返回的 Float32Array 对象,在 JavaScript 环境下,是原生的 HTML5 Float32Array 对象,对此对象的读取操作都是基于运行此程序的当前主机字节序,此顺序可能与实际数据的字节序不同,如果使用此对象进行读取,需要用户知晓实际数据的字节序和当前主机字节序,如果相同,可正常读取,否则需要用户对实际数据(Float32Array.buffer)包装一层 DataView ,使用 DataView 对象可按照指定的字节序进行读取。</p>
83
+ * @param start 开始位置。
84
+ * @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
85
+ * @return 读取的 Float32Array 对象。
86
+ */
87
+ getFloat32Array(start: number, len: number): any;
88
+ /**
89
+ * 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Float32Array</code> 对象并返回此对象。
90
+ * @param start 开始位置。
91
+ * @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
92
+ * @return 读取的 Float32Array 对象。
93
+ */
94
+ readFloat32Array(start: number, len: number): any;
95
+ /**
96
+ * @private
97
+ * 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Uint8Array</code> 对象并返回此对象。
98
+ * @param start 开始位置。
99
+ * @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
100
+ * @return 读取的 Uint8Array 对象。
101
+ */
102
+ getUint8Array(start: number, len: number): Uint8Array;
103
+ /**
104
+ * 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Uint8Array</code> 对象并返回此对象。
105
+ * @param start 开始位置。
106
+ * @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
107
+ * @return 读取的 Uint8Array 对象。
108
+ */
109
+ readUint8Array(start: number, len: number): Uint8Array;
110
+ /**
111
+ * @private
112
+ * <p>从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Int16Array</code> 对象并返回此对象。</p>
113
+ * <p><b>注意:</b>返回的 Int16Array 对象,在 JavaScript 环境下,是原生的 HTML5 Int16Array 对象,对此对象的读取操作都是基于运行此程序的当前主机字节序,此顺序可能与实际数据的字节序不同,如果使用此对象进行读取,需要用户知晓实际数据的字节序和当前主机字节序,如果相同,可正常读取,否则需要用户对实际数据(Int16Array.buffer)包装一层 DataView ,使用 DataView 对象可按照指定的字节序进行读取。</p>
114
+ * @param start 开始读取的字节偏移量位置。
115
+ * @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
116
+ * @return 读取的 Int16Array 对象。
117
+ */
118
+ getInt16Array(start: number, len: number): any;
119
+ /**
120
+ * 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Int16Array</code> 对象并返回此对象。
121
+ * @param start 开始读取的字节偏移量位置。
122
+ * @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
123
+ * @return 读取的 Uint8Array 对象。
124
+ */
125
+ readInt16Array(start: number, len: number): any;
126
+ /**
127
+ * @private
128
+ * 从字节流的当前字节偏移位置处读取一个 IEEE 754 单精度(32 位)浮点数。
129
+ * @return 单精度(32 位)浮点数。
130
+ */
131
+ getFloat32(): number;
132
+ /**
133
+ * 从字节流的当前字节偏移位置处读取一个 IEEE 754 单精度(32 位)浮点数。
134
+ * @return 单精度(32 位)浮点数。
135
+ */
136
+ readFloat32(): number;
137
+ /**
138
+ * @private
139
+ * 从字节流的当前字节偏移量位置处读取一个 IEEE 754 双精度(64 位)浮点数。
140
+ * @return 双精度(64 位)浮点数。
141
+ */
142
+ getFloat64(): number;
143
+ /**
144
+ * 从字节流的当前字节偏移量位置处读取一个 IEEE 754 双精度(64 位)浮点数。
145
+ * @return 双精度(64 位)浮点数。
146
+ */
147
+ readFloat64(): number;
148
+ /**
149
+ * 在字节流的当前字节偏移量位置处写入一个 IEEE 754 单精度(32 位)浮点数。
150
+ * @param value 单精度(32 位)浮点数。
151
+ */
152
+ writeFloat32(value: number): void;
153
+ /**
154
+ * 在字节流的当前字节偏移量位置处写入一个 IEEE 754 双精度(64 位)浮点数。
155
+ * @param value 双精度(64 位)浮点数。
156
+ */
157
+ writeFloat64(value: number): void;
158
+ /**
159
+ * @private
160
+ * 从字节流的当前字节偏移量位置处读取一个 Int32 值。
161
+ * @return Int32 值。
162
+ */
163
+ getInt32(): number;
164
+ /**
165
+ * 从字节流的当前字节偏移量位置处读取一个 Int32 值。
166
+ * @return Int32 值。
167
+ */
168
+ readInt32(): number;
169
+ /**
170
+ * @private
171
+ * 从字节流的当前字节偏移量位置处读取一个 Uint32 值。
172
+ * @return Uint32 值。
173
+ */
174
+ getUint32(): number;
175
+ /**
176
+ * 从字节流的当前字节偏移量位置处读取一个 Uint32 值。
177
+ * @return Uint32 值。
178
+ */
179
+ readUint32(): number;
180
+ /**
181
+ * 在字节流的当前字节偏移量位置处写入指定的 Int32 值。
182
+ * @param value 需要写入的 Int32 值。
183
+ */
184
+ writeInt32(value: number): void;
185
+ /**
186
+ * 在字节流的当前字节偏移量位置处写入 Uint32 值。
187
+ * @param value 需要写入的 Uint32 值。
188
+ */
189
+ writeUint32(value: number): void;
190
+ /**
191
+ * @private
192
+ * 从字节流的当前字节偏移量位置处读取一个 Int16 值。
193
+ * @return Int16 值。
194
+ */
195
+ getInt16(): number;
196
+ /**
197
+ * 从字节流的当前字节偏移量位置处读取一个 Int16 值。
198
+ * @return Int16 值。
199
+ */
200
+ readInt16(): number;
201
+ /**
202
+ * @private
203
+ * 从字节流的当前字节偏移量位置处读取一个 Uint16 值。
204
+ * @return Uint16 值。
205
+ */
206
+ getUint16(): number;
207
+ /**
208
+ * 从字节流的当前字节偏移量位置处读取一个 Uint16 值。
209
+ * @return Uint16 值。
210
+ */
211
+ readUint16(): number;
212
+ /**
213
+ * 在字节流的当前字节偏移量位置处写入指定的 Uint16 值。
214
+ * @param value 需要写入的Uint16 值。
215
+ */
216
+ writeUint16(value: number): void;
217
+ /**
218
+ * 在字节流的当前字节偏移量位置处写入指定的 Int16 值。
219
+ * @param value 需要写入的 Int16 值。
220
+ */
221
+ writeInt16(value: number): void;
222
+ /**
223
+ * @private
224
+ * 从字节流的当前字节偏移量位置处读取一个 Uint8 值。
225
+ * @return Uint8 值。
226
+ */
227
+ getUint8(): number;
228
+ /**
229
+ * 从字节流的当前字节偏移量位置处读取一个 Uint8 值。
230
+ * @return Uint8 值。
231
+ */
232
+ readUint8(): number;
233
+ /**
234
+ * 在字节流的当前字节偏移量位置处写入指定的 Uint8 值。
235
+ * @param value 需要写入的 Uint8 值。
236
+ */
237
+ writeUint8(value: number): void;
238
+ /**
239
+ * @internal
240
+ * 从字节流的指定字节偏移量位置处读取一个 Uint8 值。
241
+ * @param pos 字节读取位置。
242
+ * @return Uint8 值。
243
+ */
244
+ _getUInt8(pos: number): number;
245
+ /**
246
+ * @internal
247
+ * 从字节流的指定字节偏移量位置处读取一个 Uint8 值。
248
+ * @param pos 字节读取位置。
249
+ * @return Uint8 值。
250
+ */
251
+ _readUInt8(pos: number): number;
252
+ /**
253
+ * @internal
254
+ * 从字节流的指定字节偏移量位置处读取一个 Uint16 值。
255
+ * @param pos 字节读取位置。
256
+ * @return Uint16 值。
257
+ */
258
+ _getUint16(pos: number): number;
259
+ /**
260
+ * @internal
261
+ * 从字节流的指定字节偏移量位置处读取一个 Uint16 值。
262
+ * @param pos 字节读取位置。
263
+ * @return Uint16 值。
264
+ */
265
+ _readUint16(pos: number): number;
266
+ /**
267
+ * @private
268
+ * 读取指定长度的 UTF 型字符串。
269
+ * @param len 需要读取的长度。
270
+ * @return 读取的字符串。
271
+ */
272
+ private _rUTF;
273
+ /**
274
+ * @private
275
+ * 读取 <code>len</code> 参数指定的长度的字符串。
276
+ * @param len 要读取的字符串的长度。
277
+ * @return 指定长度的字符串。
278
+ */
279
+ getCustomString(len: number): string;
280
+ /**
281
+ * @private
282
+ * 读取 <code>len</code> 参数指定的长度的字符串。
283
+ * @param len 要读取的字符串的长度。
284
+ * @return 指定长度的字符串。
285
+ */
286
+ readCustomString(len: number): string;
287
+ /**
288
+ * 移动或返回 Byte 对象的读写指针的当前位置(以字节为单位)。下一次调用读取方法时将在此位置开始读取,或者下一次调用写入方法时将在此位置开始写入。
289
+ */
290
+ get pos(): number;
291
+ set pos(value: number);
292
+ /**
293
+ * 可从字节流的当前位置到末尾读取的数据的字节数。
294
+ */
295
+ get bytesAvailable(): number;
296
+ /**
297
+ * 清除字节数组的内容,并将 length 和 pos 属性重置为 0。调用此方法将释放 Byte 实例占用的内存。
298
+ */
299
+ clear(): void;
300
+ /**
301
+ * @internal
302
+ * 获取此对象的 ArrayBuffer 引用。
303
+ * @return
304
+ */
305
+ _getBuffer(): ArrayBuffer;
306
+ /**
307
+ * <p>将 UTF-8 字符串写入字节流。类似于 writeUTF() 方法,但 writeUTFBytes() 不使用 16 位长度的字为字符串添加前缀。</p>
308
+ * <p>对应的读取方法为: getUTFBytes 。</p>
309
+ * @param value 要写入的字符串。
310
+ */
311
+ writeUTFBytes(value: string): void;
312
+ /**
313
+ * <p>将 UTF-8 字符串写入字节流。先写入以字节表示的 UTF-8 字符串长度(作为 16 位整数),然后写入表示字符串字符的字节。</p>
314
+ * <p>对应的读取方法为: getUTFString 。</p>
315
+ * @param value 要写入的字符串值。
316
+ */
317
+ writeUTFString(value: string): void;
318
+ /**
319
+ * <p>将 UTF-8 字符串写入字节流。先写入以字节表示的 UTF-8 字符串长度(作为 32 位整数),然后写入表示字符串字符的字节。</p>
320
+ * @param value 要写入的字符串值。
321
+ */
322
+ writeUTFString32(value: string): void;
323
+ /**
324
+ * @private
325
+ * 读取 UTF-8 字符串。
326
+ * @return 读取的字符串。
327
+ */
328
+ readUTFString(): string;
329
+ /**
330
+ * @private
331
+ */
332
+ readUTFString32(): string;
333
+ /**
334
+ * <p>从字节流中读取一个 UTF-8 字符串。假定字符串的前缀是一个无符号的短整型(以此字节表示要读取的长度)。</p>
335
+ * <p>对应的写入方法为: writeUTFString 。</p>
336
+ * @return 读取的字符串。
337
+ */
338
+ getUTFString(): string;
339
+ /**
340
+ * @private
341
+ * 读字符串,必须是 writeUTFBytes 方法写入的字符串。
342
+ * @param len 要读的buffer长度,默认将读取缓冲区全部数据。
343
+ * @return 读取的字符串。
344
+ */
345
+ readUTFBytes(len?: number): string;
346
+ /**
347
+ * <p>从字节流中读取一个由 length 参数指定的长度的 UTF-8 字节序列,并返回一个字符串。</p>
348
+ * <p>一般读取的是由 writeUTFBytes 方法写入的字符串。</p>
349
+ * @param len 要读的buffer长度,默认将读取缓冲区全部数据。
350
+ * @return 读取的字符串。
351
+ */
352
+ getUTFBytes(len?: number): string;
353
+ /**
354
+ * <p>在字节流中写入一个字节。</p>
355
+ * <p>使用参数的低 8 位。忽略高 24 位。</p>
356
+ * @param value
357
+ */
358
+ writeByte(value: number): void;
359
+ /**
360
+ * <p>从字节流中读取带符号的字节。</p>
361
+ * <p>返回值的范围是从 -128 到 127。</p>
362
+ * @return 介于 -128 和 127 之间的整数。
363
+ */
364
+ readByte(): number;
365
+ /**
366
+ * @private
367
+ * 从字节流中读取带符号的字节。
368
+ */
369
+ getByte(): number;
370
+ /**
371
+ * @internal
372
+ * <p>保证该字节流的可用长度不小于 <code>lengthToEnsure</code> 参数指定的值。</p>
373
+ * @param lengthToEnsure 指定的长度。
374
+ */
375
+ _ensureWrite(lengthToEnsure: number): void;
376
+ /**
377
+ * <p>将指定 arraybuffer 对象中的以 offset 为起始偏移量, length 为长度的字节序列写入字节流。</p>
378
+ * <p>如果省略 length 参数,则使用默认长度 0,该方法将从 offset 开始写入整个缓冲区;如果还省略了 offset 参数,则写入整个缓冲区。</p>
379
+ * <p>如果 offset 或 length 小于0,本函数将抛出异常。</p>
380
+ * @param arraybuffer 需要写入的 Arraybuffer 对象。
381
+ * @param offset Arraybuffer 对象的索引的偏移量(以字节为单位)
382
+ * @param length 从 Arraybuffer 对象写入到 Byte 对象的长度(以字节为单位)
383
+ */
384
+ writeArrayBuffer(arraybuffer: any, offset?: number, length?: number): void;
385
+ /**
386
+ * 读取ArrayBuffer数据
387
+ * @param length
388
+ * @return
389
+ */
390
+ readArrayBuffer(length: number): ArrayBuffer;
391
+ }