@dcl/ecs 1.0.0-20220525093820.commit-c20b8cd → 1.0.0-20220601113849.commit-ab0b9fd
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.
- package/dist/index.d.ts +1678 -2
- package/dist/index.js +5838 -18
- package/dist/index.min.js +1 -0
- package/dist/index.min.js.map +1 -0
- package/package.json +9 -4
- package/dist/built-in-types/ArrayType.d.ts +0 -3
- package/dist/built-in-types/ArrayType.d.ts.map +0 -1
- package/dist/built-in-types/ArrayType.js +0 -23
- package/dist/built-in-types/ArrayType.js.map +0 -1
- package/dist/built-in-types/EcsType.d.ts +0 -6
- package/dist/built-in-types/EcsType.d.ts.map +0 -1
- package/dist/built-in-types/EcsType.js +0 -3
- package/dist/built-in-types/EcsType.js.map +0 -1
- package/dist/built-in-types/MapType.d.ts +0 -10
- package/dist/built-in-types/MapType.d.ts.map +0 -1
- package/dist/built-in-types/MapType.js +0 -24
- package/dist/built-in-types/MapType.js.map +0 -1
- package/dist/built-in-types/Optional.d.ts +0 -3
- package/dist/built-in-types/Optional.d.ts.map +0 -1
- package/dist/built-in-types/Optional.js +0 -24
- package/dist/built-in-types/Optional.js.map +0 -1
- package/dist/built-in-types/basic/Boolean.d.ts +0 -3
- package/dist/built-in-types/basic/Boolean.d.ts.map +0 -1
- package/dist/built-in-types/basic/Boolean.js +0 -12
- package/dist/built-in-types/basic/Boolean.js.map +0 -1
- package/dist/built-in-types/basic/Enum.d.ts +0 -3
- package/dist/built-in-types/basic/Enum.d.ts.map +0 -1
- package/dist/built-in-types/basic/Enum.js +0 -15
- package/dist/built-in-types/basic/Enum.js.map +0 -1
- package/dist/built-in-types/basic/Float.d.ts +0 -4
- package/dist/built-in-types/basic/Float.d.ts.map +0 -1
- package/dist/built-in-types/basic/Float.js +0 -20
- package/dist/built-in-types/basic/Float.js.map +0 -1
- package/dist/built-in-types/basic/Integer.d.ts +0 -6
- package/dist/built-in-types/basic/Integer.d.ts.map +0 -1
- package/dist/built-in-types/basic/Integer.js +0 -44
- package/dist/built-in-types/basic/Integer.js.map +0 -1
- package/dist/built-in-types/basic/String.d.ts +0 -4
- package/dist/built-in-types/basic/String.d.ts.map +0 -1
- package/dist/built-in-types/basic/String.js +0 -13
- package/dist/built-in-types/basic/String.js.map +0 -1
- package/dist/built-in-types/index.d.ts +0 -10
- package/dist/built-in-types/index.d.ts.map +0 -1
- package/dist/built-in-types/index.js +0 -26
- package/dist/built-in-types/index.js.map +0 -1
- package/dist/built-in-types/typing.d.ts +0 -17
- package/dist/built-in-types/typing.d.ts.map +0 -1
- package/dist/built-in-types/typing.js +0 -3
- package/dist/built-in-types/typing.js.map +0 -1
- package/dist/components/definitions/AudioSource.proto +0 -16
- package/dist/components/definitions/AudioStream.proto +0 -13
- package/dist/components/definitions/BoxShape.proto +0 -14
- package/dist/components/definitions/ConeShape.proto +0 -15
- package/dist/components/definitions/CylinderShape.proto +0 -15
- package/dist/components/definitions/PlaneShape.proto +0 -14
- package/dist/components/definitions/README.md +0 -0
- package/dist/components/definitions/SphereShape.proto +0 -13
- package/dist/components/definitions/Transform.md +0 -23
- package/dist/components/generated/AudioSource.d.ts +0 -5
- package/dist/components/generated/AudioSource.d.ts.map +0 -1
- package/dist/components/generated/AudioSource.js +0 -17
- package/dist/components/generated/AudioSource.js.map +0 -1
- package/dist/components/generated/AudioStream.d.ts +0 -5
- package/dist/components/generated/AudioStream.d.ts.map +0 -1
- package/dist/components/generated/AudioStream.js +0 -17
- package/dist/components/generated/AudioStream.js.map +0 -1
- package/dist/components/generated/BoxShape.d.ts +0 -5
- package/dist/components/generated/BoxShape.d.ts.map +0 -1
- package/dist/components/generated/BoxShape.js +0 -17
- package/dist/components/generated/BoxShape.js.map +0 -1
- package/dist/components/generated/ConeShape.d.ts +0 -5
- package/dist/components/generated/ConeShape.d.ts.map +0 -1
- package/dist/components/generated/ConeShape.js +0 -17
- package/dist/components/generated/ConeShape.js.map +0 -1
- package/dist/components/generated/CylinderShape.d.ts +0 -5
- package/dist/components/generated/CylinderShape.d.ts.map +0 -1
- package/dist/components/generated/CylinderShape.js +0 -17
- package/dist/components/generated/CylinderShape.js.map +0 -1
- package/dist/components/generated/PlaneShape.d.ts +0 -5
- package/dist/components/generated/PlaneShape.d.ts.map +0 -1
- package/dist/components/generated/PlaneShape.js +0 -17
- package/dist/components/generated/PlaneShape.js.map +0 -1
- package/dist/components/generated/SphereShape.d.ts +0 -5
- package/dist/components/generated/SphereShape.d.ts.map +0 -1
- package/dist/components/generated/SphereShape.js +0 -17
- package/dist/components/generated/SphereShape.js.map +0 -1
- package/dist/components/generated/index.d.ts +0 -11
- package/dist/components/generated/index.d.ts.map +0 -1
- package/dist/components/generated/index.js +0 -46
- package/dist/components/generated/index.js.map +0 -1
- package/dist/components/generated/pb/AudioSource.d.ts +0 -15
- package/dist/components/generated/pb/AudioSource.d.ts.map +0 -1
- package/dist/components/generated/pb/AudioSource.js +0 -95
- package/dist/components/generated/pb/AudioSource.js.map +0 -1
- package/dist/components/generated/pb/AudioStream.d.ts +0 -12
- package/dist/components/generated/pb/AudioStream.d.ts.map +0 -1
- package/dist/components/generated/pb/AudioStream.js +0 -70
- package/dist/components/generated/pb/AudioStream.js.map +0 -1
- package/dist/components/generated/pb/BoxShape.d.ts +0 -13
- package/dist/components/generated/pb/BoxShape.d.ts.map +0 -1
- package/dist/components/generated/pb/BoxShape.js +0 -91
- package/dist/components/generated/pb/BoxShape.js.map +0 -1
- package/dist/components/generated/pb/ConeShape.d.ts +0 -14
- package/dist/components/generated/pb/ConeShape.d.ts.map +0 -1
- package/dist/components/generated/pb/ConeShape.js +0 -88
- package/dist/components/generated/pb/ConeShape.js.map +0 -1
- package/dist/components/generated/pb/CylinderShape.d.ts +0 -14
- package/dist/components/generated/pb/CylinderShape.d.ts.map +0 -1
- package/dist/components/generated/pb/CylinderShape.js +0 -88
- package/dist/components/generated/pb/CylinderShape.js.map +0 -1
- package/dist/components/generated/pb/PlaneShape.d.ts +0 -13
- package/dist/components/generated/pb/PlaneShape.d.ts.map +0 -1
- package/dist/components/generated/pb/PlaneShape.js +0 -91
- package/dist/components/generated/pb/PlaneShape.js.map +0 -1
- package/dist/components/generated/pb/SphereShape.d.ts +0 -12
- package/dist/components/generated/pb/SphereShape.d.ts.map +0 -1
- package/dist/components/generated/pb/SphereShape.js +0 -70
- package/dist/components/generated/pb/SphereShape.js.map +0 -1
- package/dist/components/index.d.ts +0 -18
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -26
- package/dist/components/index.js.map +0 -1
- package/dist/components/legacy/Transform.d.ts +0 -13
- package/dist/components/legacy/Transform.d.ts.map +0 -1
- package/dist/components/legacy/Transform.js +0 -32
- package/dist/components/legacy/Transform.js.map +0 -1
- package/dist/components/legacy/index.d.ts +0 -17
- package/dist/components/legacy/index.d.ts.map +0 -1
- package/dist/components/legacy/index.js +0 -14
- package/dist/components/legacy/index.js.map +0 -1
- package/dist/components/legacy/types.d.ts +0 -52
- package/dist/components/legacy/types.d.ts.map +0 -1
- package/dist/components/legacy/types.js +0 -57
- package/dist/components/legacy/types.js.map +0 -1
- package/dist/components/types.d.ts +0 -4
- package/dist/components/types.d.ts.map +0 -1
- package/dist/components/types.js +0 -8
- package/dist/components/types.js.map +0 -1
- package/dist/ecs.api.json +0 -204
- package/dist/engine/component.d.ts +0 -26
- package/dist/engine/component.d.ts.map +0 -1
- package/dist/engine/component.js +0 -103
- package/dist/engine/component.js.map +0 -1
- package/dist/engine/entity-utils.d.ts +0 -8
- package/dist/engine/entity-utils.d.ts.map +0 -1
- package/dist/engine/entity-utils.js +0 -22
- package/dist/engine/entity-utils.js.map +0 -1
- package/dist/engine/entity.d.ts +0 -18
- package/dist/engine/entity.d.ts.map +0 -1
- package/dist/engine/entity.js +0 -80
- package/dist/engine/entity.js.map +0 -1
- package/dist/engine/index.d.ts +0 -28
- package/dist/engine/index.d.ts.map +0 -1
- package/dist/engine/index.js +0 -136
- package/dist/engine/index.js.map +0 -1
- package/dist/engine/types.d.ts +0 -28
- package/dist/engine/types.d.ts.map +0 -1
- package/dist/engine/types.js +0 -3
- package/dist/engine/types.js.map +0 -1
- package/dist/engine/utils.d.ts +0 -4
- package/dist/engine/utils.d.ts.map +0 -1
- package/dist/engine/utils.js +0 -17
- package/dist/engine/utils.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/serialization/ByteBuffer/index.d.ts +0 -128
- package/dist/serialization/ByteBuffer/index.d.ts.map +0 -1
- package/dist/serialization/ByteBuffer/index.js +0 -286
- package/dist/serialization/ByteBuffer/index.js.map +0 -1
- package/dist/serialization/crdt/componentOperation.d.ts +0 -26
- package/dist/serialization/crdt/componentOperation.d.ts.map +0 -1
- package/dist/serialization/crdt/componentOperation.js +0 -46
- package/dist/serialization/crdt/componentOperation.js.map +0 -1
- package/dist/serialization/wireMessage.d.ts +0 -40
- package/dist/serialization/wireMessage.d.ts.map +0 -1
- package/dist/serialization/wireMessage.js +0 -57
- package/dist/serialization/wireMessage.js.map +0 -1
- package/dist/systems/crdt/index.d.ts +0 -7
- package/dist/systems/crdt/index.d.ts.map +0 -1
- package/dist/systems/crdt/index.js +0 -155
- package/dist/systems/crdt/index.js.map +0 -1
- package/dist/systems/crdt/transport.d.ts +0 -9
- package/dist/systems/crdt/transport.d.ts.map +0 -1
- package/dist/systems/crdt/transport.js +0 -26
- package/dist/systems/crdt/transport.js.map +0 -1
- package/dist/systems/crdt/types.d.ts +0 -11
- package/dist/systems/crdt/types.d.ts.map +0 -1
- package/dist/systems/crdt/types.js +0 -3
- package/dist/systems/crdt/types.js.map +0 -1
- package/dist/systems/crdt/utils.d.ts +0 -12
- package/dist/systems/crdt/utils.d.ts.map +0 -1
- package/dist/systems/crdt/utils.js +0 -55
- package/dist/systems/crdt/utils.js.map +0 -1
- package/dist/tsdoc-metadata.json +0 -11
package/dist/engine/index.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Engine = void 0;
|
|
4
|
-
const components_1 = require("../components");
|
|
5
|
-
const crdt_1 = require("../systems/crdt");
|
|
6
|
-
const entity_1 = require("./entity");
|
|
7
|
-
const component_1 = require("./component");
|
|
8
|
-
function preEngine() {
|
|
9
|
-
const entityContainer = (0, entity_1.EntityContainer)();
|
|
10
|
-
const componentsDefinition = new Map();
|
|
11
|
-
// TODO: find a way to make this work.
|
|
12
|
-
// Maybe a proxy/callback to be up-to-date
|
|
13
|
-
const entitiesComponent = new Map();
|
|
14
|
-
const systems = new Set();
|
|
15
|
-
function addSystem(fn) {
|
|
16
|
-
if (systems.has(fn)) {
|
|
17
|
-
throw new Error('System already added');
|
|
18
|
-
}
|
|
19
|
-
systems.add(fn);
|
|
20
|
-
}
|
|
21
|
-
function addEntity(dynamic = false) {
|
|
22
|
-
// entitiesCompnonent.set(entity, new Set())
|
|
23
|
-
const entity = entityContainer.generateEntity(dynamic);
|
|
24
|
-
return entity;
|
|
25
|
-
}
|
|
26
|
-
function addDynamicEntity() {
|
|
27
|
-
return addEntity(true);
|
|
28
|
-
}
|
|
29
|
-
function removeEntity(entity) {
|
|
30
|
-
// TODO: Remove all the components of that entity
|
|
31
|
-
for (const [, component] of componentsDefinition) {
|
|
32
|
-
if (component.has(entity)) {
|
|
33
|
-
component.deleteFrom(entity);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
// entitiesComponent.delete(entity)
|
|
37
|
-
return entityContainer.removeEntity(entity);
|
|
38
|
-
}
|
|
39
|
-
function defineComponent(componentId, spec) {
|
|
40
|
-
if (componentsDefinition.get(componentId)) {
|
|
41
|
-
throw new Error(`Component ${componentId} already declared`);
|
|
42
|
-
}
|
|
43
|
-
const newComponent = (0, component_1.defineComponent)(componentId, spec);
|
|
44
|
-
componentsDefinition.set(componentId, newComponent);
|
|
45
|
-
return newComponent;
|
|
46
|
-
}
|
|
47
|
-
function getComponent(componentId) {
|
|
48
|
-
const component = componentsDefinition.get(componentId);
|
|
49
|
-
if (!component) {
|
|
50
|
-
throw new Error('Component not found. You need to declare the components at the beginnig of the engine declaration');
|
|
51
|
-
}
|
|
52
|
-
return component;
|
|
53
|
-
}
|
|
54
|
-
function* mutableGroupOf(...components) {
|
|
55
|
-
for (const [entity, ...groupComp] of getComponentDefGroup(...components)) {
|
|
56
|
-
yield [entity, ...groupComp.map((c) => c.mutable(entity))];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function* groupOf(...components) {
|
|
60
|
-
for (const [entity, ...groupComp] of getComponentDefGroup(...components)) {
|
|
61
|
-
yield [entity, ...groupComp.map((c) => c.getFrom(entity))];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function* getComponentDefGroup(...args) {
|
|
65
|
-
const [firstComponentDef, ...componentDefinitions] = args;
|
|
66
|
-
for (const [entity] of firstComponentDef.iterator()) {
|
|
67
|
-
let matches = true;
|
|
68
|
-
for (const componentDef of componentDefinitions) {
|
|
69
|
-
if (!componentDef.has(entity)) {
|
|
70
|
-
matches = false;
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (matches) {
|
|
75
|
-
yield [entity, ...args];
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
entitiesComponent,
|
|
81
|
-
componentsDefinition,
|
|
82
|
-
systems,
|
|
83
|
-
addEntity,
|
|
84
|
-
addDynamicEntity,
|
|
85
|
-
removeEntity,
|
|
86
|
-
addSystem,
|
|
87
|
-
defineComponent,
|
|
88
|
-
mutableGroupOf,
|
|
89
|
-
groupOf,
|
|
90
|
-
getComponent
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @public
|
|
95
|
-
*/
|
|
96
|
-
function Engine() {
|
|
97
|
-
const engine = preEngine();
|
|
98
|
-
const crdtSystem = (0, crdt_1.crdtSceneSystem)(engine);
|
|
99
|
-
const baseComponents = (0, components_1.defineSdkComponents)(engine);
|
|
100
|
-
function update(dt) {
|
|
101
|
-
crdtSystem.receiveMessages();
|
|
102
|
-
for (const system of engine.systems) {
|
|
103
|
-
system(dt);
|
|
104
|
-
}
|
|
105
|
-
// TODO: Perf tip
|
|
106
|
-
// Should we add some dirtyIteratorSet at engine level so we dont have
|
|
107
|
-
// to iterate all the component definitions to get the dirty ones ?
|
|
108
|
-
const dirtySet = new Map();
|
|
109
|
-
for (const [componentId, definition] of engine.componentsDefinition) {
|
|
110
|
-
for (const entity of definition.dirtyIterator()) {
|
|
111
|
-
if (!dirtySet.has(entity)) {
|
|
112
|
-
dirtySet.set(entity, new Set());
|
|
113
|
-
}
|
|
114
|
-
dirtySet.get(entity).add(componentId);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
crdtSystem.createMessages(dirtySet);
|
|
118
|
-
for (const [_componentId, definition] of engine.componentsDefinition) {
|
|
119
|
-
definition.clearDirty();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return {
|
|
123
|
-
addEntity: engine.addEntity,
|
|
124
|
-
addDynamicEntity: engine.addDynamicEntity,
|
|
125
|
-
removeEntity: engine.removeEntity,
|
|
126
|
-
addSystem: engine.addSystem,
|
|
127
|
-
defineComponent: engine.defineComponent,
|
|
128
|
-
mutableGroupOf: engine.mutableGroupOf,
|
|
129
|
-
groupOf: engine.groupOf,
|
|
130
|
-
getComponent: engine.getComponent,
|
|
131
|
-
update,
|
|
132
|
-
baseComponents
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
exports.Engine = Engine;
|
|
136
|
-
//# sourceMappingURL=index.js.map
|
package/dist/engine/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/types.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { EcsType } from '../built-in-types';
|
|
2
|
-
import { defineSdkComponents } from '../components';
|
|
3
|
-
import { ComponentDefinition as CompDef } from './component';
|
|
4
|
-
import { Entity } from './entity';
|
|
5
|
-
export declare type Unpacked<T> = T extends (infer U)[] ? U : T;
|
|
6
|
-
export declare type Update = (dt: number) => void;
|
|
7
|
-
export declare type ComponentEcsType<T extends [CompDef, ...CompDef[]]> = {
|
|
8
|
-
[K in keyof T]: T[K] extends CompDef ? ReturnType<T[K]['mutable']> : never;
|
|
9
|
-
};
|
|
10
|
-
export declare type DeepReadonly<T> = {
|
|
11
|
-
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* @public
|
|
15
|
-
*/
|
|
16
|
-
export declare type IEngine = {
|
|
17
|
-
addEntity(dynamic?: boolean): Entity;
|
|
18
|
-
addDynamicEntity(): Entity;
|
|
19
|
-
removeEntity(entity: Entity): void;
|
|
20
|
-
addSystem(system: Update): void;
|
|
21
|
-
defineComponent<T extends EcsType>(componentId: number, spec: T): CompDef<T>;
|
|
22
|
-
mutableGroupOf<T extends [CompDef, ...CompDef[]]>(...components: T): Iterable<[Entity, ...ComponentEcsType<T>]>;
|
|
23
|
-
groupOf<T extends [CompDef, ...CompDef[]]>(...components: T): Iterable<[Entity, ...DeepReadonly<ComponentEcsType<T>>]>;
|
|
24
|
-
getComponent<T extends EcsType>(componentId: number): CompDef<T>;
|
|
25
|
-
update(dt: number): void;
|
|
26
|
-
baseComponents: ReturnType<typeof defineSdkComponents>;
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,oBAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AACvD,oBAAY,MAAM,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;AAEzC,oBAAY,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KAC/D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK;CAC3E,CAAA;AAED,oBAAY,YAAY,CAAC,CAAC,IAAI;IAC5B,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAED;;GAEG;AACH,oBAAY,OAAO,GAAG;IACpB,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,gBAAgB,IAAI,MAAM,CAAA;IAC1B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5E,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,EAC9C,GAAG,UAAU,EAAE,CAAC,GACf,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,EACvC,GAAG,UAAU,EAAE,CAAC,GACf,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;CACvD,CAAA"}
|
package/dist/engine/types.js
DELETED
package/dist/engine/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":""}
|
package/dist/engine/utils.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/engine/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAItC,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,GAAG,EAAE,CAAC,GACL,YAAY,CAAC,CAAC,CAAC,CAOjB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,IAAI,CAAC,CAE9D"}
|
package/dist/engine/utils.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isNotUndefined = exports.deepReadonly = void 0;
|
|
4
|
-
const isProd = () => !!process.env.PRODUCTION || false;
|
|
5
|
-
function deepReadonly(val) {
|
|
6
|
-
// Fail only on development due to perf issues
|
|
7
|
-
if (isProd()) {
|
|
8
|
-
return val;
|
|
9
|
-
}
|
|
10
|
-
return Object.freeze({ ...val });
|
|
11
|
-
}
|
|
12
|
-
exports.deepReadonly = deepReadonly;
|
|
13
|
-
function isNotUndefined(val) {
|
|
14
|
-
return !!val;
|
|
15
|
-
}
|
|
16
|
-
exports.isNotUndefined = isNotUndefined;
|
|
17
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/engine/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/engine/utils.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,KAAK,CAAA;AAEtD,SAAgB,YAAY,CAC1B,GAAM;IAEN,8CAA8C;IAC9C,IAAI,MAAM,EAAE,EAAE;QACZ,OAAO,GAAG,CAAA;KACX;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;AAClC,CAAC;AATD,oCASC;AAED,SAAgB,cAAc,CAAI,GAAkB;IAClD,OAAO,CAAC,CAAC,GAAG,CAAA;AACd,CAAC;AAFD,wCAEC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @param writing - writing option, see object specs.
|
|
3
|
-
* @param reading - reading option, see object specs.
|
|
4
|
-
* @param initialCapacity - Initial capacity of buffer to allocate, ignored if you use writing or reading options
|
|
5
|
-
*/
|
|
6
|
-
export interface CreateByteBufferOptions {
|
|
7
|
-
/**
|
|
8
|
-
* @param buffer - a buffer already allocated to read from there.
|
|
9
|
-
* @param currentOffset - set the cursor where begins to read. Default 0
|
|
10
|
-
* @param length - delimite where the valid data ends. Default: buffer.length
|
|
11
|
-
*/
|
|
12
|
-
reading?: {
|
|
13
|
-
buffer: Uint8Array;
|
|
14
|
-
length?: number;
|
|
15
|
-
currentOffset: number;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* @param buffer - a buffer already allocated to write there.
|
|
19
|
-
* @param currentOffset - set the cursor to not start writing from the begin of it. Default 0
|
|
20
|
-
*/
|
|
21
|
-
writing?: {
|
|
22
|
-
buffer: Uint8Array;
|
|
23
|
-
currentOffset?: number;
|
|
24
|
-
};
|
|
25
|
-
initialCapacity?: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* ByteBuffer is a wrapper of DataView which also adds a read and write offset.
|
|
29
|
-
* Also in a write operation it resizes the buffer is being used if it needs.
|
|
30
|
-
*
|
|
31
|
-
* - Use read and write function to generate or consume data.
|
|
32
|
-
* - Use set and get only if you are sure that you're doing.
|
|
33
|
-
*/
|
|
34
|
-
export declare function createByteBuffer(options?: CreateByteBufferOptions): {
|
|
35
|
-
/**
|
|
36
|
-
* @returns The entire current Uint8Array.
|
|
37
|
-
*
|
|
38
|
-
* WARNING: if the buffer grows, the view had changed itself,
|
|
39
|
-
* and the reference will be a invalid one.
|
|
40
|
-
*/
|
|
41
|
-
buffer(): Uint8Array;
|
|
42
|
-
/**
|
|
43
|
-
* @returns The capacity of the current buffer
|
|
44
|
-
*/
|
|
45
|
-
bufferLength(): number;
|
|
46
|
-
/**
|
|
47
|
-
* Resets byteBuffer to avoid creating a new one
|
|
48
|
-
*/
|
|
49
|
-
resetBuffer(): void;
|
|
50
|
-
/**
|
|
51
|
-
* @returns The current read offset
|
|
52
|
-
*/
|
|
53
|
-
currentReadOffset(): number;
|
|
54
|
-
/**
|
|
55
|
-
* @returns The current write offset
|
|
56
|
-
*/
|
|
57
|
-
currentWriteOffset(): number;
|
|
58
|
-
/**
|
|
59
|
-
* Reading purpose
|
|
60
|
-
* Returns the previuos offsset size before incrementing
|
|
61
|
-
*/
|
|
62
|
-
incrementReadOffset(amount: number): number;
|
|
63
|
-
/**
|
|
64
|
-
* @returns How many bytes are available to read.
|
|
65
|
-
*/
|
|
66
|
-
remainingBytes(): number;
|
|
67
|
-
readFloat32(): number;
|
|
68
|
-
readFloat64(): number;
|
|
69
|
-
readInt8(): number;
|
|
70
|
-
readInt16(): number;
|
|
71
|
-
readInt32(): number;
|
|
72
|
-
readInt64(): bigint;
|
|
73
|
-
readUint8(): number;
|
|
74
|
-
readUint16(): number;
|
|
75
|
-
readUint32(): number;
|
|
76
|
-
readUint64(): bigint;
|
|
77
|
-
readBuffer(): Uint8Array;
|
|
78
|
-
/**
|
|
79
|
-
* Writing purpose
|
|
80
|
-
*/
|
|
81
|
-
/**
|
|
82
|
-
* Increment offset
|
|
83
|
-
* @param amount - how many bytes
|
|
84
|
-
* @returns The offset when this reserving starts.
|
|
85
|
-
*/
|
|
86
|
-
incrementWriteOffset(amount: number): number;
|
|
87
|
-
/**
|
|
88
|
-
* @returns The total number of bytes writen in the buffer.
|
|
89
|
-
*/
|
|
90
|
-
size(): number;
|
|
91
|
-
/**
|
|
92
|
-
* @returns The subarray from 0 to offset.
|
|
93
|
-
*/
|
|
94
|
-
toBinary(): Uint8Array;
|
|
95
|
-
writeBuffer(value: Uint8Array, writeLength?: boolean): void;
|
|
96
|
-
writeFloat32(value: number): void;
|
|
97
|
-
writeFloat64(value: number): void;
|
|
98
|
-
writeInt8(value: number): void;
|
|
99
|
-
writeInt16(value: number): void;
|
|
100
|
-
writeInt32(value: number): void;
|
|
101
|
-
writeInt64(value: bigint): void;
|
|
102
|
-
writeUint8(value: number): void;
|
|
103
|
-
writeUint16(value: number): void;
|
|
104
|
-
writeUint32(value: number): void;
|
|
105
|
-
writeUint64(value: bigint): void;
|
|
106
|
-
getFloat32(offset: number): number;
|
|
107
|
-
getFloat64(offset: number): number;
|
|
108
|
-
getInt8(offset: number): number;
|
|
109
|
-
getInt16(offset: number): number;
|
|
110
|
-
getInt32(offset: number): number;
|
|
111
|
-
getInt64(offset: number): bigint;
|
|
112
|
-
getUint8(offset: number): number;
|
|
113
|
-
getUint16(offset: number): number;
|
|
114
|
-
getUint32(offset: number): number;
|
|
115
|
-
getUint64(offset: number): bigint;
|
|
116
|
-
setFloat32(offset: number, value: number): void;
|
|
117
|
-
setFloat64(offset: number, value: number): void;
|
|
118
|
-
setInt8(offset: number, value: number): void;
|
|
119
|
-
setInt16(offset: number, value: number): void;
|
|
120
|
-
setInt32(offset: number, value: number): void;
|
|
121
|
-
setInt64(offset: number, value: bigint): void;
|
|
122
|
-
setUint8(offset: number, value: number): void;
|
|
123
|
-
setUint16(offset: number, value: number): void;
|
|
124
|
-
setUint32(offset: number, value: number): void;
|
|
125
|
-
setUint64(offset: number, value: bigint): void;
|
|
126
|
-
};
|
|
127
|
-
export declare type ByteBuffer = ReturnType<typeof createByteBuffer>;
|
|
128
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialization/ByteBuffer/index.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,UAAU,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,aAAa,EAAE,MAAM,CAAA;KACtB,CAAA;IAED;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,UAAU,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IAED,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B;IAsDlE;;;;;OAKG;cACO,UAAU;IAGpB;;OAEG;oBACa,MAAM;IAGtB;;OAEG;mBACY,IAAI;IAInB;;OAEG;yBACkB,MAAM;IAG3B;;OAEG;0BACmB,MAAM;IAG5B;;;OAGG;gCACyB,MAAM,GAAG,MAAM;IAG3C;;OAEG;sBACe,MAAM;mBAGT,MAAM;mBAGN,MAAM;gBAGT,MAAM;iBAGL,MAAM;iBAGN,MAAM;iBAGN,MAAM;iBAGN,MAAM;kBAGL,MAAM;kBAGN,MAAM;kBAGN,MAAM;;IAOpB;;OAEG;IACH;;;;OAIG;iCAC0B,MAAM,GAAG,MAAM;IAG5C;;OAEG;YACK,MAAM;IAGd;;OAEG;;uBAIgB,UAAU,gBAAe,OAAO;wBAS/B,MAAM,GAAG,IAAI;wBAIb,MAAM,GAAG,IAAI;qBAIhB,MAAM,GAAG,IAAI;sBAIZ,MAAM,GAAG,IAAI;sBAIb,MAAM,GAAG,IAAI;sBAIb,MAAM,GAAG,IAAI;sBAIb,MAAM,GAAG,IAAI;uBAIZ,MAAM,GAAG,IAAI;uBAIb,MAAM,GAAG,IAAI;uBAIb,MAAM,GAAG,IAAI;uBAKb,MAAM,GAAG,MAAM;uBAGf,MAAM,GAAG,MAAM;oBAGlB,MAAM,GAAG,MAAM;qBAGd,MAAM,GAAG,MAAM;qBAGf,MAAM,GAAG,MAAM;qBAGf,MAAM,GAAG,MAAM;qBAGf,MAAM,GAAG,MAAM;sBAGd,MAAM,GAAG,MAAM;sBAGf,MAAM,GAAG,MAAM;sBAGf,MAAM,GAAG,MAAM;uBAGd,MAAM,SAAS,MAAM,GAAG,IAAI;uBAG5B,MAAM,SAAS,MAAM,GAAG,IAAI;oBAG/B,MAAM,SAAS,MAAM,GAAG,IAAI;qBAG3B,MAAM,SAAS,MAAM,GAAG,IAAI;qBAG5B,MAAM,SAAS,MAAM,GAAG,IAAI;qBAG5B,MAAM,SAAS,MAAM,GAAG,IAAI;qBAG5B,MAAM,SAAS,MAAM,GAAG,IAAI;sBAG3B,MAAM,SAAS,MAAM,GAAG,IAAI;sBAG5B,MAAM,SAAS,MAAM,GAAG,IAAI;sBAG5B,MAAM,SAAS,MAAM,GAAG,IAAI;EAIjD;AAED,oBAAY,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
|
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createByteBuffer = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Take the max between currentSize and intendedSize and then plus 1024. Then,
|
|
6
|
-
* find the next nearer multiple of 1024.
|
|
7
|
-
* @param currentSize - number
|
|
8
|
-
* @param intendedSize - number
|
|
9
|
-
* @returns the calculated number
|
|
10
|
-
*/
|
|
11
|
-
function getNextSize(currentSize, intendedSize) {
|
|
12
|
-
const minNewSize = Math.max(currentSize, intendedSize) + 1024;
|
|
13
|
-
return Math.ceil(minNewSize / 1024) * 1024;
|
|
14
|
-
}
|
|
15
|
-
const defaultInitialCapacity = 10240;
|
|
16
|
-
/**
|
|
17
|
-
* ByteBuffer is a wrapper of DataView which also adds a read and write offset.
|
|
18
|
-
* Also in a write operation it resizes the buffer is being used if it needs.
|
|
19
|
-
*
|
|
20
|
-
* - Use read and write function to generate or consume data.
|
|
21
|
-
* - Use set and get only if you are sure that you're doing.
|
|
22
|
-
*/
|
|
23
|
-
function createByteBuffer(options = {}) {
|
|
24
|
-
const initialROffset = options.reading?.currentOffset || 0;
|
|
25
|
-
let initialBuffer = null;
|
|
26
|
-
let initialWOffset = 0;
|
|
27
|
-
if (options.writing) {
|
|
28
|
-
initialBuffer = options.writing.buffer;
|
|
29
|
-
if (options.writing.currentOffset) {
|
|
30
|
-
initialWOffset = options.writing.currentOffset;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else if (options.reading) {
|
|
34
|
-
initialBuffer = options.reading.buffer;
|
|
35
|
-
initialWOffset = options.reading.length || options.reading.buffer.length;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
initialBuffer = new Uint8Array(options.initialCapacity || defaultInitialCapacity);
|
|
39
|
-
}
|
|
40
|
-
let buffer = initialBuffer;
|
|
41
|
-
let view = new DataView(buffer.buffer, buffer.byteOffset);
|
|
42
|
-
let woffset = initialWOffset;
|
|
43
|
-
let roffset = initialROffset;
|
|
44
|
-
/**
|
|
45
|
-
* Increement the write offset and resize the buffer if it needs.
|
|
46
|
-
*/
|
|
47
|
-
const woAdd = (amount) => {
|
|
48
|
-
if (woffset + amount > buffer.byteLength) {
|
|
49
|
-
const newsize = getNextSize(buffer.byteLength, woffset + amount);
|
|
50
|
-
const newBuffer = new Uint8Array(newsize);
|
|
51
|
-
newBuffer.set(buffer);
|
|
52
|
-
buffer = newBuffer;
|
|
53
|
-
view = new DataView(buffer.buffer);
|
|
54
|
-
}
|
|
55
|
-
woffset += amount;
|
|
56
|
-
return woffset - amount;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Increment the read offset and throw an error if it's trying to read
|
|
60
|
-
* outside the bounds.
|
|
61
|
-
*/
|
|
62
|
-
const roAdd = (amount) => {
|
|
63
|
-
if (roffset + amount > woffset) {
|
|
64
|
-
throw new Error('Outside of the bounds of writen data.');
|
|
65
|
-
}
|
|
66
|
-
roffset += amount;
|
|
67
|
-
return roffset - amount;
|
|
68
|
-
};
|
|
69
|
-
return {
|
|
70
|
-
/**
|
|
71
|
-
* @returns The entire current Uint8Array.
|
|
72
|
-
*
|
|
73
|
-
* WARNING: if the buffer grows, the view had changed itself,
|
|
74
|
-
* and the reference will be a invalid one.
|
|
75
|
-
*/
|
|
76
|
-
buffer() {
|
|
77
|
-
return buffer;
|
|
78
|
-
},
|
|
79
|
-
/**
|
|
80
|
-
* @returns The capacity of the current buffer
|
|
81
|
-
*/
|
|
82
|
-
bufferLength() {
|
|
83
|
-
return buffer.length;
|
|
84
|
-
},
|
|
85
|
-
/**
|
|
86
|
-
* Resets byteBuffer to avoid creating a new one
|
|
87
|
-
*/
|
|
88
|
-
resetBuffer() {
|
|
89
|
-
roffset = 0;
|
|
90
|
-
woffset = 0;
|
|
91
|
-
},
|
|
92
|
-
/**
|
|
93
|
-
* @returns The current read offset
|
|
94
|
-
*/
|
|
95
|
-
currentReadOffset() {
|
|
96
|
-
return roffset;
|
|
97
|
-
},
|
|
98
|
-
/**
|
|
99
|
-
* @returns The current write offset
|
|
100
|
-
*/
|
|
101
|
-
currentWriteOffset() {
|
|
102
|
-
return woffset;
|
|
103
|
-
},
|
|
104
|
-
/**
|
|
105
|
-
* Reading purpose
|
|
106
|
-
* Returns the previuos offsset size before incrementing
|
|
107
|
-
*/
|
|
108
|
-
incrementReadOffset(amount) {
|
|
109
|
-
return roAdd(amount);
|
|
110
|
-
},
|
|
111
|
-
/**
|
|
112
|
-
* @returns How many bytes are available to read.
|
|
113
|
-
*/
|
|
114
|
-
remainingBytes() {
|
|
115
|
-
return woffset - roffset;
|
|
116
|
-
},
|
|
117
|
-
readFloat32() {
|
|
118
|
-
return view.getFloat32(roAdd(4));
|
|
119
|
-
},
|
|
120
|
-
readFloat64() {
|
|
121
|
-
return view.getFloat64(roAdd(8));
|
|
122
|
-
},
|
|
123
|
-
readInt8() {
|
|
124
|
-
return view.getInt8(roAdd(1));
|
|
125
|
-
},
|
|
126
|
-
readInt16() {
|
|
127
|
-
return view.getInt16(roAdd(2));
|
|
128
|
-
},
|
|
129
|
-
readInt32() {
|
|
130
|
-
return view.getInt32(roAdd(4));
|
|
131
|
-
},
|
|
132
|
-
readInt64() {
|
|
133
|
-
return view.getBigInt64(roAdd(8));
|
|
134
|
-
},
|
|
135
|
-
readUint8() {
|
|
136
|
-
return view.getUint8(roAdd(1));
|
|
137
|
-
},
|
|
138
|
-
readUint16() {
|
|
139
|
-
return view.getUint16(roAdd(2));
|
|
140
|
-
},
|
|
141
|
-
readUint32() {
|
|
142
|
-
return view.getUint32(roAdd(4));
|
|
143
|
-
},
|
|
144
|
-
readUint64() {
|
|
145
|
-
return view.getBigUint64(roAdd(8));
|
|
146
|
-
},
|
|
147
|
-
readBuffer() {
|
|
148
|
-
const length = view.getUint32(roAdd(4));
|
|
149
|
-
return buffer.subarray(roAdd(length), roAdd(0));
|
|
150
|
-
},
|
|
151
|
-
/**
|
|
152
|
-
* Writing purpose
|
|
153
|
-
*/
|
|
154
|
-
/**
|
|
155
|
-
* Increment offset
|
|
156
|
-
* @param amount - how many bytes
|
|
157
|
-
* @returns The offset when this reserving starts.
|
|
158
|
-
*/
|
|
159
|
-
incrementWriteOffset(amount) {
|
|
160
|
-
return woAdd(amount);
|
|
161
|
-
},
|
|
162
|
-
/**
|
|
163
|
-
* @returns The total number of bytes writen in the buffer.
|
|
164
|
-
*/
|
|
165
|
-
size() {
|
|
166
|
-
return woffset;
|
|
167
|
-
},
|
|
168
|
-
/**
|
|
169
|
-
* @returns The subarray from 0 to offset.
|
|
170
|
-
*/
|
|
171
|
-
toBinary() {
|
|
172
|
-
return buffer.subarray(0, woffset);
|
|
173
|
-
},
|
|
174
|
-
writeBuffer(value, writeLength = true) {
|
|
175
|
-
if (writeLength) {
|
|
176
|
-
this.writeUint32(value.byteLength);
|
|
177
|
-
}
|
|
178
|
-
// TODO: lean
|
|
179
|
-
const o = woAdd(value.byteLength);
|
|
180
|
-
buffer.set(value, o);
|
|
181
|
-
},
|
|
182
|
-
writeFloat32(value) {
|
|
183
|
-
const o = woAdd(4);
|
|
184
|
-
view.setFloat32(o, value);
|
|
185
|
-
},
|
|
186
|
-
writeFloat64(value) {
|
|
187
|
-
const o = woAdd(8);
|
|
188
|
-
view.setFloat64(o, value);
|
|
189
|
-
},
|
|
190
|
-
writeInt8(value) {
|
|
191
|
-
const o = woAdd(1);
|
|
192
|
-
view.setInt8(o, value);
|
|
193
|
-
},
|
|
194
|
-
writeInt16(value) {
|
|
195
|
-
const o = woAdd(2);
|
|
196
|
-
view.setInt16(o, value);
|
|
197
|
-
},
|
|
198
|
-
writeInt32(value) {
|
|
199
|
-
const o = woAdd(4);
|
|
200
|
-
view.setInt32(o, value);
|
|
201
|
-
},
|
|
202
|
-
writeInt64(value) {
|
|
203
|
-
const o = woAdd(8);
|
|
204
|
-
view.setBigInt64(o, value);
|
|
205
|
-
},
|
|
206
|
-
writeUint8(value) {
|
|
207
|
-
const o = woAdd(1);
|
|
208
|
-
view.setUint8(o, value);
|
|
209
|
-
},
|
|
210
|
-
writeUint16(value) {
|
|
211
|
-
const o = woAdd(2);
|
|
212
|
-
view.setUint16(o, value);
|
|
213
|
-
},
|
|
214
|
-
writeUint32(value) {
|
|
215
|
-
const o = woAdd(4);
|
|
216
|
-
view.setUint32(o, value);
|
|
217
|
-
},
|
|
218
|
-
writeUint64(value) {
|
|
219
|
-
const o = woAdd(8);
|
|
220
|
-
view.setBigUint64(o, value);
|
|
221
|
-
},
|
|
222
|
-
// Dataview Proxy
|
|
223
|
-
getFloat32(offset) {
|
|
224
|
-
return view.getFloat32(offset);
|
|
225
|
-
},
|
|
226
|
-
getFloat64(offset) {
|
|
227
|
-
return view.getFloat64(offset);
|
|
228
|
-
},
|
|
229
|
-
getInt8(offset) {
|
|
230
|
-
return view.getInt8(offset);
|
|
231
|
-
},
|
|
232
|
-
getInt16(offset) {
|
|
233
|
-
return view.getInt16(offset);
|
|
234
|
-
},
|
|
235
|
-
getInt32(offset) {
|
|
236
|
-
return view.getInt32(offset);
|
|
237
|
-
},
|
|
238
|
-
getInt64(offset) {
|
|
239
|
-
return view.getBigInt64(offset);
|
|
240
|
-
},
|
|
241
|
-
getUint8(offset) {
|
|
242
|
-
return view.getUint8(offset);
|
|
243
|
-
},
|
|
244
|
-
getUint16(offset) {
|
|
245
|
-
return view.getUint16(offset);
|
|
246
|
-
},
|
|
247
|
-
getUint32(offset) {
|
|
248
|
-
return view.getUint32(offset);
|
|
249
|
-
},
|
|
250
|
-
getUint64(offset) {
|
|
251
|
-
return view.getBigUint64(offset);
|
|
252
|
-
},
|
|
253
|
-
setFloat32(offset, value) {
|
|
254
|
-
view.setFloat32(offset, value);
|
|
255
|
-
},
|
|
256
|
-
setFloat64(offset, value) {
|
|
257
|
-
view.setFloat64(offset, value);
|
|
258
|
-
},
|
|
259
|
-
setInt8(offset, value) {
|
|
260
|
-
view.setInt8(offset, value);
|
|
261
|
-
},
|
|
262
|
-
setInt16(offset, value) {
|
|
263
|
-
view.setInt16(offset, value);
|
|
264
|
-
},
|
|
265
|
-
setInt32(offset, value) {
|
|
266
|
-
view.setInt32(offset, value);
|
|
267
|
-
},
|
|
268
|
-
setInt64(offset, value) {
|
|
269
|
-
view.setBigInt64(offset, value);
|
|
270
|
-
},
|
|
271
|
-
setUint8(offset, value) {
|
|
272
|
-
view.setUint8(offset, value);
|
|
273
|
-
},
|
|
274
|
-
setUint16(offset, value) {
|
|
275
|
-
view.setUint16(offset, value);
|
|
276
|
-
},
|
|
277
|
-
setUint32(offset, value) {
|
|
278
|
-
view.setUint32(offset, value);
|
|
279
|
-
},
|
|
280
|
-
setUint64(offset, value) {
|
|
281
|
-
view.setBigUint64(offset, value);
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
exports.createByteBuffer = createByteBuffer;
|
|
286
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/serialization/ByteBuffer/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,WAAmB,EAAE,YAAoB;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAA;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;AAC5C,CAAC;AA+BD,MAAM,sBAAsB,GAAG,KAAK,CAAA;AAEpC;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,UAAmC,EAAE;IACpE,MAAM,cAAc,GAAW,OAAO,CAAC,OAAO,EAAE,aAAa,IAAI,CAAC,CAAA;IAClE,IAAI,aAAa,GAAsB,IAAI,CAAA;IAC3C,IAAI,cAAc,GAAW,CAAC,CAAA;IAE9B,IAAI,OAAO,CAAC,OAAO,EAAE;QACnB,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QACtC,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;YACjC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAA;SAC/C;KACF;SAAM,IAAI,OAAO,CAAC,OAAO,EAAE;QAC1B,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;QACtC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAA;KACzE;SAAM;QACL,aAAa,GAAG,IAAI,UAAU,CAC5B,OAAO,CAAC,eAAe,IAAI,sBAAsB,CAClD,CAAA;KACF;IAED,IAAI,MAAM,GAAe,aAAc,CAAA;IACvC,IAAI,IAAI,GAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACnE,IAAI,OAAO,GAAW,cAAc,CAAA;IACpC,IAAI,OAAO,GAAW,cAAc,CAAA;IAEpC;;OAEG;IACH,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QAC/B,IAAI,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE;YACxC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAAC,CAAA;YAChE,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;YACzC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACrB,MAAM,GAAG,SAAS,CAAA;YAClB,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SACnC;QAED,OAAO,IAAI,MAAM,CAAA;QACjB,OAAO,OAAO,GAAG,MAAM,CAAA;IACzB,CAAC,CAAA;IAED;;;OAGG;IACH,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;QAC/B,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;SACzD;QAED,OAAO,IAAI,MAAM,CAAA;QACjB,OAAO,OAAO,GAAG,MAAM,CAAA;IACzB,CAAC,CAAA;IAED,OAAO;QACL;;;;;WAKG;QACH,MAAM;YACJ,OAAO,MAAM,CAAA;QACf,CAAC;QACD;;WAEG;QACH,YAAY;YACV,OAAO,MAAM,CAAC,MAAM,CAAA;QACtB,CAAC;QACD;;WAEG;QACH,WAAW;YACT,OAAO,GAAG,CAAC,CAAA;YACX,OAAO,GAAG,CAAC,CAAA;QACb,CAAC;QACD;;WAEG;QACH,iBAAiB;YACf,OAAO,OAAO,CAAA;QAChB,CAAC;QACD;;WAEG;QACH,kBAAkB;YAChB,OAAO,OAAO,CAAA;QAChB,CAAC;QACD;;;WAGG;QACH,mBAAmB,CAAC,MAAc;YAChC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QACD;;WAEG;QACH,cAAc;YACZ,OAAO,OAAO,GAAG,OAAO,CAAA;QAC1B,CAAC;QACD,WAAW;YACT,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,WAAW;YACT,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QACD,QAAQ;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC;QACD,SAAS;YACP,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,SAAS;YACP,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,SAAS;YACP,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,SAAS;YACP,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,UAAU;YACR,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,UAAU;YACR,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,UAAU;YACR,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,UAAU;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,CAAC;QACD;;WAEG;QACH;;;;WAIG;QACH,oBAAoB,CAAC,MAAc;YACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QACD;;WAEG;QACH,IAAI;YACF,OAAO,OAAO,CAAA;QAChB,CAAC;QACD;;WAEG;QACH,QAAQ;YACN,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;QACD,WAAW,CAAC,KAAiB,EAAE,cAAuB,IAAI;YACxD,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;aACnC;YAED,aAAa;YACb,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACjC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACtB,CAAC;QACD,YAAY,CAAC,KAAa;YACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,YAAY,CAAC,KAAa;YACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,SAAS,CAAC,KAAa;YACrB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,UAAU,CAAC,KAAa;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,UAAU,CAAC,KAAa;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,UAAU,CAAC,KAAa;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC;QACD,UAAU,CAAC,KAAa;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,WAAW,CAAC,KAAa;YACvB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC;QACD,WAAW,CAAC,KAAa;YACvB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC;QACD,WAAW,CAAC,KAAa;YACvB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC;QACD,iBAAiB;QACjB,UAAU,CAAC,MAAc;YACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,UAAU,CAAC,MAAc;YACvB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,CAAC,MAAc;YACpB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,QAAQ,CAAC,MAAc;YACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QACD,QAAQ,CAAC,MAAc;YACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QACD,QAAQ,CAAC,MAAc;YACrB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC;QACD,QAAQ,CAAC,MAAc;YACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QACD,SAAS,CAAC,MAAc;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,SAAS,CAAC,MAAc;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QACD,SAAS,CAAC,MAAc;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;QACD,UAAU,CAAC,MAAc,EAAE,KAAa;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;QACD,UAAU,CAAC,MAAc,EAAE,KAAa;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,CAAC,MAAc,EAAE,KAAa;YACnC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC;QACD,QAAQ,CAAC,MAAc,EAAE,KAAa;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC;QACD,QAAQ,CAAC,MAAc,EAAE,KAAa;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC;QACD,QAAQ,CAAC,MAAc,EAAE,KAAa;YACpC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;QACD,QAAQ,CAAC,MAAc,EAAE,KAAa;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC;QACD,SAAS,CAAC,MAAc,EAAE,KAAa;YACrC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;QACD,SAAS,CAAC,MAAc,EAAE,KAAa;YACrC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;QACD,SAAS,CAAC,MAAc,EAAE,KAAa;YACrC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC;AA7QD,4CA6QC"}
|