mirror of
https://github.com/yume-chan/ya-webadb.git
synced 2025-10-03 01:39:21 +02:00
fix(struct): fix incorrect __NO_SIDE_EFFECTS__
annotation
This commit is contained in:
parent
1de86c354a
commit
46e78401a4
9 changed files with 34 additions and 33 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt16LittleEndian(
|
export function getInt16LittleEndian(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
@ -5,10 +6,12 @@ export function getInt16LittleEndian(
|
||||||
return ((buffer[offset]! | (buffer[offset + 1]! << 8)) << 16) >> 16;
|
return ((buffer[offset]! | (buffer[offset + 1]! << 8)) << 16) >> 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt16BigEndian(buffer: Uint8Array, offset: number): number {
|
export function getInt16BigEndian(buffer: Uint8Array, offset: number): number {
|
||||||
return (((buffer[offset]! << 8) | buffer[offset + 1]!) << 16) >> 16;
|
return (((buffer[offset]! << 8) | buffer[offset + 1]!) << 16) >> 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt16(
|
export function getInt16(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
@ -19,6 +22,7 @@ export function getInt16(
|
||||||
: (((buffer[offset]! << 8) | buffer[offset + 1]!) << 16) >> 16;
|
: (((buffer[offset]! << 8) | buffer[offset + 1]!) << 16) >> 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function setInt16LittleEndian(
|
export function setInt16LittleEndian(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt32LittleEndian(
|
export function getInt32LittleEndian(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
@ -10,6 +11,7 @@ export function getInt32LittleEndian(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt32BigEndian(buffer: Uint8Array, offset: number): number {
|
export function getInt32BigEndian(buffer: Uint8Array, offset: number): number {
|
||||||
return (
|
return (
|
||||||
(buffer[offset]! << 24) |
|
(buffer[offset]! << 24) |
|
||||||
|
@ -19,6 +21,7 @@ export function getInt32BigEndian(buffer: Uint8Array, offset: number): number {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt32(
|
export function getInt32(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt64LittleEndian(
|
export function getInt64LittleEndian(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
@ -14,6 +15,7 @@ export function getInt64LittleEndian(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt64BigEndian(buffer: Uint8Array, offset: number): bigint {
|
export function getInt64BigEndian(buffer: Uint8Array, offset: number): bigint {
|
||||||
return (
|
return (
|
||||||
(BigInt(buffer[offset]! << 24) << 32n) |
|
(BigInt(buffer[offset]! << 24) << 32n) |
|
||||||
|
@ -27,6 +29,7 @@ export function getInt64BigEndian(buffer: Uint8Array, offset: number): bigint {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt64(
|
export function getInt64(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getInt8(buffer: Uint8Array, offset: number): number {
|
export function getInt8(buffer: Uint8Array, offset: number): number {
|
||||||
return (buffer[offset]! << 24) >> 24;
|
return (buffer[offset]! << 24) >> 24;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getUint16LittleEndian(
|
export function getUint16LittleEndian(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
@ -5,10 +6,12 @@ export function getUint16LittleEndian(
|
||||||
return buffer[offset]! | (buffer[offset + 1]! << 8);
|
return buffer[offset]! | (buffer[offset + 1]! << 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getUint16BigEndian(buffer: Uint8Array, offset: number): number {
|
export function getUint16BigEndian(buffer: Uint8Array, offset: number): number {
|
||||||
return (buffer[offset]! << 8) | buffer[offset + 1]!;
|
return (buffer[offset]! << 8) | buffer[offset + 1]!;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getUint16(
|
export function getUint16(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getUint32LittleEndian(
|
export function getUint32LittleEndian(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
@ -11,6 +12,7 @@ export function getUint32LittleEndian(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getUint32BigEndian(buffer: Uint8Array, offset: number): number {
|
export function getUint32BigEndian(buffer: Uint8Array, offset: number): number {
|
||||||
return (
|
return (
|
||||||
((buffer[offset]! << 24) |
|
((buffer[offset]! << 24) |
|
||||||
|
@ -21,6 +23,7 @@ export function getUint32BigEndian(buffer: Uint8Array, offset: number): number {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
export function getUint32(
|
export function getUint32(
|
||||||
buffer: Uint8Array,
|
buffer: Uint8Array,
|
||||||
offset: number,
|
offset: number,
|
||||||
|
|
|
@ -23,19 +23,18 @@ export interface NumberField<T> extends Field<T, never, never> {
|
||||||
|
|
||||||
/* #__NO_SIDE_EFFECTS__ */
|
/* #__NO_SIDE_EFFECTS__ */
|
||||||
function factory<T>(
|
function factory<T>(
|
||||||
fn: NumberField<T>,
|
|
||||||
size: number,
|
size: number,
|
||||||
serialize: Field<T, never, never>["serialize"],
|
serialize: Field<T, never, never>["serialize"],
|
||||||
deserialize: Field<T, never, never>["deserialize"],
|
deserialize: Field<T, never, never>["deserialize"],
|
||||||
) {
|
) {
|
||||||
|
const fn: NumberField<T> = (() => fn) as never;
|
||||||
fn.size = size;
|
fn.size = size;
|
||||||
fn.serialize = serialize;
|
fn.serialize = serialize;
|
||||||
fn.deserialize = deserialize;
|
fn.deserialize = deserialize;
|
||||||
|
return fn;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const u8: NumberField<number> = (() => u8) as never;
|
export const u8: NumberField<number> = factory(
|
||||||
factory(
|
|
||||||
u8,
|
|
||||||
1,
|
1,
|
||||||
(value, { buffer, index }) => {
|
(value, { buffer, index }) => {
|
||||||
buffer[index] = value;
|
buffer[index] = value;
|
||||||
|
@ -46,9 +45,7 @@ factory(
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const s8: NumberField<number> = (() => s8) as never;
|
export const s8: NumberField<number> = factory(
|
||||||
factory(
|
|
||||||
s8,
|
|
||||||
1,
|
1,
|
||||||
(value, { buffer, index }) => {
|
(value, { buffer, index }) => {
|
||||||
buffer[index] = value;
|
buffer[index] = value;
|
||||||
|
@ -59,9 +56,7 @@ factory(
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const u16: NumberField<number> = (() => u16) as never;
|
export const u16: NumberField<number> = factory(
|
||||||
factory(
|
|
||||||
u16,
|
|
||||||
2,
|
2,
|
||||||
(value, { buffer, index, littleEndian }) => {
|
(value, { buffer, index, littleEndian }) => {
|
||||||
setUint16(buffer, index, value, littleEndian);
|
setUint16(buffer, index, value, littleEndian);
|
||||||
|
@ -72,9 +67,7 @@ factory(
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const s16: NumberField<number> = (() => u16) as never;
|
export const s16: NumberField<number> = factory(
|
||||||
factory(
|
|
||||||
s16,
|
|
||||||
2,
|
2,
|
||||||
(value, { buffer, index, littleEndian }) => {
|
(value, { buffer, index, littleEndian }) => {
|
||||||
setInt16(buffer, index, value, littleEndian);
|
setInt16(buffer, index, value, littleEndian);
|
||||||
|
@ -85,9 +78,7 @@ factory(
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const u32: NumberField<number> = (() => u32) as never;
|
export const u32: NumberField<number> = factory(
|
||||||
factory(
|
|
||||||
u32,
|
|
||||||
4,
|
4,
|
||||||
(value, { buffer, index, littleEndian }) => {
|
(value, { buffer, index, littleEndian }) => {
|
||||||
setUint32(buffer, index, value, littleEndian);
|
setUint32(buffer, index, value, littleEndian);
|
||||||
|
@ -98,9 +89,7 @@ factory(
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const s32: NumberField<number> = (() => s32) as never;
|
export const s32: NumberField<number> = factory(
|
||||||
factory(
|
|
||||||
s32,
|
|
||||||
4,
|
4,
|
||||||
(value, { buffer, index, littleEndian }) => {
|
(value, { buffer, index, littleEndian }) => {
|
||||||
setInt32(buffer, index, value, littleEndian);
|
setInt32(buffer, index, value, littleEndian);
|
||||||
|
@ -111,9 +100,7 @@ factory(
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const u64: NumberField<bigint> = (() => u64) as never;
|
export const u64: NumberField<bigint> = factory(
|
||||||
factory(
|
|
||||||
u64,
|
|
||||||
8,
|
8,
|
||||||
(value, { buffer, index, littleEndian }) => {
|
(value, { buffer, index, littleEndian }) => {
|
||||||
setUint64(buffer, index, value, littleEndian);
|
setUint64(buffer, index, value, littleEndian);
|
||||||
|
@ -124,9 +111,7 @@ factory(
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
export const s64: NumberField<bigint> = (() => u64) as never;
|
export const s64: NumberField<bigint> = factory(
|
||||||
factory(
|
|
||||||
s64,
|
|
||||||
8,
|
8,
|
||||||
(value, { buffer, index, littleEndian }) => {
|
(value, { buffer, index, littleEndian }) => {
|
||||||
setInt64(buffer, index, value, littleEndian);
|
setInt64(buffer, index, value, littleEndian);
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript"
|
"start": "rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript --watch"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import node from "@rollup/plugin-node-resolve";
|
import node from "@rollup/plugin-node-resolve";
|
||||||
import terser from "@rollup/plugin-terser";
|
|
||||||
import typescript from "@rollup/plugin-typescript";
|
import typescript from "@rollup/plugin-typescript";
|
||||||
import { defineConfig } from "rollup";
|
import { defineConfig } from "rollup";
|
||||||
|
|
||||||
|
@ -14,11 +13,11 @@ export default defineConfig({
|
||||||
plugins: [
|
plugins: [
|
||||||
typescript(),
|
typescript(),
|
||||||
node(),
|
node(),
|
||||||
terser({
|
// terser({
|
||||||
module: true,
|
// module: true,
|
||||||
format: {
|
// format: {
|
||||||
beautify: true,
|
// beautify: true,
|
||||||
},
|
// },
|
||||||
}),
|
// }),
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue