@iotize/device-com-ble.cordova 3.7.2 → 4.0.0-alpha.1

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 (176) hide show
  1. package/CHANGELOG.md +143 -0
  2. package/package.json +7 -21
  3. package/packages/common/byte-converter/src/lib/byte-converter.d.ts +30 -0
  4. package/packages/common/byte-converter/src/public_api.d.ts +1 -0
  5. package/packages/common/byte-stream/src/lib/kaitai/kaitai-stream-reader.d.ts +155 -0
  6. package/packages/common/byte-stream/src/lib/kaitai/kaitai-stream-writer.d.ts +76 -0
  7. package/packages/common/byte-stream/src/lib/kaitai/kaitai-stream.d.ts +209 -0
  8. package/packages/common/byte-stream/src/lib/utility.d.ts +16 -0
  9. package/packages/common/byte-stream/src/public_api.d.ts +4 -0
  10. package/packages/common/converter/api/src/lib/converter.interface.d.ts +3 -0
  11. package/packages/common/converter/api/src/lib/decoder.interface.d.ts +4 -0
  12. package/packages/common/converter/api/src/lib/encoder-decoder.interface.d.ts +5 -0
  13. package/packages/common/converter/api/src/lib/encoder.interface.d.ts +4 -0
  14. package/packages/common/converter/api/src/public_api.d.ts +4 -0
  15. package/packages/common/debug/src/lib/debug.d.ts +7 -0
  16. package/packages/common/debug/src/public_api.d.ts +1 -0
  17. package/packages/common/error/src/lib/base-error.d.ts +3 -0
  18. package/packages/common/error/src/lib/code-error.d.ts +9 -0
  19. package/packages/common/error/src/public_api.d.ts +2 -0
  20. package/packages/common/promise/src/lib/promise-delay.d.ts +6 -0
  21. package/packages/common/promise/src/lib/promise-serial.d.ts +6 -0
  22. package/packages/common/promise/src/lib/promise-timeout.d.ts +10 -0
  23. package/packages/common/promise/src/public_api.d.ts +3 -0
  24. package/packages/common/task-manager/src/lib/cancelable-task.d.ts +22 -0
  25. package/packages/common/task-manager/src/lib/debug.d.ts +2 -0
  26. package/packages/common/task-manager/src/lib/definitions.d.ts +16 -0
  27. package/packages/common/task-manager/src/lib/step-operations.d.ts +112 -0
  28. package/packages/common/task-manager/src/lib/task-queue.d.ts +28 -0
  29. package/packages/common/task-manager/src/public_api.d.ts +4 -0
  30. package/packages/common/tlv/src/lib/debug.d.ts +2 -0
  31. package/packages/common/tlv/src/lib/tlv.d.ts +65 -0
  32. package/packages/common/tlv/src/public_api.d.ts +1 -0
  33. package/packages/common/utility/src/lib/assert-error.d.ts +1 -0
  34. package/packages/common/utility/src/lib/deep-copy.d.ts +14 -0
  35. package/packages/common/utility/src/lib/enum-util.d.ts +23 -0
  36. package/packages/common/utility/src/lib/sleep.d.ts +1 -0
  37. package/packages/common/utility/src/lib/utility.d.ts +1 -0
  38. package/packages/common/utility/src/public_api.d.ts +5 -0
  39. package/{lib → packages/device-com-ble.cordova/src/lib}/ble-com-protocol.d.ts +20 -20
  40. package/{lib → packages/device-com-ble.cordova/src/lib}/cordova-ble-error.d.ts +29 -29
  41. package/{lib → packages/device-com-ble.cordova/src/lib}/cordova-interface.d.ts +5 -5
  42. package/{lib → packages/device-com-ble.cordova/src/lib}/cordova-service-adapter.d.ts +58 -58
  43. package/{lib → packages/device-com-ble.cordova/src/lib}/definitions.d.ts +43 -43
  44. package/{lib → packages/device-com-ble.cordova/src/lib}/iotize-ble-cordova-plugin.d.ts +27 -27
  45. package/packages/device-com-ble.cordova/src/lib/logger.d.ts +2 -0
  46. package/{lib → packages/device-com-ble.cordova/src/lib}/scanner.d.ts +55 -55
  47. package/{lib → packages/device-com-ble.cordova/src/lib}/utility.d.ts +6 -6
  48. package/packages/device-com-ble.cordova/src/plugin.d.ts +7 -0
  49. package/packages/tap/client/api/src/lib/converter/definitions.d.ts +7 -0
  50. package/packages/tap/client/api/src/lib/definitions.d.ts +20 -0
  51. package/packages/tap/client/api/src/lib/generated/models.d.ts +150 -0
  52. package/packages/tap/client/api/src/lib/result-code.d.ts +170 -0
  53. package/packages/tap/client/api/src/lib/tap-client.interface.d.ts +28 -0
  54. package/packages/tap/client/api/src/public_api.d.ts +6 -0
  55. package/packages/tap/client/impl/src/lib/apdu/tap-apdu-request-builder.d.ts +2 -0
  56. package/packages/tap/client/impl/src/lib/converter/body/array-converter.d.ts +15 -0
  57. package/packages/tap/client/impl/src/lib/converter/body/boolean-decoder.d.ts +12 -0
  58. package/packages/tap/client/impl/src/lib/converter/body/byte-swap-converter.d.ts +26 -0
  59. package/packages/tap/client/impl/src/lib/converter/body/enum-converter.d.ts +23 -0
  60. package/packages/tap/client/impl/src/lib/converter/body/float-converter.d.ts +20 -0
  61. package/packages/tap/client/impl/src/lib/converter/body/hex-string.d.ts +8 -0
  62. package/packages/tap/client/impl/src/lib/converter/body/ipv4-string-decoder.d.ts +8 -0
  63. package/packages/tap/client/impl/src/lib/converter/body/mac-address-string-decoder.d.ts +7 -0
  64. package/packages/tap/client/impl/src/lib/converter/body/multiple-mask-decoder.d.ts +15 -0
  65. package/packages/tap/client/impl/src/lib/converter/body/number-converter.d.ts +54 -0
  66. package/packages/tap/client/impl/src/lib/converter/body/pipe-converter.d.ts +29 -0
  67. package/packages/tap/client/impl/src/lib/converter/body/string-converter.d.ts +44 -0
  68. package/packages/tap/client/impl/src/lib/converter/body/string-version-converter.d.ts +6 -0
  69. package/packages/tap/client/impl/src/lib/converter/body/tlv-bundle-converter.d.ts +22 -0
  70. package/packages/tap/client/impl/src/lib/converter/body/uniq-mask-decoder.d.ts +29 -0
  71. package/packages/tap/client/impl/src/lib/converter/crypted-frame-converter.d.ts +13 -0
  72. package/packages/tap/client/impl/src/lib/converter/error.d.ts +15 -0
  73. package/packages/tap/client/impl/src/lib/converter/tlv-converter.d.ts +9 -0
  74. package/packages/tap/client/impl/src/lib/converters.d.ts +13 -0
  75. package/packages/tap/client/impl/src/lib/debug.d.ts +2 -0
  76. package/packages/tap/client/impl/src/lib/error-detection/checksum.d.ts +3 -0
  77. package/packages/tap/client/impl/src/lib/error-detection/crc.d.ts +12 -0
  78. package/packages/tap/client/impl/src/lib/frame/import-adapter.d.ts +1 -0
  79. package/packages/tap/client/impl/src/lib/frame/tap-stream-core.d.ts +41 -0
  80. package/packages/tap/client/impl/src/lib/frame/tap-stream-encoder-decoder.d.ts +5 -0
  81. package/packages/tap/client/impl/src/lib/frame/tap-stream-extended.d.ts +2 -0
  82. package/packages/tap/client/impl/src/lib/generated/converter-stream-extension.d.ts +30 -0
  83. package/packages/tap/client/impl/src/lib/generated/converter.d.ts +35 -0
  84. package/packages/tap/client/impl/src/lib/generated-adapter.d.ts +2 -0
  85. package/packages/tap/client/impl/src/lib/interceptors/interceptor-chain.d.ts +9 -0
  86. package/packages/tap/client/impl/src/lib/model/models.extensions.d.ts +2 -0
  87. package/packages/tap/client/impl/src/lib/request/tap-request-builder.d.ts +13 -0
  88. package/packages/tap/client/impl/src/lib/request/tap-request-helper.d.ts +9 -0
  89. package/packages/tap/client/impl/src/lib/response/result-code-translation.d.ts +170 -0
  90. package/packages/tap/client/impl/src/lib/response/tap-response-builder.d.ts +6 -0
  91. package/packages/tap/client/impl/src/lib/response/tap-response-status-to-string.d.ts +1 -0
  92. package/packages/tap/client/impl/src/lib/tap-client-error.d.ts +33 -0
  93. package/packages/tap/client/impl/src/lib/tap-client.d.ts +74 -0
  94. package/packages/tap/client/impl/src/public_api.d.ts +39 -0
  95. package/packages/tap/protocol/api/src/lib/com-protocol.interface.d.ts +76 -0
  96. package/packages/tap/protocol/api/src/lib/definitions.d.ts +6 -0
  97. package/packages/tap/protocol/api/src/public_api.d.ts +2 -0
  98. package/packages/tap/protocol/ble/common/src/lib/abstract-ble-protocol.d.ts +49 -0
  99. package/packages/tap/protocol/ble/common/src/lib/ble-config.d.ts +20 -0
  100. package/packages/tap/protocol/ble/common/src/lib/ble-packet-builder.d.ts +31 -0
  101. package/packages/tap/protocol/ble/common/src/lib/ble-packet-splitter.d.ts +34 -0
  102. package/packages/tap/protocol/ble/common/src/lib/debug.d.ts +2 -0
  103. package/packages/tap/protocol/ble/common/src/lib/errors.d.ts +28 -0
  104. package/packages/tap/protocol/ble/common/src/lib/universal-ble-protocol-adapter.d.ts +146 -0
  105. package/packages/tap/protocol/ble/common/src/lib/util.d.ts +1 -0
  106. package/packages/tap/protocol/ble/common/src/public_api.d.ts +6 -0
  107. package/packages/tap/protocol/core/src/lib/abstract-com-protocol.d.ts +23 -0
  108. package/packages/tap/protocol/core/src/lib/debug.d.ts +2 -0
  109. package/packages/tap/protocol/core/src/lib/queue-com-protocol.d.ts +35 -0
  110. package/packages/tap/protocol/core/src/public_api.d.ts +2 -0
  111. package/packages/tap/scanner/api/src/lib/definitions.d.ts +35 -0
  112. package/packages/tap/scanner/api/src/public_api.d.ts +1 -0
  113. package/plugin.cjs +9057 -0
  114. package/plugin.js +9047 -0
  115. package/plugin.xml +8 -3
  116. package/src/android/build.gradle +2 -11
  117. package/src/android/libs/iotize-device-com-ble-1.0.0-alpha.9.aar +0 -0
  118. package/src/windows/iotize-ble-com.js +11 -11
  119. package/LICENSE +0 -23
  120. package/README.md +0 -174
  121. package/bundles/iotize-device-com-ble.cordova.umd.js +0 -1418
  122. package/bundles/iotize-device-com-ble.cordova.umd.js.map +0 -1
  123. package/bundles/iotize-device-com-ble.cordova.umd.min.js +0 -2
  124. package/bundles/iotize-device-com-ble.cordova.umd.min.js.map +0 -1
  125. package/esm2015/iotize-device-com-ble.cordova.js +0 -6
  126. package/esm2015/iotize-device-com-ble.cordova.js.map +0 -1
  127. package/esm2015/iotize-device-com-ble.cordova.metadata.json +0 -1
  128. package/esm2015/iotize-device-com-ble.cordova.ngsummary.json +0 -1
  129. package/esm2015/lib/ble-com-protocol.js +0 -76
  130. package/esm2015/lib/ble-com-protocol.js.map +0 -1
  131. package/esm2015/lib/ble-com-protocol.metadata.json +0 -1
  132. package/esm2015/lib/ble-com-protocol.ngsummary.json +0 -1
  133. package/esm2015/lib/cordova-ble-error.js +0 -36
  134. package/esm2015/lib/cordova-ble-error.js.map +0 -1
  135. package/esm2015/lib/cordova-ble-error.metadata.json +0 -1
  136. package/esm2015/lib/cordova-ble-error.ngsummary.json +0 -1
  137. package/esm2015/lib/cordova-interface.js +0 -2
  138. package/esm2015/lib/cordova-interface.js.map +0 -1
  139. package/esm2015/lib/cordova-interface.metadata.json +0 -1
  140. package/esm2015/lib/cordova-interface.ngsummary.json +0 -1
  141. package/esm2015/lib/cordova-service-adapter.js +0 -214
  142. package/esm2015/lib/cordova-service-adapter.js.map +0 -1
  143. package/esm2015/lib/cordova-service-adapter.metadata.json +0 -1
  144. package/esm2015/lib/cordova-service-adapter.ngsummary.json +0 -1
  145. package/esm2015/lib/definitions.js +0 -2
  146. package/esm2015/lib/definitions.js.map +0 -1
  147. package/esm2015/lib/definitions.metadata.json +0 -1
  148. package/esm2015/lib/definitions.ngsummary.json +0 -1
  149. package/esm2015/lib/iotize-ble-cordova-plugin.js +0 -170
  150. package/esm2015/lib/iotize-ble-cordova-plugin.js.map +0 -1
  151. package/esm2015/lib/iotize-ble-cordova-plugin.metadata.json +0 -1
  152. package/esm2015/lib/iotize-ble-cordova-plugin.ngsummary.json +0 -1
  153. package/esm2015/lib/logger.js +0 -3
  154. package/esm2015/lib/logger.js.map +0 -1
  155. package/esm2015/lib/logger.metadata.json +0 -1
  156. package/esm2015/lib/logger.ngsummary.json +0 -1
  157. package/esm2015/lib/scanner.js +0 -151
  158. package/esm2015/lib/scanner.js.map +0 -1
  159. package/esm2015/lib/scanner.metadata.json +0 -1
  160. package/esm2015/lib/scanner.ngsummary.json +0 -1
  161. package/esm2015/lib/utility.js +0 -26
  162. package/esm2015/lib/utility.js.map +0 -1
  163. package/esm2015/lib/utility.metadata.json +0 -1
  164. package/esm2015/lib/utility.ngsummary.json +0 -1
  165. package/esm2015/public_api.js +0 -5
  166. package/esm2015/public_api.js.map +0 -1
  167. package/esm2015/public_api.metadata.json +0 -1
  168. package/esm2015/public_api.ngsummary.json +0 -1
  169. package/fesm2015/iotize-device-com-ble.cordova.js +0 -660
  170. package/fesm2015/iotize-device-com-ble.cordova.js.map +0 -1
  171. package/iotize-device-com-ble.cordova.d.ts +0 -6
  172. package/iotize-device-com-ble.cordova.metadata.json +0 -1
  173. package/lib/logger.d.ts +0 -1
  174. package/public_api.d.ts +0 -5
  175. package/www/plugin.js +0 -2
  176. package/www/plugin.js.LICENSE.txt +0 -14
