@witnet/sdk 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -0
  3. package/dist/package.json +72 -0
  4. package/dist/src/bin/helpers.d.ts +91 -0
  5. package/dist/src/bin/helpers.d.ts.map +1 -0
  6. package/dist/src/bin/helpers.js +816 -0
  7. package/dist/src/index.d.ts +5 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +47 -0
  10. package/dist/src/lib/crypto/account.d.ts +32 -0
  11. package/dist/src/lib/crypto/account.d.ts.map +1 -0
  12. package/dist/src/lib/crypto/account.js +106 -0
  13. package/dist/src/lib/crypto/coinbase.d.ts +10 -0
  14. package/dist/src/lib/crypto/coinbase.d.ts.map +1 -0
  15. package/dist/src/lib/crypto/coinbase.js +28 -0
  16. package/dist/src/lib/crypto/index.d.ts +8 -0
  17. package/dist/src/lib/crypto/index.d.ts.map +1 -0
  18. package/dist/src/lib/crypto/index.js +30 -0
  19. package/dist/src/lib/crypto/interfaces.d.ts +85 -0
  20. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -0
  21. package/dist/src/lib/crypto/interfaces.js +3 -0
  22. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +55 -0
  23. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -0
  24. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +339 -0
  25. package/dist/src/lib/crypto/payloads/StakePayload.d.ts +28 -0
  26. package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -0
  27. package/dist/src/lib/crypto/payloads/StakePayload.js +142 -0
  28. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts +36 -0
  29. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -0
  30. package/dist/src/lib/crypto/payloads/UnstakePayload.js +154 -0
  31. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts +25 -0
  32. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -0
  33. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +128 -0
  34. package/dist/src/lib/crypto/payloads.d.ts +57 -0
  35. package/dist/src/lib/crypto/payloads.d.ts.map +1 -0
  36. package/dist/src/lib/crypto/payloads.js +170 -0
  37. package/dist/src/lib/crypto/signer.d.ts +33 -0
  38. package/dist/src/lib/crypto/signer.d.ts.map +1 -0
  39. package/dist/src/lib/crypto/signer.js +194 -0
  40. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +15 -0
  41. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -0
  42. package/dist/src/lib/crypto/transmitters/DataRequests.js +23 -0
  43. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts +12 -0
  44. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -0
  45. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +17 -0
  46. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts +18 -0
  47. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -0
  48. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +53 -0
  49. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts +11 -0
  50. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -0
  51. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +16 -0
  52. package/dist/src/lib/crypto/transmitters.d.ts +47 -0
  53. package/dist/src/lib/crypto/transmitters.d.ts.map +1 -0
  54. package/dist/src/lib/crypto/transmitters.js +416 -0
  55. package/dist/src/lib/crypto/types.d.ts +161 -0
  56. package/dist/src/lib/crypto/types.d.ts.map +1 -0
  57. package/dist/src/lib/crypto/types.js +273 -0
  58. package/dist/src/lib/crypto/utils.d.ts +21 -0
  59. package/dist/src/lib/crypto/utils.d.ts.map +1 -0
  60. package/dist/src/lib/crypto/utils.js +156 -0
  61. package/dist/src/lib/crypto/wallet.d.ts +120 -0
  62. package/dist/src/lib/crypto/wallet.d.ts.map +1 -0
  63. package/dist/src/lib/crypto/wallet.js +258 -0
  64. package/dist/src/lib/index.d.ts +5 -0
  65. package/dist/src/lib/index.d.ts.map +1 -0
  66. package/dist/src/lib/index.js +44 -0
  67. package/dist/src/lib/radon/ccdr/eth.d.ts +160 -0
  68. package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -0
  69. package/dist/src/lib/radon/ccdr/eth.js +272 -0
  70. package/dist/src/lib/radon/ccdr/index.d.ts +14 -0
  71. package/dist/src/lib/radon/ccdr/index.d.ts.map +1 -0
  72. package/dist/src/lib/radon/ccdr/index.js +39 -0
  73. package/dist/src/lib/radon/ccdr/wit.d.ts +23 -0
  74. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -0
  75. package/dist/src/lib/radon/ccdr/wit.js +35 -0
  76. package/dist/src/lib/radon/filters.d.ts +14 -0
  77. package/dist/src/lib/radon/filters.d.ts.map +1 -0
  78. package/dist/src/lib/radon/filters.js +45 -0
  79. package/dist/src/lib/radon/index.d.ts +296 -0
  80. package/dist/src/lib/radon/index.d.ts.map +1 -0
  81. package/dist/src/lib/radon/index.js +707 -0
  82. package/dist/src/lib/radon/reducers.d.ts +29 -0
  83. package/dist/src/lib/radon/reducers.d.ts.map +1 -0
  84. package/dist/src/lib/radon/reducers.js +66 -0
  85. package/dist/src/lib/radon/types.d.ts +521 -0
  86. package/dist/src/lib/radon/types.d.ts.map +1 -0
  87. package/dist/src/lib/radon/types.js +936 -0
  88. package/dist/src/lib/radon/utils.d.ts +53 -0
  89. package/dist/src/lib/radon/utils.d.ts.map +1 -0
  90. package/dist/src/lib/radon/utils.js +153 -0
  91. package/dist/src/lib/rpc/index.d.ts +3 -0
  92. package/dist/src/lib/rpc/index.d.ts.map +1 -0
  93. package/dist/src/lib/rpc/index.js +19 -0
  94. package/dist/src/lib/rpc/nodes.d.ts +40 -0
  95. package/dist/src/lib/rpc/nodes.d.ts.map +1 -0
  96. package/dist/src/lib/rpc/nodes.js +293 -0
  97. package/dist/src/lib/rpc/provider.d.ts +88 -0
  98. package/dist/src/lib/rpc/provider.d.ts.map +1 -0
  99. package/dist/src/lib/rpc/provider.js +336 -0
  100. package/dist/src/lib/rpc/reporter.d.ts +18 -0
  101. package/dist/src/lib/rpc/reporter.d.ts.map +1 -0
  102. package/dist/src/lib/rpc/reporter.js +30 -0
  103. package/dist/src/lib/rpc/types.d.ts +409 -0
  104. package/dist/src/lib/rpc/types.d.ts.map +1 -0
  105. package/dist/src/lib/rpc/types.js +81 -0
  106. package/dist/src/lib/types.d.ts +18 -0
  107. package/dist/src/lib/types.d.ts.map +1 -0
  108. package/dist/src/lib/types.js +7 -0
  109. package/dist/src/lib/utils.d.ts +13 -0
  110. package/dist/src/lib/utils.d.ts.map +1 -0
  111. package/dist/src/lib/utils.js +97 -0
  112. package/dist/witnet/assets/index.d.ts +30 -0
  113. package/dist/witnet/assets/index.d.ts.map +1 -0
  114. package/dist/witnet/assets/index.js +6 -0
  115. package/dist/witnet/assets/modals/index.d.ts +18 -0
  116. package/dist/witnet/assets/modals/index.d.ts.map +1 -0
  117. package/dist/witnet/assets/modals/index.js +21 -0
  118. package/dist/witnet/assets/modals/web3/eth.d.ts +5 -0
  119. package/dist/witnet/assets/modals/web3/eth.d.ts.map +1 -0
  120. package/dist/witnet/assets/modals/web3/eth.js +26 -0
  121. package/dist/witnet/assets/modals/web3/wit.d.ts +4 -0
  122. package/dist/witnet/assets/modals/web3/wit.d.ts.map +1 -0
  123. package/dist/witnet/assets/modals/web3/wit.js +20 -0
  124. package/dist/witnet/assets/requests.d.ts +11 -0
  125. package/dist/witnet/assets/requests.d.ts.map +1 -0
  126. package/dist/witnet/assets/requests.js +88 -0
  127. package/dist/witnet/witnet.proto.json +1325 -0
  128. package/package.json +72 -0
  129. package/src/bin/cli/history.js +31 -0
  130. package/src/bin/cli/inspect.js +359 -0
  131. package/src/bin/cli/network.js +592 -0
  132. package/src/bin/cli/nodes.js +364 -0
  133. package/src/bin/cli/radon.js +814 -0
  134. package/src/bin/cli/wallet.js +1000 -0
  135. package/src/bin/helpers.js +829 -0
  136. package/src/bin/postinstall.js +9 -0
  137. package/src/bin/toolkit.js +294 -0
  138. package/witnet/assets/_index.js +8 -0
  139. package/witnet/assets/_requests.js +25 -0
  140. package/witnet/assets/_sources.js +36 -0
  141. package/witnet/assets/_templates.js +36 -0
  142. package/witnet/assets/index.js +4 -0
  143. package/witnet/assets/modals/index.js +25 -0
  144. package/witnet/assets/modals/web3/btc.js +0 -0
  145. package/witnet/assets/modals/web3/eth.js +29 -0
  146. package/witnet/assets/modals/web3/sol.js +0 -0
  147. package/witnet/assets/modals/web3/wit.js +23 -0
  148. package/witnet/assets/requests.js +94 -0
  149. package/witnet/witnet.proto.json +1325 -0
