one 2.6.20 → 2.6.21

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 (111) hide show
  1. package/cpp/HybridOneCrypto.cpp +327 -1
  2. package/cpp/HybridOneCrypto.hpp +8 -0
  3. package/dist/cjs/index.cjs +25 -22
  4. package/dist/cjs/index.native.cjs +25 -22
  5. package/dist/cjs/index.native.js +25 -22
  6. package/dist/cjs/index.native.js.map +1 -1
  7. package/dist/cjs/one.cjs +1 -0
  8. package/dist/cjs/one.native.cjs +1 -0
  9. package/dist/cjs/one.native.js +1 -0
  10. package/dist/cjs/one.native.js.map +1 -1
  11. package/dist/cjs/platform/crypto/aes.cjs +259 -0
  12. package/dist/cjs/platform/crypto/aes.native.cjs +343 -0
  13. package/dist/cjs/platform/crypto/aes.native.js +345 -0
  14. package/dist/cjs/platform/crypto/aes.native.js.map +1 -0
  15. package/dist/cjs/platform/crypto/bytes.cjs +132 -0
  16. package/dist/cjs/platform/crypto/bytes.native.cjs +175 -0
  17. package/dist/cjs/platform/crypto/bytes.native.js +177 -0
  18. package/dist/cjs/platform/crypto/bytes.native.js.map +1 -0
  19. package/dist/cjs/platform/crypto/digest-api.cjs +65 -0
  20. package/dist/cjs/platform/crypto/digest-api.native.cjs +69 -0
  21. package/dist/cjs/platform/crypto/digest-api.native.js +71 -0
  22. package/dist/cjs/platform/crypto/digest-api.native.js.map +1 -0
  23. package/dist/cjs/platform/crypto/digest.cjs +26 -15
  24. package/dist/cjs/platform/crypto/digest.native.cjs +26 -15
  25. package/dist/cjs/platform/crypto/digest.native.js +26 -15
  26. package/dist/cjs/platform/crypto/digest.native.js.map +1 -1
  27. package/dist/cjs/platform/crypto/index.cjs +19 -1
  28. package/dist/cjs/platform/crypto/index.native.cjs +39 -1
  29. package/dist/cjs/platform/crypto/index.native.js +39 -1
  30. package/dist/cjs/platform/crypto/index.native.js.map +1 -1
  31. package/dist/cjs/platform/crypto/types.cjs +16 -0
  32. package/dist/cjs/platform/crypto/types.native.cjs +18 -0
  33. package/dist/cjs/platform/crypto/types.native.js +20 -0
  34. package/dist/cjs/platform/crypto/types.native.js.map +1 -0
  35. package/dist/cjs/platform/crypto/web.cjs +73 -0
  36. package/dist/cjs/platform/extras.cjs +4 -0
  37. package/dist/cjs/platform/extras.native.cjs +4 -0
  38. package/dist/cjs/platform/extras.native.js +4 -0
  39. package/dist/cjs/platform/extras.native.js.map +1 -1
  40. package/dist/esm/index.js +2 -2
  41. package/dist/esm/index.mjs +2 -2
  42. package/dist/esm/index.native.js +2 -2
  43. package/dist/esm/one.mjs +2 -1
  44. package/dist/esm/one.mjs.map +1 -1
  45. package/dist/esm/one.native.js +2 -1
  46. package/dist/esm/one.native.js.map +1 -1
  47. package/dist/esm/platform/crypto/aes.mjs +236 -0
  48. package/dist/esm/platform/crypto/aes.mjs.map +1 -0
  49. package/dist/esm/platform/crypto/aes.native.js +318 -0
  50. package/dist/esm/platform/crypto/aes.native.js.map +1 -0
  51. package/dist/esm/platform/crypto/bytes.mjs +104 -0
  52. package/dist/esm/platform/crypto/bytes.mjs.map +1 -0
  53. package/dist/esm/platform/crypto/bytes.native.js +145 -0
  54. package/dist/esm/platform/crypto/bytes.native.js.map +1 -0
  55. package/dist/esm/platform/crypto/digest-api.mjs +42 -0
  56. package/dist/esm/platform/crypto/digest-api.mjs.map +1 -0
  57. package/dist/esm/platform/crypto/digest-api.native.js +44 -0
  58. package/dist/esm/platform/crypto/digest-api.native.js.map +1 -0
  59. package/dist/esm/platform/crypto/digest.mjs +23 -15
  60. package/dist/esm/platform/crypto/digest.mjs.map +1 -1
  61. package/dist/esm/platform/crypto/digest.native.js +23 -15
  62. package/dist/esm/platform/crypto/digest.native.js.map +1 -1
  63. package/dist/esm/platform/crypto/index.mjs +14 -1
  64. package/dist/esm/platform/crypto/index.mjs.map +1 -1
  65. package/dist/esm/platform/crypto/index.native.js +34 -1
  66. package/dist/esm/platform/crypto/index.native.js.map +1 -1
  67. package/dist/esm/platform/crypto/types.mjs +0 -0
  68. package/dist/esm/platform/crypto/types.native.js +0 -0
  69. package/dist/esm/platform/crypto/web.mjs +50 -0
  70. package/dist/esm/platform/crypto/web.mjs.map +1 -0
  71. package/dist/esm/platform/extras.mjs +2 -1
  72. package/dist/esm/platform/extras.native.js +2 -1
  73. package/nitrogen/generated/shared/c++/HybridOneCryptoSpec.cpp +2 -0
  74. package/nitrogen/generated/shared/c++/HybridOneCryptoSpec.hpp +4 -1
  75. package/package.json +12 -12
  76. package/src/index.ts +1 -0
  77. package/src/one.ts +3 -0
  78. package/src/platform/crypto/aes.ts +345 -0
  79. package/src/platform/crypto/bytes.ts +120 -0
  80. package/src/platform/crypto/digest-api.ts +50 -0
  81. package/src/platform/crypto/digest.ts +24 -15
  82. package/src/platform/crypto/index.native.ts +68 -0
  83. package/src/platform/crypto/index.ts +31 -0
  84. package/src/platform/crypto/types.ts +64 -0
  85. package/src/platform/crypto/web.ts +69 -0
  86. package/src/platform/extras.ts +15 -0
  87. package/src/platform/specs/OneCrypto.nitro.ts +19 -0
  88. package/types/index.d.ts +1 -0
  89. package/types/index.d.ts.map +1 -1
  90. package/types/one.d.ts +2 -1
  91. package/types/one.d.ts.map +1 -1
  92. package/types/platform/crypto/aes.d.ts +211 -0
  93. package/types/platform/crypto/aes.d.ts.map +1 -0
  94. package/types/platform/crypto/bytes.d.ts +8 -0
  95. package/types/platform/crypto/bytes.d.ts.map +1 -0
  96. package/types/platform/crypto/digest-api.d.ts +9 -0
  97. package/types/platform/crypto/digest-api.d.ts.map +1 -0
  98. package/types/platform/crypto/digest.d.ts +5 -0
  99. package/types/platform/crypto/digest.d.ts.map +1 -1
  100. package/types/platform/crypto/index.d.ts +127 -0
  101. package/types/platform/crypto/index.d.ts.map +1 -1
  102. package/types/platform/crypto/index.native.d.ts +127 -0
  103. package/types/platform/crypto/index.native.d.ts.map +1 -1
  104. package/types/platform/crypto/types.d.ts +43 -0
  105. package/types/platform/crypto/types.d.ts.map +1 -0
  106. package/types/platform/crypto/web.d.ts +5 -0
  107. package/types/platform/crypto/web.d.ts.map +1 -0
  108. package/types/platform/extras.d.ts +2 -0
  109. package/types/platform/extras.d.ts.map +1 -1
  110. package/types/platform/specs/OneCrypto.nitro.d.ts +2 -0
  111. package/types/platform/specs/OneCrypto.nitro.d.ts.map +1 -1