@@ -0,0 +1,15 @@
1
+ import { BodyConverter } from '@iotize/tap/client/api';
2
+ export interface ArrayConverterOptions {
3
+ /**
4
+ * Size of one item in byte
5
+ */
6
+ sizeOfItem: number;
7
+ }
8
+ export declare class ArrayConverter<ItemType> implements BodyConverter<ItemType[]> {
9
+ protected _itemConverter: BodyConverter<ItemType>;
10
+ protected options: ArrayConverterOptions;
11
+ constructor(_itemConverter: BodyConverter<ItemType>, options: ArrayConverterOptions);
12
+ get itemConverter(): BodyConverter<ItemType>;
13
+ decode(bytes: Uint8Array): ItemType[];
14
+ encode(items: ItemType[]): Uint8Array<ArrayBuffer>;
15
+ }
@@ -0,0 +1,12 @@
1
+ import { BodyDecoder } from '@iotize/tap/client/api';
2
+ import { BodyEncoder } from '@iotize/tap/client/api';
3
+ export declare class BooleanConverter implements BodyEncoder<boolean>, BodyDecoder<boolean> {
4
+ protected _mask: number;
5
+ static IS_LEAST_SIGNIFICANT_BIT_FIRST: boolean;
6
+ static _instance?: BooleanConverter;
7
+ constructor(_mask?: number);
8
+ decode(data: Uint8Array): boolean;
9
+ encode(value: boolean): Uint8Array;
10
+ static decodeFromNumber(mask: number, value: number): boolean;
11
+ static instanceBit0(): BooleanConverter;
12
+ }
@@ -0,0 +1,26 @@
1
+ import { EncoderDecoder } from '@iotize/common/converter/api';
2
+ export declare const BYTE_SWAP_ORDER_REGEX: RegExp;
3
+ export declare class ByteSwapConverter implements EncoderDecoder<Uint8Array, Uint8Array> {
4
+ order: string;
5
+ constructor(order: string);
6
+ encode(input: Uint8Array): Uint8Array;
7
+ decode(input: Uint8Array): Uint8Array;
8
+ }
9
+ /**
10
+ * Swap byte position
11
+ * B0 represents the first byte from the right
12
+ * BN represents the N byte from the right
13
+ *
14
+ * This function is symetric
15
+ *
16
+ * Example:
17
+ * ```typescript
18
+ * const input = Uint8Array.from([1,2,3,4]);
19
+ * expect(swapBytes(input, 'B2_B3_B0_B1')).to.be.deep.eq(Uint8Array.from([2,1,4,3]));
20
+ * ```
21
+ *
22
+ * @param input array
23
+ * @param order string that defined how to swap bytes
24
+ * @return a new array with byte swap
25
+ */
26
+ export declare function swapBytes(input: Uint8Array, order: string): Uint8Array;
@@ -0,0 +1,23 @@
1
+ import { BodyConverter } from '@iotize/tap/client/api';
2
+ export declare abstract class EnumConverter<T> implements BodyConverter<T> {
3
+ mapping: T;
4
+ constructor(mapping: T);
5
+ decode(value: Uint8Array): T;
6
+ encode(value: T): Uint8Array;
7
+ abstract decodeToLiteral(value: Uint8Array): number;
8
+ abstract encodeToLiteral(value: number): Uint8Array;
9
+ }
10
+ export declare class FixedSizeEnumConverter<T> extends EnumConverter<T> {
11
+ size: number;
12
+ constructor(mapping: T, size?: number);
13
+ decodeToLiteral(value: Uint8Array): number;
14
+ encodeToLiteral(value: number): Uint8Array;
15
+ }
16
+ export declare class EnumListConverter<T> implements BodyConverter<T[]> {
17
+ size: number;
18
+ mapping: T;
19
+ constructor(size: number, mapping: T);
20
+ decode(value: Uint8Array): T[];
21
+ encode(values: T[]): Uint8Array;
22
+ private decodeToLiteral;
23
+ }
@@ -0,0 +1,20 @@
1
+ import { BodyDecoder } from '@iotize/tap/client/api';
2
+ import { BodyEncoder } from '@iotize/tap/client/api';
3
+ export interface FloatConverterOptions {
4
+ }
5
+ export declare class FloatConverter implements BodyEncoder<number>, BodyDecoder<number> {
6
+ options?: FloatConverterOptions | undefined;
7
+ private static _instance32?;
8
+ constructor(options?: FloatConverterOptions | undefined);
9
+ encode(value: number): Uint8Array;
10
+ decode(body: Uint8Array): number;
11
+ /**
12
+ *
13
+ * @see https://stackoverflow.com/questions/3096646/how-to-convert-a-floating-point-number-to-its-binary-representation-ieee-754-i
14
+ * @param number
15
+ */
16
+ static toArray(number: number): number;
17
+ static toFloat(val: Uint8Array): number;
18
+ static numberToFloat(val: number): number;
19
+ static instance32(): FloatConverter;
20
+ }
@@ -0,0 +1,8 @@
1
+ import { BodyDecoder } from '@iotize/tap/client/api';
2
+ import { BodyEncoder } from '@iotize/tap/client/api';
3
+ export declare class HexStringConverter implements BodyEncoder<string>, BodyDecoder<string> {
4
+ static _instance?: HexStringConverter;
5
+ decode(value: Uint8Array): string;
6
+ encode(value: string): Uint8Array;
7
+ static instance(): HexStringConverter;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { BodyDecoder } from '@iotize/tap/client/api';
2
+ import { BodyEncoder } from '@iotize/tap/client/api';
3
+ export declare class Ipv4StringConverter implements BodyDecoder<string>, BodyEncoder<string> {
4
+ protected static _instance?: Ipv4StringConverter;
5
+ decode(body: Uint8Array): string;
6
+ encode(ip: string): Uint8Array;
7
+ static instance(): Ipv4StringConverter;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { BodyDecoder, BodyEncoder } from '@iotize/tap/client/api';
2
+ export declare class MacAddressStringConverter implements BodyEncoder<string>, BodyDecoder<string> {
3
+ protected static _instance?: MacAddressStringConverter;
4
+ decode(body: Uint8Array): string;
5
+ encode(value: string): Uint8Array;
6
+ static instance(): MacAddressStringConverter;
7
+ }
@@ -0,0 +1,15 @@
1
+ import { BodyDecoder, BodyEncoder } from '@iotize/tap/client/api';
2
+ export declare class MultipleMaskConverter<OutputType> implements BodyEncoder<OutputType[]>, BodyDecoder<OutputType[]> {
3
+ protected _mapping: {
4
+ [key: number]: OutputType;
5
+ };
6
+ constructor(mapping: any);
7
+ decode(body: Uint8Array): OutputType[];
8
+ /**
9
+ * TODO check that not use more than the first 7 bits
10
+ * @param types
11
+ */
12
+ encode(types: OutputType[]): Uint8Array;
13
+ static encodeAll<T>(values: T[], mapping: any): Uint8Array;
14
+ static decodeAll<T>(value: Uint8Array | number, mapping: any): T[];
15
+ }
@@ -0,0 +1,54 @@
1
+ import { BodyDecoder, BodyEncoder } from '@iotize/tap/client/api';
2
+ export interface NumberDecoderOptions {
3
+ signed: boolean;
4
+ /**
5
+ * Size of number if bits
6
+ */
7
+ sizeOf: 8 | 16 | 32;
8
+ leastSignificantBitFirst: boolean;
9
+ }
10
+ export interface Newable<T> {
11
+ new (...args: any[]): T;
12
+ }
13
+ export declare class NumberConverter implements BodyEncoder<number>, BodyDecoder<number> {
14
+ options: NumberDecoderOptions;
15
+ constructor(options: NumberDecoderOptions);
16
+ /**
17
+ * Number as unsigned 8 bits converter
18
+ * @param lsb true for least significant bit first
19
+ */
20
+ static uint8(lsb?: boolean): NumberConverter;
21
+ /**
22
+ * Number as unsigned 16 bits converter
23
+ * @param lsb true for least significant bit first
24
+ */
25
+ static uint16(lsb?: boolean): NumberConverter;
26
+ /**
27
+ * Number as unsigned 32 bits converter
28
+ * @param lsb true for least significant bit first
29
+ */
30
+ static uint32(lsb?: boolean): NumberConverter;
31
+ /**
32
+ * Number as signed 8 bits converter
33
+ * @param lsb true for least significant bit first
34
+ */
35
+ static int8(lsb?: boolean): NumberConverter;
36
+ /**
37
+ * Number as signed 16 bits converter
38
+ * @param lsb true for least significant bit first
39
+ */
40
+ static int16(lsb?: boolean): NumberConverter;
41
+ /**
42
+ * Number as signed 32 bits converter
43
+ * @param lsb true for least significant bit first
44
+ */
45
+ static int32(lsb?: boolean): NumberConverter;
46
+ decode(body: Uint8Array): number;
47
+ encode(value: number): Uint8Array;
48
+ static toOpaqueMsb(input: number, sizeOf: 8 | 16 | 32 | number): Uint8Array;
49
+ static fromOpaqueMsb(data: Uint8Array, sizeOf?: number): number;
50
+ /**
51
+ * @param size size in bytes
52
+ */
53
+ static fromBytes(data: Uint8Array, size: number, signed: boolean, lsb: boolean): number;
54
+ }
@@ -0,0 +1,29 @@
1
+ import { EncoderDecoder, EncoderDecoderFct } from '@iotize/common/converter/api';
2
+ import { BodyDecoder } from '@iotize/tap/client/api';
3
+ type PipeConverterType<InputType, OutputType> = EncoderDecoder<OutputType, InputType> | EncoderDecoderFct<InputType, InputType>;
4
+ export declare class PipeConverterBuilder {
5
+ aliases: {
6
+ [key: string]: PipeConverterType<any, any>;
7
+ };
8
+ constructor(aliases?: {
9
+ [key: string]: PipeConverterType<any, any>;
10
+ });
11
+ pipe<T>(converter: PipeConverterType<Uint8Array, T> | string): PipeConverter<T>;
12
+ }
13
+ /**
14
+ * Pipe multiple converter one after another
15
+ */
16
+ export declare class PipeConverter<T> implements BodyDecoder<T> {
17
+ converters: PipeConverterType<any, any>[];
18
+ aliases: {
19
+ [key: string]: PipeConverterType<any, any>;
20
+ };
21
+ constructor(converters: PipeConverterType<any, any>[], aliases?: {
22
+ [key: string]: PipeConverterType<any, any>;
23
+ });
24
+ decode(body: Uint8Array): T;
25
+ encode(value: T): Uint8Array;
26
+ pipe<OutputType>(converter: PipeConverterType<T, OutputType> | string): PipeConverter<OutputType>;
27
+ static pipe<T>(converter: PipeConverterType<Uint8Array, T>): PipeConverter<T>;
28
+ }
29
+ export {};
@@ -0,0 +1,44 @@
1
+ import { BodyEncoder } from '@iotize/tap/client/api';
2
+ type TranscodeEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'utf-16le' | 'ucs2' | 'ucs-2' | 'latin1' | 'binary';
3
+ export declare class StringConverter implements BodyEncoder<string>, BodyEncoder<string> {
4
+ encoding: TranscodeEncoding;
5
+ options: {
6
+ /**
7
+ * Returns string without content after the end of string character '\0'
8
+ * 'Hello World!\u0001\u0001\u0001' will returns 'Hello World!'
9
+ */
10
+ stripEndOfStringCharacter?: boolean;
11
+ /**
12
+ * Replace empty string with '\0'
13
+ */
14
+ replaceEmptyStringWithEndOfLineChar?: boolean;
15
+ /**
16
+ * true if end of string character should be added when encoding value
17
+ */
18
+ addEndOfStringCharacter?: boolean;
19
+ };
20
+ private static _ascii?;
21
+ constructor(encoding?: TranscodeEncoding, options?: {
22
+ /**
23
+ * Returns string without content after the end of string character '\0'
24
+ * 'Hello World!\u0001\u0001\u0001' will returns 'Hello World!'
25
+ */
26
+ stripEndOfStringCharacter?: boolean;
27
+ /**
28
+ * Replace empty string with '\0'
29
+ */
30
+ replaceEmptyStringWithEndOfLineChar?: boolean;
31
+ /**
32
+ * true if end of string character should be added when encoding value
33
+ */
34
+ addEndOfStringCharacter?: boolean;
35
+ });
36
+ encode(value: string): Uint8Array;
37
+ decode(value: Uint8Array): string;
38
+ /**
39
+ * Get ascii instance
40
+ * @deprecated use constructor instead
41
+ */
42
+ static ascii(): StringConverter;
43
+ }
44
+ export {};
@@ -0,0 +1,6 @@
1
+ import { BodyConverter } from '@iotize/tap/client/api';
2
+ import { TapStreamReader, TapStreamWriter } from '../../frame/tap-stream-core';
3
+ export declare class StringVersionConverter implements BodyConverter<string> {
4
+ encode(version: string, stream?: TapStreamWriter): Uint8Array;
5
+ decode(data: TapStreamReader | Uint8Array): string;
6
+ }
@@ -0,0 +1,22 @@
1
+ import { EncoderDecoder } from '@iotize/common/converter/api';
2
+ import { TLV } from '@iotize/common/tlv';
3
+ import { BodyConverter } from '@iotize/tap/client/api';
4
+ import { TLVConverter } from '../tlv-converter';
5
+ interface VariableMeta {
6
+ id: number;
7
+ converter?: EncoderDecoder<any, Uint8Array>;
8
+ name?: string;
9
+ }
10
+ export declare class TlvBundleConverter<DataType = Record<string, Uint8Array>> implements BodyConverter<DataType> {
11
+ protected variables: VariableMeta[];
12
+ protected tlvConverter: TLVConverter;
13
+ bundleId: number;
14
+ constructor(variables?: VariableMeta[], tlvConverter?: TLVConverter);
15
+ decode(data: Uint8Array | TLV.TlvNode, context?: any): DataType;
16
+ encode(data: DataType): Uint8Array;
17
+ /**
18
+ * Converter tlv tree to variable name => value
19
+ */
20
+ private _convertFromTlvTree;
21
+ }
22
+ export {};
@@ -0,0 +1,29 @@
1
+ import { BodyDecoder, BodyEncoder } from '@iotize/tap/client/api';
2
+ /**
3
+ * TODO improv it . We don't know the size of input buffer...
4
+ */
5
+ export declare class UniqMaskConverter<OutputType> implements BodyEncoder<OutputType>, BodyDecoder<OutputType> {
6
+ protected _mapping: {
7
+ [key: number]: OutputType;
8
+ };
9
+ constructor(mapping: any);
10
+ decode(body: Uint8Array): OutputType;
11
+ encode(value: OutputType): Uint8Array;
12
+ static decodeOneExact<OutputType>(data: Uint8Array | number, mapping: {
13
+ [key: number]: OutputType;
14
+ }): OutputType;
15
+ static decodeOne<OutputType>(data: Uint8Array | number, mapping: {
16
+ [key: number]: OutputType;
17
+ }): OutputType;
18
+ static encodeOneAsNumber<OutputType>(data: OutputType, mapping: {
19
+ [key: number]: OutputType;
20
+ }): number;
21
+ static encodeOneAsBuffer<OutputType>(data: OutputType, mapping: {
22
+ [key: number]: OutputType;
23
+ }): Uint8Array;
24
+ static swapKeyValue(input: {
25
+ [key: string]: any;
26
+ }): {
27
+ [key: string]: any;
28
+ };
29
+ }
@@ -0,0 +1,13 @@
1
+ import { Decoder, Encoder } from '@iotize/common/converter/api';
2
+ export interface CryptoFrameIdGenerator {
3
+ next(): number;
4
+ }
5
+ /**
6
+ *
7
+ */
8
+ export declare class CryptedFrameConverter implements Encoder<Uint8Array, Uint8Array>, Decoder<Uint8Array, Uint8Array> {
9
+ frameIdGenerator: CryptoFrameIdGenerator;
10
+ constructor(frameIdGenerator: CryptoFrameIdGenerator);
11
+ encode(data: Uint8Array): Uint8Array;
12
+ decode(frame: Uint8Array): Uint8Array;
13
+ }
@@ -0,0 +1,15 @@
1
+ import { CodeError } from '@iotize/common/error';
2
+ export declare class ConverterError extends CodeError<ConverterError.Code> {
3
+ cause?: Error | undefined;
4
+ constructor(code: ConverterError.Code, msg: string, cause?: Error | undefined);
5
+ static unexpectedBufferSize(expected: number, buffer: Uint8Array): ConverterError;
6
+ static nullBufferError(msg: string): ConverterError;
7
+ static valueTooBigError(value: number, maxValue: number): ConverterError;
8
+ }
9
+ export declare namespace ConverterError {
10
+ enum Code {
11
+ UnexpectedBufferSizeError = "UnexpectedBufferSizeError",
12
+ NullBufferError = "NullBufferError",
13
+ ValueTooBigError = "ConverterErrorValueTooBigError"
14
+ }
15
+ }
@@ -0,0 +1,9 @@
1
+ import { EncoderDecoder } from '@iotize/common/converter/api';
2
+ import { TLV } from '@iotize/common/tlv';
3
+ export declare class TLVConverter implements EncoderDecoder<TLV.TlvNode, Uint8Array> {
4
+ serializer: TLV.Serializer;
5
+ parser: TLV.Parser;
6
+ constructor();
7
+ encode(data: TLV.TlvNode): Uint8Array;
8
+ decode(data: Uint8Array): TLV.TlvNode;
9
+ }
@@ -0,0 +1,13 @@
1
+ import { EncoderDecoder } from '@iotize/common/converter/api';
2
+ import { TapRequestFrame, TapResponseFrame } from '@iotize/tap/client/api';
3
+ import { TapStreamReader } from './frame/import-adapter';
4
+ export declare class TapApduRequestConverter implements EncoderDecoder<TapRequestFrame, Uint8Array> {
5
+ encode(tapRequest: TapRequestFrame): Uint8Array<ArrayBuffer>;
6
+ decode(bufferData: Uint8Array | TapStreamReader): TapRequestFrame;
7
+ }
8
+ export declare class TapApduResponseConverter implements EncoderDecoder<TapResponseFrame, Uint8Array> {
9
+ encode(tapResponseFrame: TapResponseFrame): Uint8Array<ArrayBuffer>;
10
+ decode(bufferData: Uint8Array | TapStreamReader): TapResponseFrame;
11
+ }
12
+ export declare const TAP_REQUEST_FRAME_CONVERTER: TapApduRequestConverter;
13
+ export declare const TAP_RESPONSE_FRAME_CONVERTER: TapApduResponseConverter;
@@ -0,0 +1,2 @@
1
+ import { createDebugger } from '@iotize/common/debug';
2
+ export declare const debug: createDebugger.Debugger;
@@ -0,0 +1,3 @@
1
+ export declare class Checksum {
2
+ static compute(data: Uint8Array): number;
3
+ }
@@ -0,0 +1,12 @@
1
+ export declare class CRC {
2
+ readonly polynomial: number;
3
+ static POLYNOMIAL_CRC32_MPEG2: number;
4
+ static MODULO: number;
5
+ static FIRST_VALUE: number;
6
+ static mpeg2(): CRC;
7
+ constructor(polynomial: number);
8
+ compute(buffer: Uint32Array | Uint8Array, firstValue?: number): number;
9
+ static fromBytes(data: Uint8Array, crc?: number, polynomial?: number): number;
10
+ static fromWord(buffer: Uint32Array, crc?: number, polynomial?: number): number;
11
+ static appendCrcNumber(crc: number, data: number, polynomial: number): number;
12
+ }
@@ -0,0 +1 @@
1
+ export { TapStreamReader, TapStreamWriter } from './tap-stream-extended';
@@ -0,0 +1,41 @@
1
+ import { KaitaiStreamReader, KaitaiStreamWriter, StreamBufferType } from '@iotize/common/byte-stream';
2
+ export declare function enumKeyOrValueToNumber<T>(key: string | number | T, mapping: any): number;
3
+ export declare class TapStreamReader extends KaitaiStreamReader {
4
+ static fromArray(array: Uint8Array): TapStreamReader;
5
+ static create(packet: Uint8Array | TapStreamReader): TapStreamReader;
6
+ readStr(n: number): string;
7
+ /**
8
+ * Read given byte size as string
9
+ * @param n number of byte to read
10
+ */
11
+ readString(n?: number): string;
12
+ /**
13
+ * Read string until terminator character is reached
14
+ */
15
+ readStringTerminator(terminator: string): string;
16
+ readU2(): number;
17
+ readU4(): number;
18
+ readF4(): number;
19
+ subStream(length: number): TapStreamReader;
20
+ }
21
+ export declare class TapStreamWriter extends KaitaiStreamWriter {
22
+ constructor(lengthOrBuffer?: number | StreamBufferType, byteOffset?: number, isBigEndian?: boolean);
23
+ static create(size: number): TapStreamWriter;
24
+ writeFunction(type: string, options: any, fieldValue?: any, fieldSize?: any): this;
25
+ addPadding(padSize: number): this;
26
+ addCRC(options?: {
27
+ offset?: number;
28
+ }): this;
29
+ writeUnsigned(value: number, length: number): this;
30
+ writeU4(value: number): this;
31
+ writeU2(value: number): this;
32
+ writeU1(value: number): this;
33
+ writeF4(value: number): this;
34
+ writeFloat(value: number, length: number): this;
35
+ writeSigned(value: number, length: number): this;
36
+ writeString(value: string | undefined, length?: number): this;
37
+ writeStr(value: string, length?: number): this;
38
+ writeBitsInt(value: number, n: number): this;
39
+ writeBits(value: number, n: number): this;
40
+ writeBoolean(value: number | boolean, n: number): this;
41
+ }
@@ -0,0 +1,5 @@
1
+ import { TapStreamReader, TapStreamWriter } from './tap-stream-extended';
2
+ export interface TapStreamEncoderDecoder<DataType> {
3
+ encode(v: DataType, stream: TapStreamWriter): void;
4
+ decode(stream: TapStreamReader): DataType;
5
+ }
@@ -0,0 +1,2 @@
1
+ import '../generated-adapter';
2
+ export { TapStreamReader, TapStreamWriter } from './tap-stream-core';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Generated file. Do not edit
3
+ */
4
+ import { ApduRequest, ApduResponse, TapRequestEncrypted, TapApduRequest, TapEncryptedFrame, TapRequestFrame, TapResponseFrame } from '@iotize/tap/client/api';
5
+ declare module '../frame/tap-stream-core' {
6
+ interface TapStreamReader {
7
+ readApduRequest(): ApduRequest;
8
+ readApduRequestHeader(): ApduRequest.Header;
9
+ readApduResponse(): ApduResponse;
10
+ readTapRequestEncrypted(): TapRequestEncrypted;
11
+ readTapApduRequest(): TapApduRequest;
12
+ readTapEncryptedFrame(): TapEncryptedFrame;
13
+ readTapRequestFrame(): TapRequestFrame;
14
+ readTapRequestFrameHeader(): TapRequestFrame.Header;
15
+ readTapRequestFramePath(): TapRequestFrame.Path;
16
+ readTapResponseFrame(): TapResponseFrame;
17
+ }
18
+ interface TapStreamWriter {
19
+ writeApduRequest(model: ApduRequest): TapStreamWriter;
20
+ writeApduRequestHeader(model: ApduRequest.Header): TapStreamWriter;
21
+ writeApduResponse(model: ApduResponse): TapStreamWriter;
22
+ writeTapRequestEncrypted(model: TapRequestEncrypted): TapStreamWriter;
23
+ writeTapApduRequest(model: TapApduRequest): TapStreamWriter;
24
+ writeTapEncryptedFrame(model: TapEncryptedFrame): TapStreamWriter;
25
+ writeTapRequestFrame(model: TapRequestFrame): TapStreamWriter;
26
+ writeTapRequestFrameHeader(model: TapRequestFrame.Header): TapStreamWriter;
27
+ writeTapRequestFramePath(model: TapRequestFrame.Path): TapStreamWriter;
28
+ writeTapResponseFrame(model: TapResponseFrame): TapStreamWriter;
29
+ }
30
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Generated file. Do not edit
3
+ */
4
+ import './converter-stream-extension';
5
+ import { BodyConverter } from '@iotize/tap/client/api';
6
+ import { ApduRequest, ApduResponse, TapRequestEncrypted, TapApduRequest, TapEncryptedFrame, TapRequestFrame, TapResponseFrame } from '@iotize/tap/client/api';
7
+ import { TapStreamReader, TapStreamWriter } from '../frame/tap-stream-core';
8
+ export declare class ApduRequestConverter implements BodyConverter<ApduRequest> {
9
+ encode(model: ApduRequest, stream?: TapStreamWriter): Uint8Array;
10
+ decode(data: TapStreamReader | Uint8Array): ApduRequest;
11
+ }
12
+ export declare class ApduResponseConverter implements BodyConverter<ApduResponse> {
13
+ encode(model: ApduResponse, stream?: TapStreamWriter): Uint8Array;
14
+ decode(data: TapStreamReader | Uint8Array): ApduResponse;
15
+ }
16
+ export declare class TapRequestEncryptedConverter implements BodyConverter<TapRequestEncrypted> {
17
+ encode(model: TapRequestEncrypted, stream?: TapStreamWriter): Uint8Array;
18
+ decode(data: TapStreamReader | Uint8Array): TapRequestEncrypted;
19
+ }
20
+ export declare class TapApduRequestConverter implements BodyConverter<TapApduRequest> {
21
+ encode(model: TapApduRequest, stream?: TapStreamWriter): Uint8Array;
22
+ decode(data: TapStreamReader | Uint8Array): TapApduRequest;
23
+ }
24
+ export declare class TapEncryptedFrameConverter implements BodyConverter<TapEncryptedFrame> {
25
+ encode(model: TapEncryptedFrame, stream?: TapStreamWriter): Uint8Array;
26
+ decode(data: TapStreamReader | Uint8Array): TapEncryptedFrame;
27
+ }
28
+ export declare class TapRequestFrameConverter implements BodyConverter<TapRequestFrame> {
29
+ encode(model: TapRequestFrame, stream?: TapStreamWriter): Uint8Array;
30
+ decode(data: TapStreamReader | Uint8Array): TapRequestFrame;
31
+ }
32
+ export declare class TapResponseFrameConverter implements BodyConverter<TapResponseFrame> {
33
+ encode(model: TapResponseFrame, stream?: TapStreamWriter): Uint8Array;
34
+ decode(data: TapStreamReader | Uint8Array): TapResponseFrame;
35
+ }
@@ -0,0 +1,2 @@
1
+ export * from './generated/converter';
2
+ import './generated/converter-stream-extension';
@@ -0,0 +1,9 @@
1
+ import { ExecutionContext, RequestInterceptor, RequestInterceptorType, TapResponseFrame } from '@iotize/tap/client/api';
2
+ import { Observable } from 'rxjs';
3
+ export declare class InterceptorChain {
4
+ private target;
5
+ interceptors: RequestInterceptor[];
6
+ constructor(target: (context: ExecutionContext) => Observable<TapResponseFrame>);
7
+ addInterceptor(interceptor: RequestInterceptorType): this;
8
+ execute<T>(context: ExecutionContext): Observable<TapResponseFrame>;
9
+ }
@@ -0,0 +1,2 @@
1
+ import { TapEncryptedFrame } from '@iotize/tap/client/api';
2
+ export declare function createTapEncryptedFrame(id: number, payload: Uint8Array, paddingGenerator?: (size: number) => Uint8Array): TapEncryptedFrame;
@@ -0,0 +1,13 @@
1
+ import { TapRequestFrame } from '@iotize/tap/client/api';
2
+ export declare class TapRequestFrameBuilder {
3
+ static MAX_ID: number;
4
+ static parsePath(path: string): TapRequestFrame.Path;
5
+ static GET(url: string, body?: Uint8Array): TapRequestFrame;
6
+ static PUT(url: string, body?: Uint8Array): TapRequestFrame;
7
+ static POST(url: string, body?: Uint8Array): TapRequestFrame;
8
+ static create(method: TapRequestFrame.MethodType, url: string, data?: Uint8Array): TapRequestFrame;
9
+ static validateId(id: number): number;
10
+ }
11
+ export declare namespace TapRequestFrameBuilder {
12
+ const PATH_EXPRESSION: RegExp;
13
+ }
@@ -0,0 +1,9 @@
1
+ import { TapRequestFrame } from '@iotize/tap/client/api';
2
+ export declare class TapRequestHelper {
3
+ static toString(request: TapRequestFrame, options?: {
4
+ printMaxId?: boolean;
5
+ }): string;
6
+ static pathToString(path: TapRequestFrame.Path, options?: {
7
+ printMaxId?: boolean;
8
+ }): string;
9
+ }