@@ -0,0 +1,29 @@
1
+ import { RadonScript } from "./types";
2
+ import { RadonFilter } from "./filters";
3
+ export declare enum Opcodes {
4
+ Mode = 2,
5
+ MeanAverage = 3,
6
+ MedianAverage = 5,
7
+ StandardDeviation = 7,
8
+ ConcatenateAndHash = 11
9
+ }
10
+ export interface Specs {
11
+ filters?: RadonFilter[];
12
+ script?: RadonScript;
13
+ }
14
+ export declare class RadonReducer {
15
+ readonly opcode: Opcodes;
16
+ readonly filters?: RadonFilter[];
17
+ constructor(opcode: Opcodes, filters?: RadonFilter[]);
18
+ toJSON(humanize?: boolean): any;
19
+ toProtobuf(): any;
20
+ opsCount(): number;
21
+ }
22
+ export declare function Mode(...filters: RadonFilter[]): RadonReducer;
23
+ export declare function Mean(...filters: RadonFilter[]): RadonReducer;
24
+ export declare function Median(...filters: RadonFilter[]): RadonReducer;
25
+ export declare function Stdev(...filters: RadonFilter[]): RadonReducer;
26
+ export declare function ConcatHash(...filters: RadonFilter[]): RadonReducer;
27
+ export declare function PriceAggregate(): RadonReducer;
28
+ export declare function PriceTally(): RadonReducer;
29
+ //# sourceMappingURL=reducers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducers.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/reducers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,WAAW,EAAwB,MAAM,WAAW,CAAA;AAE7D,oBAAY,OAAO;IACf,IAAI,IAAO;IACX,WAAW,IAAO;IAClB,aAAa,IAAO;IACpB,iBAAiB,IAAO;IACxB,kBAAkB,KAAO;CAC5B;AAED,MAAM,WAAW,KAAK;IAClB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,qBAAa,YAAY;IAErB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;gBAEpB,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE;IAiB7C,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,GAAG;IAQ/B,UAAU,IAAI,GAAG;IAUjB,QAAQ,IAAI,MAAM;CAG5B;AAED,wBAAgB,IAAI,CAAE,GAAG,OAAO,EAAE,WAAW,EAAE,gBAAqD;AACpG,wBAAgB,IAAI,CAAE,GAAG,OAAO,EAAE,WAAW,EAAE,gBAA4D;AAC3G,wBAAgB,MAAM,CAAE,GAAG,OAAO,EAAE,WAAW,EAAE,gBAA8D;AAC/G,wBAAgB,KAAK,CAAE,GAAG,OAAO,EAAE,WAAW,EAAE,gBAAkE;AAClH,wBAAgB,UAAU,CAAE,GAAG,OAAO,EAAE,WAAW,EAAE,gBAAmE;AAExH,wBAAgB,cAAc,iBAA2E;AACzG,wBAAgB,UAAU,iBAA2E"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadonReducer = exports.Opcodes = void 0;
4
+ exports.Mode = Mode;
5
+ exports.Mean = Mean;
6
+ exports.Median = Median;
7
+ exports.Stdev = Stdev;
8
+ exports.ConcatHash = ConcatHash;
9
+ exports.PriceAggregate = PriceAggregate;
10
+ exports.PriceTally = PriceTally;
11
+ const filters_1 = require("./filters");
12
+ var Opcodes;
13
+ (function (Opcodes) {
14
+ Opcodes[Opcodes["Mode"] = 2] = "Mode";
15
+ Opcodes[Opcodes["MeanAverage"] = 3] = "MeanAverage";
16
+ Opcodes[Opcodes["MedianAverage"] = 5] = "MedianAverage";
17
+ Opcodes[Opcodes["StandardDeviation"] = 7] = "StandardDeviation";
18
+ Opcodes[Opcodes["ConcatenateAndHash"] = 11] = "ConcatenateAndHash";
19
+ })(Opcodes || (exports.Opcodes = Opcodes = {}));
20
+ class RadonReducer {
21
+ constructor(opcode, filters) {
22
+ this.opcode = opcode;
23
+ this.filters = filters;
24
+ Object.defineProperty(this, "toString", { value: () => {
25
+ let filters = "";
26
+ this.filters?.map(filter => { filters = filter.toString() + `${filters ? "." + filters : ""}`; });
27
+ if (filters)
28
+ filters = filters + ".";
29
+ switch (this.opcode) {
30
+ case Opcodes.Mode: return `${filters}Mode()`;
31
+ case Opcodes.MeanAverage: return `${filters}Mean()`;
32
+ case Opcodes.MedianAverage: return `${filters}Median()`;
33
+ case Opcodes.StandardDeviation: return `${filters}Stdev()`;
34
+ case Opcodes.ConcatenateAndHash: return `${filters}ConcatHash()`;
35
+ }
36
+ } });
37
+ }
38
+ toJSON(humanize) {
39
+ const json = {
40
+ reducer: humanize ? Opcodes[this.opcode] : this.opcode,
41
+ };
42
+ json.filters = this.filters?.map(filter => filter.toJSON(humanize)) || [];
43
+ return json;
44
+ }
45
+ toProtobuf() {
46
+ const protobuf = {
47
+ reducer: this.opcode,
48
+ };
49
+ if (this.filters && this.filters.length > 0) {
50
+ protobuf.filters = this.filters.map(filter => filter.toProtobuf());
51
+ }
52
+ return protobuf;
53
+ }
54
+ opsCount() {
55
+ return 1 + (this.filters?.length || 0);
56
+ }
57
+ }
58
+ exports.RadonReducer = RadonReducer;
59
+ function Mode(...filters) { return new RadonReducer(Opcodes.Mode, filters); }
60
+ function Mean(...filters) { return new RadonReducer(Opcodes.MeanAverage, filters); }
61
+ function Median(...filters) { return new RadonReducer(Opcodes.MedianAverage, filters); }
62
+ function Stdev(...filters) { return new RadonReducer(Opcodes.StandardDeviation, filters); }
63
+ function ConcatHash(...filters) { return new RadonReducer(Opcodes.ConcatenateAndHash, filters); }
64
+ function PriceAggregate() { return new RadonReducer(Opcodes.MeanAverage, [(0, filters_1.Stdev)(1.4)]); }
65
+ function PriceTally() { return new RadonReducer(Opcodes.MeanAverage, [(0, filters_1.Stdev)(2.5)]); }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3JlZHVjZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTZEQSxvQkFBb0c7QUFDcEcsb0JBQTJHO0FBQzNHLHdCQUErRztBQUMvRyxzQkFBa0g7QUFDbEgsZ0NBQXdIO0FBRXhILHdDQUF5RztBQUN6RyxnQ0FBcUc7QUFuRXJHLHVDQUE2RDtBQUU3RCxJQUFZLE9BTVg7QUFORCxXQUFZLE9BQU87SUFDZixxQ0FBVyxDQUFBO0lBQ1gsbURBQWtCLENBQUE7SUFDbEIsdURBQW9CLENBQUE7SUFDcEIsK0RBQXdCLENBQUE7SUFDeEIsa0VBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQU5XLE9BQU8sdUJBQVAsT0FBTyxRQU1sQjtBQU9ELE1BQWEsWUFBWTtJQUtyQixZQUFZLE1BQWUsRUFBRSxPQUF1QjtRQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNsRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7Z0JBQ2hCLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDaEcsSUFBSSxPQUFPO29CQUFFLE9BQU8sR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFBO2dCQUNwQyxRQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakIsS0FBSyxPQUFPLENBQUMs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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhZG9uU2NyaXB0IH0gZnJvbSBcIi4vdHlwZXNcIlxyXG5pbXBvcnQgeyBSYWRvbkZpbHRlciwgU3RkZXYgYXMgU3RkZXZGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJzXCJcclxuXHJcbmV4cG9ydCBlbnVtIE9wY29kZXMge1xyXG4gICAgTW9kZSA9IDB4MDIsXHJcbiAgICBNZWFuQXZlcmFnZSA9IDB4MDMsXHJcbiAgICBNZWRpYW5BdmVyYWdlID0gMHgwNSxcclxuICAgIFN0YW5kYXJkRGV2aWF0aW9uID0gMHgwNyxcclxuICAgIENvbmNhdGVuYXRlQW5kSGFzaCA9IDB4MEIsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3BlY3Mge1xyXG4gICAgZmlsdGVycz86IFJhZG9uRmlsdGVyW10sXHJcbiAgICBzY3JpcHQ/OiBSYWRvblNjcmlwdCxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJhZG9uUmVkdWNlciB7XHJcblxyXG4gICAgcmVhZG9ubHkgb3Bjb2RlOiBPcGNvZGVzXHJcbiAgICByZWFkb25seSBmaWx0ZXJzPzogUmFkb25GaWx0ZXJbXVxyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihvcGNvZGU6IE9wY29kZXMsIGZpbHRlcnM/OiBSYWRvbkZpbHRlcltdKSB7XHJcbiAgICAgICAgdGhpcy5vcGNvZGUgPSBvcGNvZGVcclxuICAgICAgICB0aGlzLmZpbHRlcnMgPSBmaWx0ZXJzXHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwidG9TdHJpbmdcIiwgeyB2YWx1ZTogKCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZmlsdGVycyA9IFwiXCJcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJzPy5tYXAoZmlsdGVyID0+IHsgZmlsdGVycyA9IGZpbHRlci50b1N0cmluZygpICsgYCR7ZmlsdGVycyA/IFwiLlwiICsgZmlsdGVycyA6IFwiXCJ9YCB9KVxyXG4gICAgICAgICAgICBpZiAoZmlsdGVycykgZmlsdGVycyA9IGZpbHRlcnMgKyBcIi5cIlxyXG4gICAgICAgICAgICBzd2l0Y2godGhpcy5vcGNvZGUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgT3Bjb2Rlcy5Nb2RlOiByZXR1cm4gYCR7ZmlsdGVyc31Nb2RlKClgO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBPcGNvZGVzLk1lYW5BdmVyYWdlOiByZXR1cm4gYCR7ZmlsdGVyc31NZWFuKClgO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBPcGNvZGVzLk1lZGlhbkF2ZXJhZ2U6IHJldHVybiBgJHtmaWx0ZXJzfU1lZGlhbigpYDtcclxuICAgICAgICAgICAgICAgIGNhc2UgT3Bjb2Rlcy5TdGFuZGFyZERldmlhdGlvbjogcmV0dXJuIGAke2ZpbHRlcnN9U3RkZXYoKWA7XHJcbiAgICAgICAgICAgICAgICBjYXNlIE9wY29kZXMuQ29uY2F0ZW5hdGVBbmRIYXNoOiByZXR1cm4gYCR7ZmlsdGVyc31Db25jYXRIYXNoKClgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfX0pXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRvSlNPTihodW1hbml6ZT86IGJvb2xlYW4pOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IGpzb246IGFueSA9IHtcclxuICAgICAgICAgICAgcmVkdWNlcjogaHVtYW5pemUgPyBPcGNvZGVzW3RoaXMub3Bjb2RlXSA6IHRoaXMub3Bjb2RlLFxyXG4gICAgICAgIH1cclxuICAgICAgICBqc29uLmZpbHRlcnMgPSB0aGlzLmZpbHRlcnM/Lm1hcChmaWx0ZXIgPT4gZmlsdGVyLnRvSlNPTihodW1hbml6ZSkpIHx8IFtdXHJcbiAgICAgICAgcmV0dXJuIGpzb25cclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIHRvUHJvdG9idWYoKTogYW55IHtcclxuICAgICAgICBjb25zdCBwcm90b2J1ZjogYW55ID0ge1xyXG4gICAgICAgICAgICByZWR1Y2VyOiB0aGlzLm9wY29kZSxcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVycyAmJiB0aGlzLmZpbHRlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBwcm90b2J1Zi5maWx0ZXJzID0gdGhpcy5maWx0ZXJzLm1hcChmaWx0ZXIgPT4gZmlsdGVyLnRvUHJvdG9idWYoKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3RvYnVmXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wc0NvdW50KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIDEgKyAodGhpcy5maWx0ZXJzPy5sZW5ndGggfHwgMClcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIE1vZGUgKC4uLmZpbHRlcnM6IFJhZG9uRmlsdGVyW10pIHsgcmV0dXJuIG5ldyBSYWRvblJlZHVjZXIoT3Bjb2Rlcy5Nb2RlLCBmaWx0ZXJzKTsgfVxyXG5leHBvcnQgZnVuY3Rpb24gTWVhbiAoLi4uZmlsdGVyczogUmFkb25GaWx0ZXJbXSkgeyByZXR1cm4gbmV3IFJhZG9uUmVkdWNlcihPcGNvZGVzLk1lYW5BdmVyYWdlLCBmaWx0ZXJzKTsgfVxyXG5leHBvcnQgZnVuY3Rpb24gTWVkaWFuICguLi5maWx0ZXJzOiBSYWRvbkZpbHRlcltdKSB7IHJldHVybiBuZXcgUmFkb25SZWR1Y2VyKE9wY29kZXMuTWVkaWFuQXZlcmFnZSwgZmlsdGVycyk7IH1cclxuZXhwb3J0IGZ1bmN0aW9uIFN0ZGV2ICguLi5maWx0ZXJzOiBSYWRvbkZpbHRlcltdKSB7IHJldHVybiBuZXcgUmFkb25SZWR1Y2VyKE9wY29kZXMuU3RhbmRhcmREZXZpYXRpb24sIGZpbHRlcnMpOyB9XHJcbmV4cG9ydCBmdW5jdGlvbiBDb25jYXRIYXNoICguLi5maWx0ZXJzOiBSYWRvbkZpbHRlcltdKSB7IHJldHVybiBuZXcgUmFkb25SZWR1Y2VyKE9wY29kZXMuQ29uY2F0ZW5hdGVBbmRIYXNoLCBmaWx0ZXJzKTsgfVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFByaWNlQWdncmVnYXRlICgpIHsgcmV0dXJuIG5ldyBSYWRvblJlZHVjZXIoT3Bjb2Rlcy5NZWFuQXZlcmFnZSwgWyBTdGRldkZpbHRlcigxLjQpIF0pOyB9XHJcbmV4cG9ydCBmdW5jdGlvbiBQcmljZVRhbGx5ICgpIHsgcmV0dXJuIG5ldyBSYWRvblJlZHVjZXIoT3Bjb2Rlcy5NZWFuQXZlcmFnZSwgWyBTdGRldkZpbHRlcigyLjUpIF0pOyB9XHJcbiJdfQ==
@@ -0,0 +1,521 @@
1
+ import { Opcodes as RadonReducerOpcodes } from './reducers';
2
+ export { HexString as RadonBytecode } from "../types";
3
+ export declare enum RadonEncodings {
4
+ HexString = 0,
5
+ Base64 = 1
6
+ }
7
+ export declare enum RadonOperators {
8
+ ArrayLength = 16,
9
+ ArrayFilter = 17,
10
+ ArrayJoin = 18,
11
+ ArrayGetArray = 19,
12
+ ArrayGetBoolean = 20,
13
+ ArrayGetBytes = 21,
14
+ ArrayGetFloat = 22,
15
+ ArrayGetInteger = 23,
16
+ ArrayGetMap = 24,
17
+ ArrayGetString = 25,
18
+ ArrayMap = 26,
19
+ ArrayReduce = 27,
20
+ ArraySort = 29,
21
+ ArrayPick = 30,
22
+ BooleanStringify = 32,
23
+ BooleanNegate = 34,
24
+ BytesStringify = 48,
25
+ BytesHash = 49,
26
+ BytesAsInteger = 50,
27
+ BytesLength = 52,
28
+ BytesSlice = 60,
29
+ FloatAbsolute = 80,
30
+ FloatStringify = 81,
31
+ FloatCeiling = 82,
32
+ FloatGreaterThan = 83,
33
+ FloatFloor = 84,
34
+ FloatLessThan = 85,
35
+ FloatModule = 86,
36
+ FloatMultiply = 87,
37
+ FloatNegate = 88,
38
+ FloatPower = 89,
39
+ FloatRound = 91,
40
+ FloatTruncate = 93,
41
+ IntegerAbsolute = 64,
42
+ IntegerToFloat = 65,
43
+ IntegerStringify = 66,
44
+ IntegerGreaterThan = 67,
45
+ IntegerLessThan = 68,
46
+ IntegerModulo = 70,
47
+ IntegerMultiply = 71,
48
+ IntegerNegate = 72,
49
+ IntegerPower = 73,
50
+ IntegerToBytes = 74,
51
+ MapStringify = 96,
52
+ MapGetArray = 97,
53
+ MapGetBoolean = 98,
54
+ MapGetFloat = 100,
55
+ MapGetInteger = 101,
56
+ MapGetMap = 102,
57
+ MapGetString = 103,
58
+ MapKeys = 104,
59
+ MapValues = 105,
60
+ MapAlter = 107,
61
+ MapPick = 110,
62
+ StringAsBoolean = 112,
63
+ StringAsBytes = 113,
64
+ StringAsFloat = 114,
65
+ StringLength = 116,
66
+ StringMatch = 117,
67
+ StringParseJSONArray = 118,
68
+ StringParseJSONMap = 119,
69
+ StringParseXMLMap = 120,
70
+ StringToLowerCase = 121,
71
+ StringToUppserCase = 122,
72
+ StringParseReplace = 123,
73
+ StringParseSlice = 124,
74
+ StringParseSplit = 125
75
+ }
76
+ declare abstract class RadonClass {
77
+ readonly prev?: RadonOperator;
78
+ constructor(prev?: RadonOperator);
79
+ }
80
+ export declare class RadonOperator extends RadonClass {
81
+ readonly opcode: RadonOperators;
82
+ readonly params?: any[];
83
+ constructor(opcode: RadonOperators, params?: any[], ops?: RadonOperator);
84
+ argsCount(): number;
85
+ disect(level?: number): [number, string, string][];
86
+ encode(): any[];
87
+ replaceWildcards(args: string[]): RadonOperator;
88
+ spliceWildcard(argIndex: number, argValue: string): RadonOperator;
89
+ toString(left?: string, indent?: number, level?: number): string;
90
+ }
91
+ export declare class RadonScript {
92
+ protected readonly ops?: RadonOperator;
93
+ readonly inputType?: RadonAny;
94
+ readonly outputType?: RadonAny;
95
+ constructor(output: RadonAny);
96
+ argsCount(): number;
97
+ disect(level?: number): [number, string, string][];
98
+ encode(): any[];
99
+ replaceWildcards(...args: string[]): RadonAny;
100
+ spliceWildcard(argIndex: number, argValue: string): RadonAny;
101
+ toBytecode(): string;
102
+ toString(left?: string, indent?: number, level?: number): string;
103
+ }
104
+ export declare abstract class RadonAny extends RadonClass {
105
+ protected _pushOperator<OutputType extends RadonAny>(outputType: {
106
+ new (ops?: RadonOperator): OutputType;
107
+ }, params: any[]): OutputType;
108
+ }
109
+ export interface RadonArray<ItemsType extends RadonAny> {
110
+ itemsType: ItemsType;
111
+ }
112
+ export declare class RadonArray<ItemsType extends RadonAny = RadonAny> extends RadonAny {
113
+ /**
114
+ * Discard the items in the input array that make the given `innerScript` to return a `false` value.
115
+ * @param script Filtering script ultimately returning a `RadonBoolean` object.
116
+ * Must accept as input the same data types as the ones of the items being iterated.
117
+ * @returns A `RadonArray` object containing only the items that make the `innerScript` to return a `true` value.
118
+ */
119
+ filter(innerScript: RadonBoolean): RadonArray<ItemsType>;
120
+ /**
121
+ * Fetch the item at the given `index` as a `RadonArray` object.
122
+ * @param index
123
+ */
124
+ getArray<SubItemsType extends RadonAny = RadonAny>(index: number): RadonArray<SubItemsType>;
125
+ /**
126
+ * Fetch the item at the given `index` as a `RadonBoolean` object.
127
+ * @param index
128
+ */
129
+ getBoolean(index: number): RadonBoolean;
130
+ /**
131
+ * Fetch the item at the given `index` as a `RadonBytes` object.
132
+ * @param index
133
+ */
134
+ getBytes(index: number): RadonBytes;
135
+ /**
136
+ * Fetch the item at the given `index` as a `RadonFloat` object.
137
+ * @param index
138
+ */
139
+ getFloat(index: number): RadonFloat;
140
+ /**
141
+ * Fetch the item at the given `index` as a `RadonInteger` object.
142
+ * @param index
143
+ */
144
+ getInteger(index: number): RadonInteger;
145
+ /**
146
+ * Fetch the item at the given `index` as a `RadonMap` object.
147
+ * @param index
148
+ */
149
+ getMap(index: number): RadonMap;
150
+ /**
151
+ * Fetch the item at the given `index` as a `RadonString` object.
152
+ * @param index
153
+ */
154
+ getString(index: number): RadonString;
155
+ /**
156
+ * Join all items of the array into a value of the given type. The array must be homogeneous,
157
+ * all items being of the same type as the outputType`, if specified, or the Array's itemsType otherwise.
158
+ * @param separator Separator to be used when joining strings. When joining RadonMaps, it can be used to settle base schema on resulting object.
159
+ * @param outputType Radon type of the output value.
160
+ */
161
+ join<OutputType extends RadonAny = RadonAny>(separator?: string, outputType?: {
162
+ new (): ItemsType;
163
+ }): void;
164
+ /**
165
+ * Count the number of items.
166
+ * @returns A `RadonInteger` object.
167
+ */
168
+ length(): RadonInteger;
169
+ /**
170
+ * Map all items in the array with the given `innerScript`.
171
+ * @param innerScript Mapping script returning some `RadonAny` object.
172
+ * Must accept as input the same data type as the one of the items being iterated.
173
+ * @returns A `RadonArray` object containing the mapped values.
174
+ */
175
+ map(innerScript: RadonOperator): RadonArray<RadonAny>;
176
+ /**
177
+ * Reduce all items in the array into a single value.
178
+ * @param reductor The reductor method to be applied. All array items must be
179
+ * convertable into float values.
180
+ * @returns A `RadonFloat` object.
181
+ */
182
+ reduce(reductor: RadonReducerOpcodes): RadonFloat;
183
+ /**
184
+ * Order the array items based either on the results of applying the given `innerScript` to every item, or on the
185
+ * actual item values (as long as these are either integers or strings).
186
+ * Fails if applied on non-homegenous arrays (i.e. not all items sharing the same `RadonAny`).
187
+ * @param innerScript (Optional) Sorting script returning either a `RadonInteger` or a `RadonString` object.
188
+ * @returns A `RadonArray` object.
189
+ */
190
+ /**
191
+ * Take a selection of items from the input array.
192
+ * @param indexes Indexes of the input items to take into the output array.
193
+ * @return A `RadonArray` object.
194
+ */
195
+ pick(...indexes: number[]): RadonArray<ItemsType>;
196
+ }
197
+ export declare class RadonBoolean extends RadonAny {
198
+ /**
199
+ * Reverse value.
200
+ * @returns A `RadonBoolean` object.
201
+ */
202
+ negate(): RadonBoolean;
203
+ /**
204
+ * Cast value into a string.
205
+ * @returns A `RadonString` object.
206
+ */
207
+ stringify(): RadonString;
208
+ }
209
+ export declare class RadonBytes extends RadonAny {
210
+ static readonly Encodings: typeof RadonEncodings;
211
+ /**
212
+ * Convert buffer into (big-endian) integer.
213
+ * @returns A `RadonBytes` object.
214
+ */
215
+ asInteger(): RadonInteger;
216
+ /**
217
+ * Apply the SHA2-256 hash function.
218
+ * @returns A `RadonBytes` object.
219
+ */
220
+ hash(): RadonBytes;
221
+ /**
222
+ * Count the number of bytes.
223
+ * @returns A `RadonInteger` object.
224
+ */
225
+ length(): RadonInteger;
226
+ /**
227
+ * Returns a slice extracted from the input buffer.
228
+ * A `startIndex` of 0 refers to the beginning of the input buffer. If no `endIndex` is provided, it will be assumed
229
+ * the length of the input buffer. Negative values will be relative to the end of the input buffer.
230
+ * @param startIndex Position within input buffer where the output buffer will start.
231
+ * @param endIndex Position within input buffer where the output buffer will end
232
+ * @returns A `RadonBytes` object.
233
+ */
234
+ slice(startIndex?: number, endIndex?: number): RadonBytes;
235
+ /**
236
+ * Convert the input buffer into a string.
237
+ * @param encoding Enum integer value specifying the encoding schema on the output string, standing:
238
+ * 0 -> Hex string (default, if none was specified)
239
+ * 1 -> Base64 string
240
+ * @returns A `RadonString` object.
241
+ */
242
+ stringify(encoding?: RadonEncodings): RadonString;
243
+ }
244
+ export declare class RadonFloat extends RadonAny {
245
+ /**
246
+ * Compute the absolute value.
247
+ * @returns A `RadonFloat` object.
248
+ */
249
+ absolute(): RadonFloat;
250
+ /**
251
+ * Compute the lowest integer greater than or equal to the float value.
252
+ * @returns A `RadonInteger` object.
253
+ */
254
+ ceiling(): RadonFloat;
255
+ /**
256
+ * Compute the greatest integer less than or equal to the float value.
257
+ * @returns A `RadonInteger` object.
258
+ */
259
+ floor(): RadonInteger;
260
+ /**
261
+ * Determine if the float value is greater than the given `input`.
262
+ * @param input
263
+ * @returns A `RadonBoolean` object.
264
+ */
265
+ greaterThan(input: number | string): RadonBoolean;
266
+ /**
267
+ * Determine if the float value is less than the given `input`.
268
+ * @param input
269
+ * @returns A `RadonBoolean` object.
270
+ */
271
+ lessThan(input: number | string): RadonBoolean;
272
+ /**
273
+ * Compute the float remainder of dividing the value by the given `integer`.
274
+ * @param integer
275
+ * @returns A `RadonFloat` object.
276
+ */
277
+ modulo(integer: number | string): RadonFloat;
278
+ /**
279
+ * Multiply the float value by the given `factor`.
280
+ * @param factor
281
+ * @returns A `RadonFloat` object.
282
+ */
283
+ multiply(factor: number | string): RadonFloat;
284
+ /**
285
+ * Negate the float value.
286
+ * @returns A `RadonFloat` object.
287
+ */
288
+ negate(): RadonFloat;
289
+ /**
290
+ * Compute the float value raised to the power of given `exponent`
291
+ * @param exponent
292
+ * @returns A `RadonFloat` object.
293
+ */
294
+ power(exponent: number | string): RadonFloat;
295
+ /**
296
+ * Round to the closest integer value.
297
+ * @returns A `RadonInteger` object.
298
+ */
299
+ round(): RadonInteger;
300
+ /**
301
+ * Stringify the float value.
302
+ * @returns A `RadonString` object.
303
+ */
304
+ stringify(): RadonString;
305
+ /**
306
+ * Take the integer part of the float value.
307
+ * @returns A `RadonInteger` object.
308
+ */
309
+ truncate(): RadonInteger;
310
+ }
311
+ export declare class RadonInteger extends RadonAny {
312
+ /**
313
+ * Compute the absolute value.
314
+ * @returns A `RadonInteger` object.
315
+ */
316
+ absolute(): RadonInteger;
317
+ /**
318
+ * Determine if the integer value is greater than the given `input`.
319
+ * @param input
320
+ * @returns A `RadonBoolean` object.
321
+ */
322
+ greaterThan(input: number | string): RadonBoolean;
323
+ /**
324
+ * Determine if the integer value is less than the given `input`.
325
+ * @param input
326
+ * @returns A `RadonBoolean` object.
327
+ */
328
+ lessThan(input: number | string): RadonBoolean;
329
+ /**
330
+ * Compute the remainder of dividing the value by the given `integer`.
331
+ * @param integer
332
+ * @returns A `RadonFloat` object.
333
+ */
334
+ modulo(integer: number | string): RadonInteger;
335
+ /**
336
+ * Multiply the value by the given `integer`.
337
+ * @param integer
338
+ * @returns A `RadonInteger` object.
339
+ */
340
+ multiply(integer: number | string): RadonInteger;
341
+ /**
342
+ * Negate the integer value.
343
+ * @returns A `RadonFloat` object.
344
+ */
345
+ negate(): RadonInteger;
346
+ /**
347
+ * Compute the value raised to the power of given `exponent`
348
+ * @param exponent
349
+ * @returns A `RadonInteger` object.
350
+ */
351
+ power(exponent: number | string): RadonInteger;
352
+ /**
353
+ * Stringify the value.
354
+ * @returns A `RadonString` object.
355
+ */
356
+ stringify(): RadonString;
357
+ /**
358
+ * Cast into a big-endian bytes buffer.
359
+ * @returns A `RadonBytes` object.
360
+ */
361
+ toBytes(): RadonBytes;
362
+ /**
363
+ * Cast into a float value.
364
+ * @returns A `RadonFloat` object.
365
+ */
366
+ toFloat(): RadonFloat;
367
+ }
368
+ export declare class RadonMap extends RadonAny {
369
+ /**
370
+ * Alter the value of the item(s) identified by `keys`, applying the given `innerScript` to each one of them.
371
+ * @param key
372
+ * @param innerScript
373
+ * @returns The same RadonMap upon which this operator is executed, with the specified item(s) altered
374
+ * by the given `innerScript`.
375
+ */
376
+ /**
377
+ * Fetch the array within the specified `key` field.
378
+ * @param key
379
+ * @returns A `RadonArray` object.
380
+ */
381
+ getArray<ItemsType extends RadonAny = RadonAny>(key: string, _itemsType?: {
382
+ new (): ItemsType;
383
+ }): RadonArray<ItemsType>;
384
+ /**
385
+ * Fetch the boolean within the specified `key` field.
386
+ * @param key
387
+ * @returns A `RadonBoolean` object.
388
+ */
389
+ getBoolean(key: string): RadonBoolean;
390
+ /**
391
+ * Fetch the float value within the specified `key` field.
392
+ * @param key
393
+ * @returns A `RadonFloat` object.
394
+ */
395
+ getFloat(key: string): RadonFloat;
396
+ /**
397
+ * Fetch the integer value within the specified `key` field.
398
+ * @param key
399
+ * @returns A `RadonInteger` object.
400
+ */
401
+ getInteger(key: string): RadonInteger;
402
+ /**
403
+ * Fetch the map object within the specified `key` field.
404
+ * @param key
405
+ * @returns A `RadonMap` object.
406
+ */
407
+ getMap(key: string): RadonMap;
408
+ /**
409
+ * Fetch the string within the specified `key` field.
410
+ * @param key
411
+ * @returns A `RadonString` object.
412
+ */
413
+ getString(key: string): RadonString;
414
+ /**
415
+ * Extract key names of the map into an array of strings.
416
+ * @returns A `RadonArray` object.
417
+ */
418
+ keys(): RadonArray<RadonString>;
419
+ /**
420
+ * Take a selection of items from the input map. Fails if unexistent items are referred.
421
+ * @param keys Key string of the input items to take into the output map.
422
+ * @return A `RadonMap` object.
423
+ */
424
+ pick(...keys: string[]): RadonMap;
425
+ /**
426
+ * Extract the map values into an array.
427
+ * @returns A `RadonArray` object.
428
+ */
429
+ values(): RadonArray<RadonAny>;
430
+ /**
431
+ * Stringify input `RadonMap` object into a JSON string.
432
+ * @return A `RadonString` object.
433
+ */
434
+ stringify(): RadonString;
435
+ }
436
+ export declare class RadonString extends RadonAny {
437
+ /**
438
+ * Cast into a boolean value.
439
+ * @returns A `RadonBoolean` object.
440
+ */
441
+ asBoolean(): RadonBoolean;
442
+ /**
443
+ * Convert the input string into a bytes buffer.
444
+ * @param encoding Enum integer value specifying the encoding schema on the input string, standing:
445
+ * 0 -> Hex string (default, if none was specified)
446
+ * 1 -> Base64 string
447
+ * @returns A `RadonBytes` object.
448
+ */
449
+ asBytes(encoding?: RadonEncodings): RadonBytes;
450
+ /**
451
+ * Cast into a float number.
452
+ * @returns A `RadonFloat` object.
453
+ */
454
+ asFloat(): RadonFloat;
455
+ /**
456
+ * Count the number of chars.
457
+ * @returns A `RadonInteger` object.
458
+ */
459
+ length(): RadonInteger;
460
+ /**
461
+ * Replace the string by a value of type `outputType`, determined on whether the string value matches
462
+ * any of the keys within the provided `matchingMap`, or set to a `defaultValue` if no match is found.
463
+ * @param outputType Radon type of the output value.
464
+ * @param matchingMap Map determining the output value depending on the string value.
465
+ * @param defaultValue Value returned if no match is found.
466
+ * @returns
467
+ */
468
+ match<OutputType extends RadonAny = RadonString>(outputType: {
469
+ new (prev?: RadonOperator): OutputType;
470
+ }, matchingMap: Map<string, any>, defaultValue: any): OutputType;
471
+ /**
472
+ * Parse input string as an array of JSON items.
473
+ * @param jsonPaths (optional) Array of JSON paths within input `RadonString` from where to fetch items that will be appended to the output `RadonArray`.
474
+ * @returns A `RadonArray` object.
475
+ */
476
+ parseJSONArray(...jsonPaths: string[]): RadonArray<RadonAny>;
477
+ /**
478
+ * Parse string as a JSON-encoded map.
479
+ * @param jsonPath (optional) JSON path within input `RadonString` from where to extract the output `RadonMap`.
480
+ * @returns A `RadonMap` object.
481
+ */
482
+ parseJSONMap(jsonPath?: string): RadonMap;
483
+ /**
484
+ * Parse string as an XML-encoded map.
485
+ * @returns A `RadonMap` object.
486
+ */
487
+ parseXMLMap(): RadonMap;
488
+ /**
489
+ * Replace with given `replacement` string, all parts of the input string that match with given regular expression.
490
+ * @param regex Regular expression to be matched.
491
+ * @param replacement Text that will replace all occurences.
492
+ * @returns A `RadonString` object.
493
+ */
494
+ replace(regex?: string, replacement?: string): RadonString;
495
+ /**
496
+ * Returns a slice extracted from the input string.
497
+ * A `startIndex` of 0 refers to the beginning of the input string. If no `endIndex` is provided, it will be assumed
498
+ * the length of the input string. Negative values will be relative to the end of the input string.
499
+ * @param startIndex Position within input string where the output string will start.
500
+ * @param endIndex Position within input string where the output string will end.
501
+ * @returns A `RadonString` object.
502
+ */
503
+ slice(startIndex?: number, endIndex?: number): RadonString;
504
+ /**
505
+ * Divides input string into an array of substrings,
506
+ * @param regex The string or regular expression to use for splitting.
507
+ * @returns A `RadonArray` object.
508
+ */
509
+ split(regex?: string): RadonArray<RadonString>;
510
+ /**
511
+ * Lower case all characters.
512
+ * @returns A `RadonString` object.
513
+ */
514
+ toLowercase(): RadonString;
515
+ /**
516
+ * Upper case all characters.
517
+ * @returns A `RadonString` object.
518
+ */
519
+ toUpperCase(): RadonString;
520
+ }
521
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/types.ts"],"names":[],"mappings":"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"}