@@ -0,0 +1,73 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var web_exports = {};
22
+ __export(web_exports, {
23
+ webAesEngine: () => webAesEngine,
24
+ webDigestSource: () => webDigestSource
25
+ });
26
+ module.exports = __toCommonJS(web_exports);
27
+ function subtle(verb) {
28
+ const found = globalThis.crypto?.subtle;
29
+ if (!found) {
30
+ throw new Error(`${verb} needs a browser with WebCrypto or a native build that includes one`);
31
+ }
32
+ return found;
33
+ }
34
+ const webDigestSource = async (algorithm, buffer, offset, length) => {
35
+ if (algorithm === "MD5") {
36
+ throw new Error("Crypto.digest: MD5 needs an iOS or Android build");
37
+ }
38
+ return subtle("Crypto.digest").digest(algorithm, new Uint8Array(buffer, offset, length));
39
+ };
40
+ async function importKey(raw) {
41
+ return subtle("Crypto.aesEncrypt").importKey("raw", raw, "AES-GCM", false, ["encrypt", "decrypt"]);
42
+ }
43
+ const webAesEngine = {
44
+ async seal(key, iv, plaintext, additionalData, tagLength) {
45
+ const sealed = await subtle("Crypto.aesEncrypt").encrypt({
46
+ name: "AES-GCM",
47
+ iv,
48
+ tagLength: tagLength * 8,
49
+ ...additionalData ? { additionalData } : {}
50
+ }, await importKey(key), plaintext);
51
+ return new Uint8Array(sealed);
52
+ },
53
+ async open(key, iv, ciphertextWithTag, additionalData, tagLength) {
54
+ try {
55
+ const opened = await subtle("Crypto.aesDecrypt").decrypt({
56
+ name: "AES-GCM",
57
+ iv,
58
+ tagLength: tagLength * 8,
59
+ ...additionalData ? { additionalData } : {}
60
+ }, await importKey(key), ciphertextWithTag);
61
+ return new Uint8Array(opened);
62
+ } catch {
63
+ throw new Error("Crypto.aesDecrypt: authentication failed");
64
+ }
65
+ },
66
+ random(bytes) {
67
+ const getRandomValues = globalThis.crypto?.getRandomValues;
68
+ if (typeof getRandomValues !== "function") {
69
+ throw new Error("secure random: web crypto is unavailable in this browser.");
70
+ }
71
+ getRandomValues.call(globalThis.crypto, bytes);
72
+ }
73
+ };
@@ -20,6 +20,8 @@ var __copyProps = (to, from, except, desc) => {
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
  var extras_exports = {};
22
22
  __export(extras_exports, {
23
+ AESEncryptionKey: () => import_crypto.AESEncryptionKey,
24
+ AESSealedData: () => import_crypto.AESSealedData,
23
25
  Auth: () => import_auth.Auth,
24
26
  Barometer: () => import_barometer.Barometer,
25
27
  Battery: () => import_battery.Battery,
@@ -27,6 +29,7 @@ __export(extras_exports, {
27
29
  Browser: () => import_browser.Browser,
28
30
  Clipboard: () => import_clipboard.Clipboard,
29
31
  Color: () => import_color.Color,
32
+ Crypto: () => import_crypto.Crypto,
30
33
  Fonts: () => import_fonts.Fonts,
31
34
  LightSensor: () => import_light_sensor.LightSensor,
32
35
  Localization: () => import_localization.Localization,
@@ -72,6 +75,7 @@ var import_speech_synthesis = require("./speech-synthesis/index.cjs");
72
75
  var import_browser = require("./browser/index.cjs");
73
76
  var import_updates = require("./updates/index.cjs");
74
77
  var import_network = require("./network/index.cjs");
78
+ var import_crypto = require("./crypto/index.cjs");
75
79
  var import_localization = require("./localization/index.cjs");
76
80
  var import_secure_store = require("./secure-store/index.cjs");
77
81
  var import_auth = require("./auth/index.cjs");
@@ -22,6 +22,8 @@ var __copyProps = (to, from, except, desc) => {
22
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
23
  var extras_exports = {};
24
24
  __export(extras_exports, {
25
+ AESEncryptionKey: () => import_crypto.AESEncryptionKey,
26
+ AESSealedData: () => import_crypto.AESSealedData,
25
27
  Auth: () => import_auth.Auth,
26
28
  Barometer: () => import_barometer.Barometer,
27
29
  Battery: () => import_battery.Battery,
@@ -29,6 +31,7 @@ __export(extras_exports, {
29
31
  Browser: () => import_browser.Browser,
30
32
  Clipboard: () => import_clipboard.Clipboard,
31
33
  Color: () => import_color.Color,
34
+ Crypto: () => import_crypto.Crypto,
32
35
  Fonts: () => import_fonts.Fonts,
33
36
  LightSensor: () => import_light_sensor.LightSensor,
34
37
  Localization: () => import_localization.Localization,
@@ -74,6 +77,7 @@ var import_speech_synthesis = require("./speech-synthesis/index.native.js");
74
77
  var import_browser = require("./browser/index.native.js");
75
78
  var import_updates = require("./updates/index.native.js");
76
79
  var import_network = require("./network/index.native.js");
80
+ var import_crypto = require("./crypto/index.native.js");
77
81
  var import_localization = require("./localization/index.native.js");
78
82
  var import_secure_store = require("./secure-store/index.native.js");
79
83
  var import_auth = require("./auth/index.native.js");
@@ -22,6 +22,8 @@ var __copyProps = (to, from, except, desc) => {
22
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
23
  var extras_exports = {};
24
24
  __export(extras_exports, {
25
+ AESEncryptionKey: () => import_crypto.AESEncryptionKey,
26
+ AESSealedData: () => import_crypto.AESSealedData,
25
27
  Auth: () => import_auth.Auth,
26
28
  Barometer: () => import_barometer.Barometer,
27
29
  Battery: () => import_battery.Battery,
@@ -29,6 +31,7 @@ __export(extras_exports, {
29
31
  Browser: () => import_browser.Browser,
30
32
  Clipboard: () => import_clipboard.Clipboard,
31
33
  Color: () => import_color.Color,
34
+ Crypto: () => import_crypto.Crypto,
32
35
  Fonts: () => import_fonts.Fonts,
33
36
  LightSensor: () => import_light_sensor.LightSensor,
34
37
  Localization: () => import_localization.Localization,
@@ -74,6 +77,7 @@ var import_speech_synthesis = require("./speech-synthesis/index.native.js");
74
77
  var import_browser = require("./browser/index.native.js");
75
78
  var import_updates = require("./updates/index.native.js");
76
79
  var import_network = require("./network/index.native.js");
80
+ var import_crypto = require("./crypto/index.native.js");
77
81
  var import_localization = require("./localization/index.native.js");
78
82
  var import_secure_store = require("./secure-store/index.native.js");
79
83
  var import_auth = require("./auth/index.native.js");
@@ -1 +1 @@
1
- {"version":3,"file":"extras.native.js","names":[],"sources":["cjs/platform/extras.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar extras_exports = {};\n__export(extras_exports, {\n Auth: () => import_auth.Auth,\n Barometer: () => import_barometer.Barometer,\n Battery: () => import_battery.Battery,\n Brightness: () => import_brightness.Brightness,\n Browser: () => import_browser.Browser,\n Clipboard: () => import_clipboard.Clipboard,\n Color: () => import_color.Color,\n Fonts: () => import_fonts.Fonts,\n LightSensor: () => import_light_sensor.LightSensor,\n Localization: () => import_localization.Localization,\n MenuAction: () => import_menu.MenuAction,\n Network: () => import_network.Network,\n Pedometer: () => import_pedometer.Pedometer,\n SecureStore: () => import_secure_store.SecureStore,\n Speech: () => import_speech.Speech,\n SpeechSynthesis: () => import_speech_synthesis.SpeechSynthesis,\n SplitView: () => import_split_view.SplitView,\n ToolbarHost: () => import_toolbar.ToolbarHost,\n ToolbarItem: () => import_toolbar.ToolbarItem,\n Updates: () => import_updates.Updates,\n ZoomTransitionAlignmentRectDetector: () => import_zoom.ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler: () => import_zoom.ZoomTransitionEnabler,\n ZoomTransitionSource: () => import_zoom.ZoomTransitionSource,\n useAudioPlayer: () => import_hooks.useAudioPlayer,\n useAudioPlayerStatus: () => import_hooks.useAudioPlayerStatus,\n useBatteryLevel: () => import_battery.useBatteryLevel,\n useBatteryState: () => import_battery.useBatteryState,\n useCalendars: () => import_localization.useCalendars,\n useFonts: () => import_fonts.useFonts,\n useLocales: () => import_localization.useLocales,\n useLowPowerMode: () => import_battery.useLowPowerMode,\n useNetworkState: () => import_network.useNetworkState,\n usePowerState: () => import_battery.usePowerState\n});\nmodule.exports = __toCommonJS(extras_exports);\nvar import_color = require(\"./color\");\nvar import_fonts = require(\"./fonts\");\nvar import_zoom = require(\"./zoom\");\nvar import_toolbar = require(\"./toolbar\");\nvar import_menu = require(\"./menu/index\");\nvar import_split_view = require(\"./split-view\");\nvar import_clipboard = require(\"./clipboard\");\nvar import_battery = require(\"./battery\");\nvar import_hooks = require(\"./audio/hooks\");\nvar import_barometer = require(\"./barometer\");\nvar import_pedometer = require(\"./pedometer\");\nvar import_light_sensor = require(\"./light-sensor\");\nvar import_brightness = require(\"./brightness\");\nvar import_speech_synthesis = require(\"./speech-synthesis\");\nvar import_browser = require(\"./browser\");\nvar import_updates = require(\"./updates\");\nvar import_network = require(\"./network\");\nvar import_localization = require(\"./localization\");\nvar import_secure_store = require(\"./secure-store\");\nvar import_auth = require(\"./auth\");\nvar import_speech = require(\"./speech\");\n//# sourceMappingURL=extras.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,iBAAiB,CAAC;AACtB,SAAS,gBAAgB;CACvB,YAAY,YAAY;CACxB,iBAAiB,iBAAiB;CAClC,eAAe,eAAe;CAC9B,kBAAkB,kBAAkB;CACpC,eAAe,eAAe;CAC9B,iBAAiB,iBAAiB;CAClC,aAAa,aAAa;CAC1B,aAAa,aAAa;CAC1B,mBAAmB,oBAAoB;CACvC,oBAAoB,oBAAoB;CACxC,kBAAkB,YAAY;CAC9B,eAAe,eAAe;CAC9B,iBAAiB,iBAAiB;CAClC,mBAAmB,oBAAoB;CACvC,cAAc,cAAc;CAC5B,uBAAuB,wBAAwB;CAC/C,iBAAiB,kBAAkB;CACnC,mBAAmB,eAAe;CAClC,mBAAmB,eAAe;CAClC,eAAe,eAAe;CAC9B,2CAA2C,YAAY;CACvD,6BAA6B,YAAY;CACzC,4BAA4B,YAAY;CACxC,sBAAsB,aAAa;CACnC,4BAA4B,aAAa;CACzC,uBAAuB,eAAe;CACtC,uBAAuB,eAAe;CACtC,oBAAoB,oBAAoB;CACxC,gBAAgB,aAAa;CAC7B,kBAAkB,oBAAoB;CACtC,uBAAuB,eAAe;CACtC,uBAAuB,eAAe;CACtC,qBAAqB,eAAe;AACtC,CAAC;AACD,OAAO,UAAU,aAAa,cAAc;AAC5C,IAAI,eAAe,QAAQ,yBAAS;AACpC,IAAI,eAAe,QAAQ,yBAAS;AACpC,IAAI,cAAc,QAAQ,wBAAQ;AAClC,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,cAAc,QAAQ,wBAAc;AACxC,IAAI,oBAAoB,QAAQ,8BAAc;AAC9C,IAAI,mBAAmB,QAAQ,6BAAa;AAC5C,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,eAAe,QAAQ,yBAAe;AAC1C,IAAI,mBAAmB,QAAQ,6BAAa;AAC5C,IAAI,mBAAmB,QAAQ,6BAAa;AAC5C,IAAI,sBAAsB,QAAQ,gCAAgB;AAClD,IAAI,oBAAoB,QAAQ,8BAAc;AAC9C,IAAI,0BAA0B,QAAQ,oCAAoB;AAC1D,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,sBAAsB,QAAQ,gCAAgB;AAClD,IAAI,sBAAsB,QAAQ,gCAAgB;AAClD,IAAI,cAAc,QAAQ,wBAAQ;AAClC,IAAI,gBAAgB,QAAQ,0BAAU"}
1
+ {"version":3,"file":"extras.native.js","names":[],"sources":["cjs/platform/extras.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar extras_exports = {};\n__export(extras_exports, {\n AESEncryptionKey: () => import_crypto.AESEncryptionKey,\n AESSealedData: () => import_crypto.AESSealedData,\n Auth: () => import_auth.Auth,\n Barometer: () => import_barometer.Barometer,\n Battery: () => import_battery.Battery,\n Brightness: () => import_brightness.Brightness,\n Browser: () => import_browser.Browser,\n Clipboard: () => import_clipboard.Clipboard,\n Color: () => import_color.Color,\n Crypto: () => import_crypto.Crypto,\n Fonts: () => import_fonts.Fonts,\n LightSensor: () => import_light_sensor.LightSensor,\n Localization: () => import_localization.Localization,\n MenuAction: () => import_menu.MenuAction,\n Network: () => import_network.Network,\n Pedometer: () => import_pedometer.Pedometer,\n SecureStore: () => import_secure_store.SecureStore,\n Speech: () => import_speech.Speech,\n SpeechSynthesis: () => import_speech_synthesis.SpeechSynthesis,\n SplitView: () => import_split_view.SplitView,\n ToolbarHost: () => import_toolbar.ToolbarHost,\n ToolbarItem: () => import_toolbar.ToolbarItem,\n Updates: () => import_updates.Updates,\n ZoomTransitionAlignmentRectDetector: () => import_zoom.ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler: () => import_zoom.ZoomTransitionEnabler,\n ZoomTransitionSource: () => import_zoom.ZoomTransitionSource,\n useAudioPlayer: () => import_hooks.useAudioPlayer,\n useAudioPlayerStatus: () => import_hooks.useAudioPlayerStatus,\n useBatteryLevel: () => import_battery.useBatteryLevel,\n useBatteryState: () => import_battery.useBatteryState,\n useCalendars: () => import_localization.useCalendars,\n useFonts: () => import_fonts.useFonts,\n useLocales: () => import_localization.useLocales,\n useLowPowerMode: () => import_battery.useLowPowerMode,\n useNetworkState: () => import_network.useNetworkState,\n usePowerState: () => import_battery.usePowerState\n});\nmodule.exports = __toCommonJS(extras_exports);\nvar import_color = require(\"./color\");\nvar import_fonts = require(\"./fonts\");\nvar import_zoom = require(\"./zoom\");\nvar import_toolbar = require(\"./toolbar\");\nvar import_menu = require(\"./menu/index\");\nvar import_split_view = require(\"./split-view\");\nvar import_clipboard = require(\"./clipboard\");\nvar import_battery = require(\"./battery\");\nvar import_hooks = require(\"./audio/hooks\");\nvar import_barometer = require(\"./barometer\");\nvar import_pedometer = require(\"./pedometer\");\nvar import_light_sensor = require(\"./light-sensor\");\nvar import_brightness = require(\"./brightness\");\nvar import_speech_synthesis = require(\"./speech-synthesis\");\nvar import_browser = require(\"./browser\");\nvar import_updates = require(\"./updates\");\nvar import_network = require(\"./network\");\nvar import_crypto = require(\"./crypto\");\nvar import_localization = require(\"./localization\");\nvar import_secure_store = require(\"./secure-store\");\nvar import_auth = require(\"./auth\");\nvar import_speech = require(\"./speech\");\n//# sourceMappingURL=extras.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,iBAAiB,CAAC;AACtB,SAAS,gBAAgB;CACvB,wBAAwB,cAAc;CACtC,qBAAqB,cAAc;CACnC,YAAY,YAAY;CACxB,iBAAiB,iBAAiB;CAClC,eAAe,eAAe;CAC9B,kBAAkB,kBAAkB;CACpC,eAAe,eAAe;CAC9B,iBAAiB,iBAAiB;CAClC,aAAa,aAAa;CAC1B,cAAc,cAAc;CAC5B,aAAa,aAAa;CAC1B,mBAAmB,oBAAoB;CACvC,oBAAoB,oBAAoB;CACxC,kBAAkB,YAAY;CAC9B,eAAe,eAAe;CAC9B,iBAAiB,iBAAiB;CAClC,mBAAmB,oBAAoB;CACvC,cAAc,cAAc;CAC5B,uBAAuB,wBAAwB;CAC/C,iBAAiB,kBAAkB;CACnC,mBAAmB,eAAe;CAClC,mBAAmB,eAAe;CAClC,eAAe,eAAe;CAC9B,2CAA2C,YAAY;CACvD,6BAA6B,YAAY;CACzC,4BAA4B,YAAY;CACxC,sBAAsB,aAAa;CACnC,4BAA4B,aAAa;CACzC,uBAAuB,eAAe;CACtC,uBAAuB,eAAe;CACtC,oBAAoB,oBAAoB;CACxC,gBAAgB,aAAa;CAC7B,kBAAkB,oBAAoB;CACtC,uBAAuB,eAAe;CACtC,uBAAuB,eAAe;CACtC,qBAAqB,eAAe;AACtC,CAAC;AACD,OAAO,UAAU,aAAa,cAAc;AAC5C,IAAI,eAAe,QAAQ,yBAAS;AACpC,IAAI,eAAe,QAAQ,yBAAS;AACpC,IAAI,cAAc,QAAQ,wBAAQ;AAClC,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,cAAc,QAAQ,wBAAc;AACxC,IAAI,oBAAoB,QAAQ,8BAAc;AAC9C,IAAI,mBAAmB,QAAQ,6BAAa;AAC5C,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,eAAe,QAAQ,yBAAe;AAC1C,IAAI,mBAAmB,QAAQ,6BAAa;AAC5C,IAAI,mBAAmB,QAAQ,6BAAa;AAC5C,IAAI,sBAAsB,QAAQ,gCAAgB;AAClD,IAAI,oBAAoB,QAAQ,8BAAc;AAC9C,IAAI,0BAA0B,QAAQ,oCAAoB;AAC1D,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,iBAAiB,QAAQ,2BAAW;AACxC,IAAI,gBAAgB,QAAQ,0BAAU;AACtC,IAAI,sBAAsB,QAAQ,gCAAgB;AAClD,IAAI,sBAAsB,QAAQ,gCAAgB;AAClD,IAAI,cAAc,QAAQ,wBAAQ;AAClC,IAAI,gBAAgB,QAAQ,0BAAU"}
package/dist/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createApp } from "./createApp.mjs";
2
2
  import { One } from "./one.mjs";
3
- import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
3
+ import { AESEncryptionKey, AESSealedData, getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
4
4
  import { useIsFocused } from "@react-navigation/core";
5
5
  import { useHeaderHeight } from "./useHeaderHeight.mjs";
6
6
  import { SafeAreaView, useSafeAreaFrame, useSafeAreaInsets } from "./safe-area-context/index.mjs";
@@ -55,4 +55,4 @@ import { getServerData, setResponseHeaders, setServerData } from "./vite/one-ser
55
55
 
56
56
  export * from "@vxrn/color-scheme"
57
57
 
58
- export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
58
+ export { AESEncryptionKey, AESSealedData, ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
@@ -1,6 +1,6 @@
1
1
  import { createApp } from "./createApp.mjs";
2
2
  import { One } from "./one.mjs";
3
- import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
3
+ import { AESEncryptionKey, AESSealedData, getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.mjs";
4
4
  import { useIsFocused } from "@react-navigation/core";
5
5
  import { useHeaderHeight } from "./useHeaderHeight.mjs";
6
6
  import { SafeAreaView, useSafeAreaFrame, useSafeAreaInsets } from "./safe-area-context/index.mjs";
@@ -55,4 +55,4 @@ import { getServerData, setResponseHeaders, setServerData } from "./vite/one-ser
55
55
 
56
56
  export * from "@vxrn/color-scheme"
57
57
 
58
- export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
58
+ export { AESEncryptionKey, AESSealedData, ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
@@ -1,6 +1,6 @@
1
1
  import { createApp } from "./createApp.native.js";
2
2
  import { One } from "./one.native.js";
3
- import { getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.native.js";
3
+ import { AESEncryptionKey, AESSealedData, getHinge, getSizeClass, onHingeChange, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useCalendars, useFonts, useHinge, useKeepAwake, useLocales, useLowPowerMode, useNativeState, useNetworkState, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useSizeClass, useSpanning, useWindowSegments } from "./platform/index.native.js";
4
4
  import { useIsFocused } from "@react-navigation/core";
5
5
  import { useHeaderHeight } from "./useHeaderHeight.native.js";
6
6
  import { SafeAreaView, useSafeAreaFrame, useSafeAreaInsets } from "./safe-area-context/index.native.js";
@@ -55,4 +55,4 @@ import { getServerData, setResponseHeaders, setServerData } from "./vite/one-ser
55
55
 
56
56
  export * from "@vxrn/color-scheme"
57
57
 
58
- export { ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, _routerStore as routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
58
+ export { AESEncryptionKey, AESSealedData, ErrorBoundary, Head, Link, LoadProgressBar, NamedSlot, Navigator, One, ParamValidationError, Presentations, Protected, Redirect, Root, RouteValidationError, SafeAreaView, ScrollBehavior, Slot, SourceInspector, Stack, Tabs, closeIntercept, createAPIRoute, createApp, createMiddleware, createRoute, getHinge, getLinking, getLoaderTimingHistory, getServerData, getSizeClass, getURL, handleSkewError, href, isChunkLoadError, isInterceptedNavigation, isResponse, lazyWithRetry, loadWithRetry, onClientLoaderResolve, onHingeChange, redirect, refetchLoader, registerPreloadedRoute, removeParams, render, route, router, _routerStore as routerStore, setClientMatches, setResponseHeaders, setServerData, useActiveParams, useAudioPlayer, useAudioPlayerStatus, useBatteryLevel, useBatteryState, useBlocker, useCalendars, useDrawer, useFocusEffect, useFonts, useGlobalSearchParams, useHeaderHeight, useHinge, useIsFocused, useKeepAwake, useLinkTo, useLoader, useLoaderState, useLocalSearchParams, useLocales, useLowPowerMode, useMatch, useMatches, useNativeState, useNavigation, useNavigationContainerRef, useNetworkState, usePageMatch, useParams, usePathname, usePowerState, usePreventScreenCapture, useReservedRegions, useReservedRegionsReady, useRootNavigationState, useRouter, useSafeAreaFrame, useSafeAreaInsets, useScrollGroup, useSearchParams, useSegments, useServerHeadInsertion, useSitemap, useSizeClass, useSpanning, useStack, useTabs, useUnstableGlobalHref, useValidationState, useWindowSegments, validateParams, watchFile, withLayoutContext, zodParamValidator };
package/dist/esm/one.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Localization, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.mjs";
1
+ import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, Crypto, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Localization, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.mjs";
2
2
  import { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from "./safe-area-context/index.mjs";
3
3
 
4
4
  function currentPlatform() {
@@ -74,6 +74,7 @@ const One = Object.freeze({
74
74
  Purchases,
75
75
  ImageManipulator,
76
76
  Device,
77
+ Crypto,
77
78
  Localization,
78
79
  Motion,
79
80
  BackgroundTasks,
@@ -1 +1 @@
1
- {"version":3,"file":"one.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.js"],"sourcesContent":["import {\n Auth,\n Browser as NativeBrowser,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n CameraView,\n Share,\n Open,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n WidgetUI,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n Clipboard as NativeClipboard,\n Barometer as NativeBarometer,\n LightSensor as NativeLightSensor,\n Pedometer as NativePedometer,\n Battery as NativeBattery,\n Brightness as NativeBrightness,\n SpeechSynthesis as NativeSpeechSynthesis,\n AppInfo,\n Color,\n Database,\n Compose,\n Fonts,\n DocumentPicker,\n Haptics,\n ImagePicker,\n LaunchScreen,\n MenuAction,\n Menu as NativeMenu,\n ContextMenu as NativeContextMenu,\n Notifications,\n Network as NativeNetwork,\n SecureStore as NativeSecureStore,\n Storage,\n Speech as NativeSpeech,\n Updates as NativeUpdates,\n SplitView,\n Swift,\n TextInput,\n ToolbarHost,\n ToolbarItem,\n UI as NativeUI,\n ReservedRegions,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n} from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n const defined = Reflect.get(globalThis, \"__ONE_PLATFORM__\") ?? (typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0);\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nconst iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nconst Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nconst SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nconst UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nconst One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AA8EA,SAAS,kBAAkB;CACzB,MAAM,UAAU,QAAQ,IAAI,YAAY,kBAAkB,MAAM,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjI,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,MAAM,MAAM,OAAO,OAAO;CACxB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,MAAM,UAAU,OAAO,OAAO;CAC5B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,MAAM,WAAW,OAAO,OAAO;CAC7B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,MAAMC,OAAK,OAAO,OAAO;CACvB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,MAAM,OAAO,OAAO;CACxB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
1
+ {"version":3,"file":"one.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeCrypto","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.js"],"sourcesContent":["import {\n Auth,\n Browser as NativeBrowser,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n CameraView,\n Share,\n Open,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Crypto as NativeCrypto,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n WidgetUI,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n Clipboard as NativeClipboard,\n Barometer as NativeBarometer,\n LightSensor as NativeLightSensor,\n Pedometer as NativePedometer,\n Battery as NativeBattery,\n Brightness as NativeBrightness,\n SpeechSynthesis as NativeSpeechSynthesis,\n AppInfo,\n Color,\n Database,\n Compose,\n Fonts,\n DocumentPicker,\n Haptics,\n ImagePicker,\n LaunchScreen,\n MenuAction,\n Menu as NativeMenu,\n ContextMenu as NativeContextMenu,\n Notifications,\n Network as NativeNetwork,\n SecureStore as NativeSecureStore,\n Storage,\n Speech as NativeSpeech,\n Updates as NativeUpdates,\n SplitView,\n Swift,\n TextInput,\n ToolbarHost,\n ToolbarItem,\n UI as NativeUI,\n ReservedRegions,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n} from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n const defined = Reflect.get(globalThis, \"__ONE_PLATFORM__\") ?? (typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0);\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nconst iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nconst Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nconst SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nconst UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nconst One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Crypto: NativeCrypto,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AA+EA,SAAS,kBAAkB;CACzB,MAAM,UAAU,QAAQ,IAAI,YAAY,kBAAkB,MAAM,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjI,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,MAAM,MAAM,OAAO,OAAO;CACxB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,MAAM,UAAU,OAAO,OAAO;CAC5B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,MAAM,WAAW,OAAO,OAAO;CAC7B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,MAAMC,OAAK,OAAO,OAAO;CACvB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,MAAM,OAAO,OAAO;CACxB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACQC;CACR;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Localization, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.native.js";
1
+ import { AppIcon, AppInfo, AppIntents, AppTracking, Audio, Auth, BackgroundTasks, Barometer, Battery, Brightness, Browser, CNContactStore, CNContactViewController, CNMutableContact, Calendar, CameraView, Clipboard, Color, Compose, Contacts, ContextMenu, Crypto, DataScannerViewController, Database, Device, DeviceAttestation, DocumentPicker, FileSystem, Fonts, Haptics, ImageManipulator, ImagePicker, KeepAwake, LaunchScreen, LightSensor, LiveActivities, LocalAuthentication, Localization, Location, MFMailComposeViewController, MFMessageComposeViewController, MapServices, Menu, MenuAction, Motion, Network, Notifications, Open, Pedometer, PhotoLibrary, Print, ProtectedStore, Purchases, QuickActions, ReservedRegions, ScreenCapture, ScreenOrientation, SecureStore, Share, Speech, SpeechSynthesis, SplitView, Storage, StoreReview, Swift, TextInput, ToolbarHost, ToolbarItem, UI, Updates, VNDocumentCameraViewController, WidgetUI, Widgets, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from "./platform/index.native.js";
2
2
  import { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from "./safe-area-context/index.native.js";
3
3
 
4
4
  function currentPlatform() {
@@ -75,6 +75,7 @@ var One = Object.freeze({
75
75
  Purchases,
76
76
  ImageManipulator,
77
77
  Device,
78
+ Crypto,
78
79
  Localization,
79
80
  Motion,
80
81
  BackgroundTasks,
@@ -1 +1 @@
1
- {"version":3,"file":"one.native.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.native.js"],"sourcesContent":["import { Auth, Browser as NativeBrowser, Widgets, LiveActivities, LocalAuthentication, ProtectedStore, KeepAwake, Print, StoreReview, QuickActions, Location, FileSystem, Audio, CameraView, Share, Open, PhotoLibrary, MapServices, AppTracking, AppIcon, ScreenOrientation, ScreenCapture, Purchases, ImageManipulator, Device, Localization, Motion, BackgroundTasks, AppIntents, DeviceAttestation, Contacts, Calendar, WidgetUI, VNDocumentCameraViewController, DataScannerViewController, CNContactViewController, CNMutableContact, CNContactStore, MFMailComposeViewController, MFMessageComposeViewController, Clipboard as NativeClipboard, Barometer as NativeBarometer, LightSensor as NativeLightSensor, Pedometer as NativePedometer, Battery as NativeBattery, Brightness as NativeBrightness, SpeechSynthesis as NativeSpeechSynthesis, AppInfo, Color, Database, Compose, Fonts, DocumentPicker, Haptics, ImagePicker, LaunchScreen, MenuAction, Menu as NativeMenu, ContextMenu as NativeContextMenu, Notifications, Network as NativeNetwork, SecureStore as NativeSecureStore, Storage, Speech as NativeSpeech, Updates as NativeUpdates, SplitView, Swift, TextInput, ToolbarHost, ToolbarItem, UI as NativeUI, ReservedRegions, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n var _Reflect_get;\n var defined = (_Reflect_get = Reflect.get(globalThis, \"__ONE_PLATFORM__\")) !== null && _Reflect_get !== void 0 ? _Reflect_get : typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0;\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nvar iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nvar Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nvar SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nvar UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nvar One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AAEA,SAAS,kBAAkB;CACzB,IAAI;CACJ,IAAI,WAAW,eAAe,QAAQ,IAAI,YAAY,kBAAkB,OAAO,QAAQ,iBAAiB,KAAK,IAAI,eAAe,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjM,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,IAAI,MAAM,OAAO,OAAO;CACtB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,IAAI,UAAU,OAAO,OAAO;CAC1B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,IAAI,WAAW,OAAO,OAAO;CAC3B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,IAAIC,OAAK,OAAO,OAAO;CACrB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,MAAM,OAAO,OAAO;CACtB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
1
+ {"version":3,"file":"one.native.js","names":["NativeMenu","NativeContextMenu","UI","NativeUI","NativeCrypto","NativeClipboard","NativeBarometer","NativeLightSensor","NativePedometer","NativeBattery","NativeBrightness","NativeSpeechSynthesis","NativeNetwork","NativeBrowser","NativeSecureStore","NativeSpeech","NativeUpdates"],"sources":["esm/one.native.js"],"sourcesContent":["import { Auth, Browser as NativeBrowser, Widgets, LiveActivities, LocalAuthentication, ProtectedStore, KeepAwake, Print, StoreReview, QuickActions, Location, FileSystem, Audio, CameraView, Share, Open, PhotoLibrary, MapServices, AppTracking, AppIcon, ScreenOrientation, ScreenCapture, Purchases, ImageManipulator, Device, Crypto as NativeCrypto, Localization, Motion, BackgroundTasks, AppIntents, DeviceAttestation, Contacts, Calendar, WidgetUI, VNDocumentCameraViewController, DataScannerViewController, CNContactViewController, CNMutableContact, CNContactStore, MFMailComposeViewController, MFMessageComposeViewController, Clipboard as NativeClipboard, Barometer as NativeBarometer, LightSensor as NativeLightSensor, Pedometer as NativePedometer, Battery as NativeBattery, Brightness as NativeBrightness, SpeechSynthesis as NativeSpeechSynthesis, AppInfo, Color, Database, Compose, Fonts, DocumentPicker, Haptics, ImagePicker, LaunchScreen, MenuAction, Menu as NativeMenu, ContextMenu as NativeContextMenu, Notifications, Network as NativeNetwork, SecureStore as NativeSecureStore, Storage, Speech as NativeSpeech, Updates as NativeUpdates, SplitView, Swift, TextInput, ToolbarHost, ToolbarItem, UI as NativeUI, ReservedRegions, ZoomTransitionAlignmentRectDetector, ZoomTransitionEnabler, ZoomTransitionSource } from \"./platform\";\nimport { SafeAreaProvider, SafeAreaView, initialWindowMetrics } from \"./safe-area-context\";\nfunction currentPlatform() {\n var _Reflect_get;\n var defined = (_Reflect_get = Reflect.get(globalThis, \"__ONE_PLATFORM__\")) !== null && _Reflect_get !== void 0 ? _Reflect_get : typeof process !== \"undefined\" ? process.env.ONE_PLATFORM : void 0;\n return defined === \"ios\" || defined === \"android\" ? defined : \"web\";\n}\nvar iOS = Object.freeze({\n ...Swift,\n VNDocumentCameraViewController,\n DataScannerViewController,\n CNContactViewController,\n CNMutableContact,\n CNContactStore,\n MFMailComposeViewController,\n MFMessageComposeViewController,\n WidgetUI,\n CameraView,\n Color: Color.ios,\n MenuAction,\n SplitView,\n ToolbarHost,\n BarButtonItem: ToolbarItem,\n ZoomTransitionAlignmentRectDetector,\n ZoomTransitionEnabler,\n ZoomTransitionSource\n});\nvar Android = Object.freeze({\n ...Compose,\n Color: Color.android,\n Menu: NativeMenu,\n ContextMenu: NativeContextMenu,\n CameraView\n});\nvar SafeArea = Object.freeze({\n Provider: SafeAreaProvider,\n View: SafeAreaView,\n initialMetrics: initialWindowMetrics\n});\nvar UI = Object.freeze({\n ...NativeUI,\n Fonts,\n SafeArea,\n TextInput,\n ReservedRegions\n});\nvar One = Object.freeze({\n get platform() {\n return currentPlatform();\n },\n openURL: Open.openURL,\n openShare: Open.openShare,\n openSettings: Open.openSettings,\n AppInfo,\n Database,\n Widgets,\n LiveActivities,\n LocalAuthentication,\n ProtectedStore,\n KeepAwake,\n Print,\n StoreReview,\n QuickActions,\n Location,\n FileSystem,\n Audio,\n Share,\n PhotoLibrary,\n MapServices,\n AppTracking,\n AppIcon,\n ScreenOrientation,\n ScreenCapture,\n Purchases,\n ImageManipulator,\n Device,\n Crypto: NativeCrypto,\n Localization,\n Motion,\n BackgroundTasks,\n AppIntents,\n DeviceAttestation,\n Contacts,\n Calendar,\n iOS,\n Android,\n UI,\n Notifications,\n Clipboard: NativeClipboard,\n Barometer: NativeBarometer,\n LightSensor: NativeLightSensor,\n Pedometer: NativePedometer,\n Battery: NativeBattery,\n Brightness: NativeBrightness,\n SpeechSynthesis: NativeSpeechSynthesis,\n Haptics,\n LaunchScreen,\n Network: NativeNetwork,\n Auth,\n Browser: NativeBrowser,\n ImagePicker,\n DocumentPicker,\n SecureStore: NativeSecureStore,\n Storage,\n Speech: NativeSpeech,\n Updates: NativeUpdates\n});\nexport {\n One\n};\n//# sourceMappingURL=one.js.map\n"],"mappings":";;;;AAEA,SAAS,kBAAkB;CACzB,IAAI;CACJ,IAAI,WAAW,eAAe,QAAQ,IAAI,YAAY,kBAAkB,OAAO,QAAQ,iBAAiB,KAAK,IAAI,eAAe,OAAO,YAAY,cAAc,QAAQ,IAAI,eAAe,KAAK;CACjM,OAAO,YAAY,SAAS,YAAY,YAAY,UAAU;AAChE;AACA,IAAI,MAAM,OAAO,OAAO;CACtB,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,OAAO,MAAM;CACb;CACA;CACA;CACA,eAAe;CACf;CACA;CACA;AACF,CAAC;AACD,IAAI,UAAU,OAAO,OAAO;CAC1B,GAAG;CACH,OAAO,MAAM;CACPA;CACOC;CACb;AACF,CAAC;AACD,IAAI,WAAW,OAAO,OAAO;CAC3B,UAAU;CACV,MAAM;CACN,gBAAgB;AAClB,CAAC;AACD,IAAIC,OAAK,OAAO,OAAO;CACrB,GAAGC;CACH;CACA;CACA;CACA;AACF,CAAC;AACD,IAAI,MAAM,OAAO,OAAO;CACtB,IAAI,WAAW;EACb,OAAO,gBAAgB;CACzB;CACA,SAAS,KAAK;CACd,WAAW,KAAK;CAChB,cAAc,KAAK;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACQC;CACR;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACWC;CACAC;CACEC;CACFC;CACFC;CACGC;CACKC;CACjB;CACA;CACSC;CACT;CACSC;CACT;CACA;CACaC;CACb;CACQC;CACCC;AACX,CAAC"}
@@ -0,0 +1,236 @@
1
+ import { base64ToBytes, bytesToBase64, bytesToHex, concatBytes, exactBytes, hexToBytes } from "./bytes.mjs";
2
+
3
+ const KEY_SIZES = [
4
+ 128,
5
+ 192,
6
+ 256
7
+ ];
8
+ const TAG_LENGTHS = [
9
+ 16,
10
+ 15,
11
+ 14,
12
+ 13,
13
+ 12,
14
+ 8,
15
+ 4
16
+ ];
17
+ const DEFAULT_IV_LENGTH = 12;
18
+ const DEFAULT_TAG_LENGTH = 16;
19
+ function assertTagLength(tagLength, verb) {
20
+ if (!TAG_LENGTHS.includes(tagLength)) {
21
+ throw new Error(`${verb}: tagLength must be one of: ${TAG_LENGTHS.join(", ")}`);
22
+ }
23
+ }
24
+ function toBytes(input, verb) {
25
+ if (typeof input === "string") return base64ToBytes(input, verb);
26
+ if (input instanceof ArrayBuffer) return new Uint8Array(input.slice(0));
27
+ if (ArrayBuffer.isView(input) && input.buffer instanceof ArrayBuffer) {
28
+ return exactBytes(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));
29
+ }
30
+ throw new TypeError(`${verb}: expected a base64 string, Uint8Array, or ArrayBuffer`);
31
+ }
32
+ const sealedParts = /* @__PURE__ */ new WeakMap();
33
+ const keyBytes = /* @__PURE__ */ new WeakMap();
34
+ function encodeParts(bytes, encoding) {
35
+ return encoding === "base64" ? bytesToBase64(bytes) : exactBytes(bytes);
36
+ }
37
+ function createAesApi(engine) {
38
+ class AESEncryptionKey {
39
+ size;
40
+ constructor(bytes) {
41
+ if (!KEY_SIZES.includes(bytes.length * 8)) {
42
+ throw new Error(`Crypto.AESEncryptionKey: key must be 128, 192, or 256 bits, got ${bytes.length * 8}`);
43
+ }
44
+ this.size = bytes.length * 8;
45
+ keyBytes.set(this, exactBytes(bytes));
46
+ }
47
+ static async generate(size = 256) {
48
+ if (!KEY_SIZES.includes(size)) {
49
+ throw new Error(`Crypto.AESEncryptionKey.generate: size must be one of: ${KEY_SIZES.join(", ")}`);
50
+ }
51
+ const bytes = new Uint8Array(size / 8);
52
+ engine.random(bytes);
53
+ return new AESEncryptionKey(bytes);
54
+ }
55
+ static async import(input, encoding) {
56
+ const verb = "Crypto.AESEncryptionKey.import";
57
+ let bytes;
58
+ if (typeof input === "string") {
59
+ if (encoding === "hex") bytes = hexToBytes(input, verb);
60
+ else if (encoding === "base64") bytes = base64ToBytes(input, verb);
61
+ else throw new Error(`${verb}: encoding must be 'hex' or 'base64'`);
62
+ } else if (input instanceof Uint8Array) {
63
+ bytes = exactBytes(input);
64
+ } else {
65
+ throw new TypeError(`${verb}: expected bytes or an encoded string`);
66
+ }
67
+ if (!KEY_SIZES.includes(bytes.length * 8)) {
68
+ throw new Error(`${verb}: key must be 128, 192, or 256 bits, got ${bytes.length * 8}`);
69
+ }
70
+ return new AESEncryptionKey(bytes);
71
+ }
72
+ async bytes() {
73
+ return exactBytes(keyBytes.get(this));
74
+ }
75
+ async encoded(encoding) {
76
+ const bytes = keyBytes.get(this);
77
+ if (encoding === "hex") return bytesToHex(bytes);
78
+ if (encoding === "base64") return bytesToBase64(bytes);
79
+ throw new Error(`Crypto.AESEncryptionKey.encoded: encoding must be 'hex' or 'base64'`);
80
+ }
81
+ }
82
+ class AESSealedData {
83
+ constructor(parts) {
84
+ if (parts.iv.length === 0) throw new Error("Crypto.AESSealedData: iv must not be empty");
85
+ assertTagLength(parts.tag.length, "Crypto.AESSealedData");
86
+ sealedParts.set(this, parts);
87
+ }
88
+ static fromCombined(combined, config = {}) {
89
+ const verb = "Crypto.AESSealedData.fromCombined";
90
+ const ivLength = config.ivLength ?? DEFAULT_IV_LENGTH;
91
+ const tagLength = config.tagLength ?? DEFAULT_TAG_LENGTH;
92
+ assertTagLength(tagLength, verb);
93
+ if (!Number.isInteger(ivLength) || ivLength <= 0) {
94
+ throw new Error(`${verb}: ivLength must be a positive integer`);
95
+ }
96
+ const bytes = toBytes(combined, verb);
97
+ if (bytes.length < ivLength + tagLength) {
98
+ throw new Error(`${verb}: combined data is shorter than its iv and tag`);
99
+ }
100
+ return new AESSealedData({
101
+ iv: exactBytes(bytes.subarray(0, ivLength)),
102
+ ciphertext: exactBytes(bytes.subarray(ivLength, bytes.length - tagLength)),
103
+ tag: exactBytes(bytes.subarray(bytes.length - tagLength))
104
+ });
105
+ }
106
+ static fromParts(ivInput, ciphertextInput, tagOrLength) {
107
+ const verb = "Crypto.AESSealedData.fromParts";
108
+ const iv = toBytes(ivInput, verb);
109
+ const ciphertext = toBytes(ciphertextInput, verb);
110
+ if (tagOrLength === void 0 || typeof tagOrLength === "number") {
111
+ const tagLength = tagOrLength ?? DEFAULT_TAG_LENGTH;
112
+ assertTagLength(tagLength, verb);
113
+ if (ciphertext.length < tagLength) {
114
+ throw new Error(`${verb}: ciphertext is shorter than its tag`);
115
+ }
116
+ return new AESSealedData({
117
+ iv,
118
+ ciphertext: exactBytes(ciphertext.subarray(0, ciphertext.length - tagLength)),
119
+ tag: exactBytes(ciphertext.subarray(ciphertext.length - tagLength))
120
+ });
121
+ }
122
+ const tag = toBytes(tagOrLength, verb);
123
+ assertTagLength(tag.length, verb);
124
+ return new AESSealedData({
125
+ iv,
126
+ ciphertext,
127
+ tag
128
+ });
129
+ }
130
+ static fromSeal(iv, ciphertextWithTag, tagLength) {
131
+ return new AESSealedData({
132
+ iv,
133
+ ciphertext: exactBytes(ciphertextWithTag.subarray(0, ciphertextWithTag.length - tagLength)),
134
+ tag: exactBytes(ciphertextWithTag.subarray(ciphertextWithTag.length - tagLength))
135
+ });
136
+ }
137
+ get ivSize() {
138
+ return sealedParts.get(this).iv.length;
139
+ }
140
+ get tagSize() {
141
+ return sealedParts.get(this).tag.length;
142
+ }
143
+ get combinedSize() {
144
+ const parts = sealedParts.get(this);
145
+ return parts.iv.length + parts.ciphertext.length + parts.tag.length;
146
+ }
147
+ async iv(encoding) {
148
+ return encodeParts(sealedParts.get(this).iv, encoding);
149
+ }
150
+ async tag(encoding) {
151
+ return encodeParts(sealedParts.get(this).tag, encoding);
152
+ }
153
+ async ciphertext(options) {
154
+ const parts = sealedParts.get(this);
155
+ const bytes = options?.includeTag ? concatBytes([parts.ciphertext, parts.tag]) : parts.ciphertext;
156
+ return encodeParts(bytes, options?.encoding);
157
+ }
158
+ async combined(encoding) {
159
+ const parts = sealedParts.get(this);
160
+ return encodeParts(concatBytes([
161
+ parts.iv,
162
+ parts.ciphertext,
163
+ parts.tag
164
+ ]), encoding);
165
+ }
166
+ }
167
+ async function keyMaterial(key, verb) {
168
+ const own = keyBytes.get(key);
169
+ if (own) return exactBytes(own);
170
+ if (key && typeof key.bytes === "function") return exactBytes(await key.bytes());
171
+ throw new TypeError(`${verb}: expected an AESEncryptionKey`);
172
+ }
173
+ async function partsOf(sealed, verb) {
174
+ const own = sealedParts.get(sealed);
175
+ if (own) {
176
+ return {
177
+ iv: exactBytes(own.iv),
178
+ ciphertext: exactBytes(own.ciphertext),
179
+ tag: exactBytes(own.tag)
180
+ };
181
+ }
182
+ if (sealed && typeof sealed.iv === "function" && typeof sealed.combined === "function") {
183
+ const iv = exactBytes(await sealed.iv());
184
+ const tag = exactBytes(await sealed.tag());
185
+ const ciphertext = exactBytes(await sealed.ciphertext({
186
+ encoding: "bytes",
187
+ includeTag: false
188
+ }));
189
+ return {
190
+ iv,
191
+ ciphertext,
192
+ tag
193
+ };
194
+ }
195
+ throw new TypeError(`${verb}: expected an AESSealedData`);
196
+ }
197
+ async function aesEncrypt(plaintext, key, options = {}) {
198
+ const verb = "Crypto.aesEncrypt";
199
+ const tagLength = options.tagLength ?? DEFAULT_TAG_LENGTH;
200
+ assertTagLength(tagLength, verb);
201
+ let iv;
202
+ const nonce = options.nonce;
203
+ if (nonce && "bytes" in nonce && nonce.bytes !== void 0) {
204
+ iv = toBytes(nonce.bytes, verb);
205
+ if (iv.length === 0) throw new Error(`${verb}: nonce bytes must not be empty`);
206
+ } else {
207
+ const length = nonce && "length" in nonce && nonce.length !== void 0 ? nonce.length : DEFAULT_IV_LENGTH;
208
+ if (!Number.isInteger(length) || length <= 0) {
209
+ throw new Error(`${verb}: nonce length must be a positive integer`);
210
+ }
211
+ iv = new Uint8Array(length);
212
+ engine.random(iv);
213
+ }
214
+ const additionalData = options.additionalData === void 0 ? void 0 : toBytes(options.additionalData, verb);
215
+ const plainBytes = toBytes(plaintext, verb);
216
+ const sealed = await engine.seal(await keyMaterial(key, verb), iv, plainBytes, additionalData, tagLength);
217
+ const actualTag = sealed.length - plainBytes.length;
218
+ return AESSealedData.fromSeal(iv, sealed, actualTag > 0 ? actualTag : tagLength);
219
+ }
220
+ async function aesDecrypt(sealedData, key, options = {}) {
221
+ const verb = "Crypto.aesDecrypt";
222
+ const parts = await partsOf(sealedData, verb);
223
+ const additionalData = options.additionalData === void 0 ? void 0 : toBytes(options.additionalData, verb);
224
+ const plaintext = await engine.open(await keyMaterial(key, verb), parts.iv, concatBytes([parts.ciphertext, parts.tag]), additionalData, parts.tag.length);
225
+ return options.output === "base64" ? bytesToBase64(plaintext) : plaintext;
226
+ }
227
+ return {
228
+ AESEncryptionKey,
229
+ AESSealedData,
230
+ aesEncrypt,
231
+ aesDecrypt
232
+ };
233
+ }
234
+
235
+ export { assertTagLength, createAesApi, toBytes };
236
+ //# sourceMappingURL=aes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aes.js","names":[],"sources":["esm/platform/crypto/aes.js"],"sourcesContent":["import { base64ToBytes, bytesToBase64, bytesToHex, concatBytes, exactBytes, hexToBytes } from \"./bytes\";\nconst KEY_SIZES = [128, 192, 256];\nconst TAG_LENGTHS = [16, 15, 14, 13, 12, 8, 4];\nconst DEFAULT_IV_LENGTH = 12;\nconst DEFAULT_TAG_LENGTH = 16;\nfunction assertTagLength(tagLength, verb) {\n if (!TAG_LENGTHS.includes(tagLength)) {\n throw new Error(`${verb}: tagLength must be one of: ${TAG_LENGTHS.join(\", \")}`);\n }\n}\nfunction toBytes(input, verb) {\n if (typeof input === \"string\") return base64ToBytes(input, verb);\n if (input instanceof ArrayBuffer) return new Uint8Array(input.slice(0));\n if (ArrayBuffer.isView(input) && input.buffer instanceof ArrayBuffer) {\n return exactBytes(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));\n }\n throw new TypeError(`${verb}: expected a base64 string, Uint8Array, or ArrayBuffer`);\n}\nconst sealedParts = /* @__PURE__ */ new WeakMap();\nconst keyBytes = /* @__PURE__ */ new WeakMap();\nfunction encodeParts(bytes, encoding) {\n return encoding === \"base64\" ? bytesToBase64(bytes) : exactBytes(bytes);\n}\nfunction createAesApi(engine) {\n class AESEncryptionKey {\n size;\n // construct through generate or import; direct construction still\n // validates, so a key object can never hold a non-AES length.\n constructor(bytes) {\n if (!KEY_SIZES.includes(bytes.length * 8)) {\n throw new Error(\n `Crypto.AESEncryptionKey: key must be 128, 192, or 256 bits, got ${bytes.length * 8}`\n );\n }\n this.size = bytes.length * 8;\n keyBytes.set(this, exactBytes(bytes));\n }\n static async generate(size = 256) {\n if (!KEY_SIZES.includes(size)) {\n throw new Error(`Crypto.AESEncryptionKey.generate: size must be one of: ${KEY_SIZES.join(\", \")}`);\n }\n const bytes = new Uint8Array(size / 8);\n engine.random(bytes);\n return new AESEncryptionKey(bytes);\n }\n static async import(input, encoding) {\n const verb = \"Crypto.AESEncryptionKey.import\";\n let bytes;\n if (typeof input === \"string\") {\n if (encoding === \"hex\") bytes = hexToBytes(input, verb);\n else if (encoding === \"base64\") bytes = base64ToBytes(input, verb);\n else throw new Error(`${verb}: encoding must be 'hex' or 'base64'`);\n } else if (input instanceof Uint8Array) {\n bytes = exactBytes(input);\n } else {\n throw new TypeError(`${verb}: expected bytes or an encoded string`);\n }\n if (!KEY_SIZES.includes(bytes.length * 8)) {\n throw new Error(`${verb}: key must be 128, 192, or 256 bits, got ${bytes.length * 8}`);\n }\n return new AESEncryptionKey(bytes);\n }\n async bytes() {\n return exactBytes(keyBytes.get(this));\n }\n async encoded(encoding) {\n const bytes = keyBytes.get(this);\n if (encoding === \"hex\") return bytesToHex(bytes);\n if (encoding === \"base64\") return bytesToBase64(bytes);\n throw new Error(`Crypto.AESEncryptionKey.encoded: encoding must be 'hex' or 'base64'`);\n }\n }\n class AESSealedData {\n // construct through fromCombined or fromParts. direct construction still\n // validates, so sealed data can never carry an empty iv or a tag gcm\n // does not allow.\n constructor(parts) {\n if (parts.iv.length === 0) throw new Error(\"Crypto.AESSealedData: iv must not be empty\");\n assertTagLength(parts.tag.length, \"Crypto.AESSealedData\");\n sealedParts.set(this, parts);\n }\n static fromCombined(combined, config = {}) {\n const verb = \"Crypto.AESSealedData.fromCombined\";\n const ivLength = config.ivLength ?? DEFAULT_IV_LENGTH;\n const tagLength = config.tagLength ?? DEFAULT_TAG_LENGTH;\n assertTagLength(tagLength, verb);\n if (!Number.isInteger(ivLength) || ivLength <= 0) {\n throw new Error(`${verb}: ivLength must be a positive integer`);\n }\n const bytes = toBytes(combined, verb);\n if (bytes.length < ivLength + tagLength) {\n throw new Error(`${verb}: combined data is shorter than its iv and tag`);\n }\n return new AESSealedData({\n iv: exactBytes(bytes.subarray(0, ivLength)),\n ciphertext: exactBytes(bytes.subarray(ivLength, bytes.length - tagLength)),\n tag: exactBytes(bytes.subarray(bytes.length - tagLength))\n });\n }\n static fromParts(ivInput, ciphertextInput, tagOrLength) {\n const verb = \"Crypto.AESSealedData.fromParts\";\n const iv = toBytes(ivInput, verb);\n const ciphertext = toBytes(ciphertextInput, verb);\n if (tagOrLength === void 0 || typeof tagOrLength === \"number\") {\n const tagLength = tagOrLength ?? DEFAULT_TAG_LENGTH;\n assertTagLength(tagLength, verb);\n if (ciphertext.length < tagLength) {\n throw new Error(`${verb}: ciphertext is shorter than its tag`);\n }\n return new AESSealedData({\n iv,\n ciphertext: exactBytes(ciphertext.subarray(0, ciphertext.length - tagLength)),\n tag: exactBytes(ciphertext.subarray(ciphertext.length - tagLength))\n });\n }\n const tag = toBytes(tagOrLength, verb);\n assertTagLength(tag.length, verb);\n return new AESSealedData({ iv, ciphertext, tag });\n }\n // internal: aesEncrypt builds sealed data from engine output without\n // going through the public parsers (which would just re-split it).\n static fromSeal(iv, ciphertextWithTag, tagLength) {\n return new AESSealedData({\n iv,\n ciphertext: exactBytes(ciphertextWithTag.subarray(0, ciphertextWithTag.length - tagLength)),\n tag: exactBytes(ciphertextWithTag.subarray(ciphertextWithTag.length - tagLength))\n });\n }\n get ivSize() {\n return sealedParts.get(this).iv.length;\n }\n get tagSize() {\n return sealedParts.get(this).tag.length;\n }\n get combinedSize() {\n const parts = sealedParts.get(this);\n return parts.iv.length + parts.ciphertext.length + parts.tag.length;\n }\n async iv(encoding) {\n return encodeParts(sealedParts.get(this).iv, encoding);\n }\n async tag(encoding) {\n return encodeParts(sealedParts.get(this).tag, encoding);\n }\n async ciphertext(options) {\n const parts = sealedParts.get(this);\n const bytes = options?.includeTag ? concatBytes([parts.ciphertext, parts.tag]) : parts.ciphertext;\n return encodeParts(bytes, options?.encoding);\n }\n async combined(encoding) {\n const parts = sealedParts.get(this);\n return encodeParts(concatBytes([parts.iv, parts.ciphertext, parts.tag]), encoding);\n }\n }\n async function keyMaterial(key, verb) {\n const own = keyBytes.get(key);\n if (own) return exactBytes(own);\n if (key && typeof key.bytes === \"function\") return exactBytes(await key.bytes());\n throw new TypeError(`${verb}: expected an AESEncryptionKey`);\n }\n async function partsOf(sealed, verb) {\n const own = sealedParts.get(sealed);\n if (own) {\n return {\n iv: exactBytes(own.iv),\n ciphertext: exactBytes(own.ciphertext),\n tag: exactBytes(own.tag)\n };\n }\n if (sealed && typeof sealed.iv === \"function\" && typeof sealed.combined === \"function\") {\n const iv = exactBytes(await sealed.iv());\n const tag = exactBytes(await sealed.tag());\n const ciphertext = exactBytes(await sealed.ciphertext({ encoding: \"bytes\", includeTag: false }));\n return { iv, ciphertext, tag };\n }\n throw new TypeError(`${verb}: expected an AESSealedData`);\n }\n async function aesEncrypt(plaintext, key, options = {}) {\n const verb = \"Crypto.aesEncrypt\";\n const tagLength = options.tagLength ?? DEFAULT_TAG_LENGTH;\n assertTagLength(tagLength, verb);\n let iv;\n const nonce = options.nonce;\n if (nonce && \"bytes\" in nonce && nonce.bytes !== void 0) {\n iv = toBytes(nonce.bytes, verb);\n if (iv.length === 0) throw new Error(`${verb}: nonce bytes must not be empty`);\n } else {\n const length = nonce && \"length\" in nonce && nonce.length !== void 0 ? nonce.length : DEFAULT_IV_LENGTH;\n if (!Number.isInteger(length) || length <= 0) {\n throw new Error(`${verb}: nonce length must be a positive integer`);\n }\n iv = new Uint8Array(length);\n engine.random(iv);\n }\n const additionalData = options.additionalData === void 0 ? void 0 : toBytes(options.additionalData, verb);\n const plainBytes = toBytes(plaintext, verb);\n const sealed = await engine.seal(\n await keyMaterial(key, verb),\n iv,\n plainBytes,\n additionalData,\n tagLength\n );\n const actualTag = sealed.length - plainBytes.length;\n return AESSealedData.fromSeal(iv, sealed, actualTag > 0 ? actualTag : tagLength);\n }\n async function aesDecrypt(sealedData, key, options = {}) {\n const verb = \"Crypto.aesDecrypt\";\n const parts = await partsOf(sealedData, verb);\n const additionalData = options.additionalData === void 0 ? void 0 : toBytes(options.additionalData, verb);\n const plaintext = await engine.open(\n await keyMaterial(key, verb),\n parts.iv,\n concatBytes([parts.ciphertext, parts.tag]),\n additionalData,\n parts.tag.length\n );\n return options.output === \"base64\" ? bytesToBase64(plaintext) : plaintext;\n }\n return { AESEncryptionKey, AESSealedData, aesEncrypt, aesDecrypt };\n}\nexport {\n assertTagLength,\n createAesApi,\n toBytes\n};\n//# sourceMappingURL=aes.js.map\n"],"mappings":";;;AACA,MAAM,YAAY;CAAC;CAAK;CAAK;AAAG;AAChC,MAAM,cAAc;CAAC;CAAI;CAAI;CAAI;CAAI;CAAI;CAAG;AAAC;AAC7C,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAC3B,SAAS,gBAAgB,WAAW,MAAM;CACxC,IAAI,CAAC,YAAY,SAAS,SAAS,GAAG;EACpC,MAAM,IAAI,MAAM,GAAG,KAAK,8BAA8B,YAAY,KAAK,IAAI,GAAG;CAChF;AACF;AACA,SAAS,QAAQ,OAAO,MAAM;CAC5B,IAAI,OAAO,UAAU,UAAU,OAAO,cAAc,OAAO,IAAI;CAC/D,IAAI,iBAAiB,aAAa,OAAO,IAAI,WAAW,MAAM,MAAM,CAAC,CAAC;CACtE,IAAI,YAAY,OAAO,KAAK,KAAK,MAAM,kBAAkB,aAAa;EACpE,OAAO,WAAW,IAAI,WAAW,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU,CAAC;CACpF;CACA,MAAM,IAAI,UAAU,GAAG,KAAK,uDAAuD;AACrF;AACA,MAAM,8BAA8B,IAAI,QAAQ;AAChD,MAAM,2BAA2B,IAAI,QAAQ;AAC7C,SAAS,YAAY,OAAO,UAAU;CACpC,OAAO,aAAa,WAAW,cAAc,KAAK,IAAI,WAAW,KAAK;AACxE;AACA,SAAS,aAAa,QAAQ;CAC5B,MAAM,iBAAiB;EACrB;EAGA,YAAY,OAAO;GACjB,IAAI,CAAC,UAAU,SAAS,MAAM,SAAS,CAAC,GAAG;IACzC,MAAM,IAAI,MACR,mEAAmE,MAAM,SAAS,GACpF;GACF;GACA,KAAK,OAAO,MAAM,SAAS;GAC3B,SAAS,IAAI,MAAM,WAAW,KAAK,CAAC;EACtC;EACA,aAAa,SAAS,OAAO,KAAK;GAChC,IAAI,CAAC,UAAU,SAAS,IAAI,GAAG;IAC7B,MAAM,IAAI,MAAM,0DAA0D,UAAU,KAAK,IAAI,GAAG;GAClG;GACA,MAAM,QAAQ,IAAI,WAAW,OAAO,CAAC;GACrC,OAAO,OAAO,KAAK;GACnB,OAAO,IAAI,iBAAiB,KAAK;EACnC;EACA,aAAa,OAAO,OAAO,UAAU;GACnC,MAAM,OAAO;GACb,IAAI;GACJ,IAAI,OAAO,UAAU,UAAU;IAC7B,IAAI,aAAa,OAAO,QAAQ,WAAW,OAAO,IAAI;SACjD,IAAI,aAAa,UAAU,QAAQ,cAAc,OAAO,IAAI;SAC5D,MAAM,IAAI,MAAM,GAAG,KAAK,qCAAqC;GACpE,OAAO,IAAI,iBAAiB,YAAY;IACtC,QAAQ,WAAW,KAAK;GAC1B,OAAO;IACL,MAAM,IAAI,UAAU,GAAG,KAAK,sCAAsC;GACpE;GACA,IAAI,CAAC,UAAU,SAAS,MAAM,SAAS,CAAC,GAAG;IACzC,MAAM,IAAI,MAAM,GAAG,KAAK,2CAA2C,MAAM,SAAS,GAAG;GACvF;GACA,OAAO,IAAI,iBAAiB,KAAK;EACnC;EACA,MAAM,QAAQ;GACZ,OAAO,WAAW,SAAS,IAAI,IAAI,CAAC;EACtC;EACA,MAAM,QAAQ,UAAU;GACtB,MAAM,QAAQ,SAAS,IAAI,IAAI;GAC/B,IAAI,aAAa,OAAO,OAAO,WAAW,KAAK;GAC/C,IAAI,aAAa,UAAU,OAAO,cAAc,KAAK;GACrD,MAAM,IAAI,MAAM,qEAAqE;EACvF;CACF;CACA,MAAM,cAAc;EAIlB,YAAY,OAAO;GACjB,IAAI,MAAM,GAAG,WAAW,GAAG,MAAM,IAAI,MAAM,4CAA4C;GACvF,gBAAgB,MAAM,IAAI,QAAQ,sBAAsB;GACxD,YAAY,IAAI,MAAM,KAAK;EAC7B;EACA,OAAO,aAAa,UAAU,SAAS,CAAC,GAAG;GACzC,MAAM,OAAO;GACb,MAAM,WAAW,OAAO,YAAY;GACpC,MAAM,YAAY,OAAO,aAAa;GACtC,gBAAgB,WAAW,IAAI;GAC/B,IAAI,CAAC,OAAO,UAAU,QAAQ,KAAK,YAAY,GAAG;IAChD,MAAM,IAAI,MAAM,GAAG,KAAK,sCAAsC;GAChE;GACA,MAAM,QAAQ,QAAQ,UAAU,IAAI;GACpC,IAAI,MAAM,SAAS,WAAW,WAAW;IACvC,MAAM,IAAI,MAAM,GAAG,KAAK,+CAA+C;GACzE;GACA,OAAO,IAAI,cAAc;IACvB,IAAI,WAAW,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC1C,YAAY,WAAW,MAAM,SAAS,UAAU,MAAM,SAAS,SAAS,CAAC;IACzE,KAAK,WAAW,MAAM,SAAS,MAAM,SAAS,SAAS,CAAC;GAC1D,CAAC;EACH;EACA,OAAO,UAAU,SAAS,iBAAiB,aAAa;GACtD,MAAM,OAAO;GACb,MAAM,KAAK,QAAQ,SAAS,IAAI;GAChC,MAAM,aAAa,QAAQ,iBAAiB,IAAI;GAChD,IAAI,gBAAgB,KAAK,KAAK,OAAO,gBAAgB,UAAU;IAC7D,MAAM,YAAY,eAAe;IACjC,gBAAgB,WAAW,IAAI;IAC/B,IAAI,WAAW,SAAS,WAAW;KACjC,MAAM,IAAI,MAAM,GAAG,KAAK,qCAAqC;IAC/D;IACA,OAAO,IAAI,cAAc;KACvB;KACA,YAAY,WAAW,WAAW,SAAS,GAAG,WAAW,SAAS,SAAS,CAAC;KAC5E,KAAK,WAAW,WAAW,SAAS,WAAW,SAAS,SAAS,CAAC;IACpE,CAAC;GACH;GACA,MAAM,MAAM,QAAQ,aAAa,IAAI;GACrC,gBAAgB,IAAI,QAAQ,IAAI;GAChC,OAAO,IAAI,cAAc;IAAE;IAAI;IAAY;GAAI,CAAC;EAClD;EAGA,OAAO,SAAS,IAAI,mBAAmB,WAAW;GAChD,OAAO,IAAI,cAAc;IACvB;IACA,YAAY,WAAW,kBAAkB,SAAS,GAAG,kBAAkB,SAAS,SAAS,CAAC;IAC1F,KAAK,WAAW,kBAAkB,SAAS,kBAAkB,SAAS,SAAS,CAAC;GAClF,CAAC;EACH;EACA,IAAI,SAAS;GACX,OAAO,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG;EAClC;EACA,IAAI,UAAU;GACZ,OAAO,YAAY,IAAI,IAAI,CAAC,CAAC,IAAI;EACnC;EACA,IAAI,eAAe;GACjB,MAAM,QAAQ,YAAY,IAAI,IAAI;GAClC,OAAO,MAAM,GAAG,SAAS,MAAM,WAAW,SAAS,MAAM,IAAI;EAC/D;EACA,MAAM,GAAG,UAAU;GACjB,OAAO,YAAY,YAAY,IAAI,IAAI,CAAC,CAAC,IAAI,QAAQ;EACvD;EACA,MAAM,IAAI,UAAU;GAClB,OAAO,YAAY,YAAY,IAAI,IAAI,CAAC,CAAC,KAAK,QAAQ;EACxD;EACA,MAAM,WAAW,SAAS;GACxB,MAAM,QAAQ,YAAY,IAAI,IAAI;GAClC,MAAM,QAAQ,SAAS,aAAa,YAAY,CAAC,MAAM,YAAY,MAAM,GAAG,CAAC,IAAI,MAAM;GACvF,OAAO,YAAY,OAAO,SAAS,QAAQ;EAC7C;EACA,MAAM,SAAS,UAAU;GACvB,MAAM,QAAQ,YAAY,IAAI,IAAI;GAClC,OAAO,YAAY,YAAY;IAAC,MAAM;IAAI,MAAM;IAAY,MAAM;GAAG,CAAC,GAAG,QAAQ;EACnF;CACF;CACA,eAAe,YAAY,KAAK,MAAM;EACpC,MAAM,MAAM,SAAS,IAAI,GAAG;EAC5B,IAAI,KAAK,OAAO,WAAW,GAAG;EAC9B,IAAI,OAAO,OAAO,IAAI,UAAU,YAAY,OAAO,WAAW,MAAM,IAAI,MAAM,CAAC;EAC/E,MAAM,IAAI,UAAU,GAAG,KAAK,+BAA+B;CAC7D;CACA,eAAe,QAAQ,QAAQ,MAAM;EACnC,MAAM,MAAM,YAAY,IAAI,MAAM;EAClC,IAAI,KAAK;GACP,OAAO;IACL,IAAI,WAAW,IAAI,EAAE;IACrB,YAAY,WAAW,IAAI,UAAU;IACrC,KAAK,WAAW,IAAI,GAAG;GACzB;EACF;EACA,IAAI,UAAU,OAAO,OAAO,OAAO,cAAc,OAAO,OAAO,aAAa,YAAY;GACtF,MAAM,KAAK,WAAW,MAAM,OAAO,GAAG,CAAC;GACvC,MAAM,MAAM,WAAW,MAAM,OAAO,IAAI,CAAC;GACzC,MAAM,aAAa,WAAW,MAAM,OAAO,WAAW;IAAE,UAAU;IAAS,YAAY;GAAM,CAAC,CAAC;GAC/F,OAAO;IAAE;IAAI;IAAY;GAAI;EAC/B;EACA,MAAM,IAAI,UAAU,GAAG,KAAK,4BAA4B;CAC1D;CACA,eAAe,WAAW,WAAW,KAAK,UAAU,CAAC,GAAG;EACtD,MAAM,OAAO;EACb,MAAM,YAAY,QAAQ,aAAa;EACvC,gBAAgB,WAAW,IAAI;EAC/B,IAAI;EACJ,MAAM,QAAQ,QAAQ;EACtB,IAAI,SAAS,WAAW,SAAS,MAAM,UAAU,KAAK,GAAG;GACvD,KAAK,QAAQ,MAAM,OAAO,IAAI;GAC9B,IAAI,GAAG,WAAW,GAAG,MAAM,IAAI,MAAM,GAAG,KAAK,gCAAgC;EAC/E,OAAO;GACL,MAAM,SAAS,SAAS,YAAY,SAAS,MAAM,WAAW,KAAK,IAAI,MAAM,SAAS;GACtF,IAAI,CAAC,OAAO,UAAU,MAAM,KAAK,UAAU,GAAG;IAC5C,MAAM,IAAI,MAAM,GAAG,KAAK,0CAA0C;GACpE;GACA,KAAK,IAAI,WAAW,MAAM;GAC1B,OAAO,OAAO,EAAE;EAClB;EACA,MAAM,iBAAiB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,QAAQ,QAAQ,gBAAgB,IAAI;EACxG,MAAM,aAAa,QAAQ,WAAW,IAAI;EAC1C,MAAM,SAAS,MAAM,OAAO,KAC1B,MAAM,YAAY,KAAK,IAAI,GAC3B,IACA,YACA,gBACA,SACF;EACA,MAAM,YAAY,OAAO,SAAS,WAAW;EAC7C,OAAO,cAAc,SAAS,IAAI,QAAQ,YAAY,IAAI,YAAY,SAAS;CACjF;CACA,eAAe,WAAW,YAAY,KAAK,UAAU,CAAC,GAAG;EACvD,MAAM,OAAO;EACb,MAAM,QAAQ,MAAM,QAAQ,YAAY,IAAI;EAC5C,MAAM,iBAAiB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,QAAQ,QAAQ,gBAAgB,IAAI;EACxG,MAAM,YAAY,MAAM,OAAO,KAC7B,MAAM,YAAY,KAAK,IAAI,GAC3B,MAAM,IACN,YAAY,CAAC,MAAM,YAAY,MAAM,GAAG,CAAC,GACzC,gBACA,MAAM,IAAI,MACZ;EACA,OAAO,QAAQ,WAAW,WAAW,cAAc,SAAS,IAAI;CAClE;CACA,OAAO;EAAE;EAAkB;EAAe;EAAY;CAAW;AACnE"}