@christianriedl/utils 1.0.85 → 1.0.87

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.
@@ -30,6 +30,8 @@ export declare class MarshalBE implements IMarshal {
30
30
  readFloat(): number;
31
31
  readDouble(): number;
32
32
  readString(): string;
33
+ writeLength(val: number): void;
34
+ readLength(): number;
33
35
  reset(): void;
34
36
  get readOffset(): number;
35
37
  get writeOffset(): number;
package/dist/marshalBE.js CHANGED
@@ -55,7 +55,7 @@ export class MarshalBE {
55
55
  writeString(val) {
56
56
  if (val) {
57
57
  const byteLength = Buffer.byteLength(val, this._encoding);
58
- this.writeInt32(byteLength);
58
+ this.writeLength(byteLength);
59
59
  this._buffer.write(val, this._writeOffset, byteLength, this._encoding);
60
60
  this._writeOffset += byteLength;
61
61
  }
@@ -118,7 +118,7 @@ export class MarshalBE {
118
118
  return val;
119
119
  }
120
120
  readString() {
121
- const len = this.readInt32();
121
+ const len = this.readLength();
122
122
  if (len) {
123
123
  const val = this._buffer.slice(this._readOffset, this._readOffset + len).toString(this._encoding);
124
124
  this._readOffset += len;
@@ -126,6 +126,30 @@ export class MarshalBE {
126
126
  }
127
127
  return '';
128
128
  }
129
+ writeLength(val) {
130
+ if (val <= 0x7f)
131
+ this.writeUInt8(val);
132
+ else if (val <= 0x3fff) {
133
+ this.writeUInt8((val >> 8) | 0x80);
134
+ this.writeUInt8(val & 0xff);
135
+ }
136
+ else if (val <= 0x3fffffff) {
137
+ this.writeUInt8((val >> 16) | 0xC0);
138
+ this.writeUInt8(val >> 8);
139
+ this.writeUInt8(val & 0xff);
140
+ }
141
+ else {
142
+ throw `${val} too big for WriteLength`;
143
+ }
144
+ }
145
+ readLength() {
146
+ let value = this.readUInt8();
147
+ if (value <= 0x7f)
148
+ return value;
149
+ if ((value & 0xc0) == 0x80)
150
+ return ((value & 0x3f) << 8) + this.readUInt8();
151
+ return value = (((value & 0x3f) << 8) + this.readUInt8() << 8) + this.readUInt8();
152
+ }
129
153
  reset() {
130
154
  this._readOffset = this._writeOffset = 0;
131
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"marshalBE.js","sourceRoot":"","sources":["../src/marshalBE.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marshalBE.js","sourceRoot":"","sources":["../src/marshalBE.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export declare class MarshalLE implements IMarshal {
30
30
  readFloat(): number;
31
31
  readDouble(): number;
32
32
  readString(): string;
33
+ writeLength(val: number): void;
34
+ readLength(): number;
33
35
  reset(): void;
34
36
  get readOffset(): number;
35
37
  get writeOffset(): number;
package/dist/marshalLE.js CHANGED
@@ -54,7 +54,7 @@ export class MarshalLE {
54
54
  }
55
55
  writeString(val) {
56
56
  const byteLength = Buffer.byteLength(val, this._encoding);
57
- this.writeInt32(byteLength);
57
+ this.writeLength(byteLength);
58
58
  this._buffer.write(val, this._writeOffset, byteLength, this._encoding);
59
59
  this._writeOffset += byteLength;
60
60
  }
@@ -114,11 +114,35 @@ export class MarshalLE {
114
114
  return val;
115
115
  }
116
116
  readString() {
117
- const len = this.readInt32();
117
+ const len = this.readLength();
118
118
  const val = this._buffer.slice(this._readOffset, this._readOffset + len).toString(this._encoding);
119
119
  this._readOffset += len;
120
120
  return val;
121
121
  }
122
+ writeLength(val) {
123
+ if (val <= 0x7f)
124
+ this.writeUInt8(val);
125
+ else if (val <= 0x3fff) {
126
+ this.writeUInt8((val >> 8) | 0x80);
127
+ this.writeUInt8(val & 0xff);
128
+ }
129
+ else if (val <= 0x3fffffff) {
130
+ this.writeUInt8((val >> 16) | 0xC0);
131
+ this.writeUInt8(val >> 8);
132
+ this.writeUInt8(val & 0xff);
133
+ }
134
+ else {
135
+ throw `${val} too big for WriteLength`;
136
+ }
137
+ }
138
+ readLength() {
139
+ let value = this.readUInt8();
140
+ if (value <= 0x7f)
141
+ return value;
142
+ if ((value & 0xc0) == 0x80)
143
+ return ((value & 0x3f) << 8) + this.readUInt8();
144
+ return value = (((value & 0x3f) << 8) + this.readUInt8() << 8) + this.readUInt8();
145
+ }
122
146
  reset() {
123
147
  this._readOffset = this._writeOffset = 0;
124
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"marshalLE.js","sourceRoot":"","sources":["../src/marshalLE.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marshalLE.js","sourceRoot":"","sources":["../src/marshalLE.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/utils",
3
- "version": "1.0.85",
3
+ "version": "1.0.87",
4
4
  "description": "Interfaces, local storage, service worker, configuration, application state",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,7 +8,7 @@
8
8
  const appState = inject(appStateSymbol)!;
9
9
  const dateFormatted = ref('');
10
10
 
11
- let now: Date;
11
+ let now = new Date(1970,1,1);
12
12
 
13
13
  onMounted(() => { appState.navigate.value = onNavigate; });
14
14
  onUnmounted(() => { appState.navigate.value = null });
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { reactive } from 'vue';
3
- import { IConfigItem, EScope } from '@christianriedl/utils';
3
+ import { IConfigItem, ItemType, EScope } from '@christianriedl/utils';
4
4
 
5
5
  const props = defineProps<{item: IConfigItem; scopes: EScope }>();
6
6
  const emits = defineEmits<{ (e: 'change', value: any): void }>();
@@ -12,8 +12,9 @@
12
12
  const isBoolean = typeof item.default === 'boolean';
13
13
  const isDisabled = item.doNotChange;
14
14
  const isVisible = (item.scopes & props.scopes) != 0;
15
+ const enumValues: ItemType[] = item.values!;
15
16
 
16
- function onChange(ev: Event) {
17
+ function onChange() {
17
18
  emits('change', true);
18
19
  }
19
20
  </script>
@@ -26,7 +27,7 @@
26
27
  <v-text-field v-if="isString" v-model="item.value" :disabled="isDisabled" density="compact" hide-details type="string" @change="onChange"></v-text-field>
27
28
  <v-text-field v-if="isNumber" v-model="item.value" :disabled="isDisabled" density="compact" hide-details type="number" @change="onChange"></v-text-field>
28
29
  <v-select v-if="isEnum" name="enum" density="compact" v-model="item.value" :disabled="isDisabled"
29
- :items="item.values"
30
+ :items="enumValues"
30
31
  persistent-hint
31
32
  @update:modelValue="onChange"
32
33
  dense solo hide-details single-line>