@chilkat/react-native 11.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/ChilkatRN.podspec +44 -0
  3. package/LICENSE +254 -0
  4. package/README.md +67 -0
  5. package/android/CMakeLists.txt +60 -0
  6. package/android/build.gradle +148 -0
  7. package/android/gradle.properties +5 -0
  8. package/android/src/main/AndroidManifest.xml +2 -0
  9. package/android/src/main/cpp/cpp-adapter.cpp +12 -0
  10. package/android/src/main/java/com/margelo/nitro/chilkat/ChilkatRNPackage.java +33 -0
  11. package/chilkat-checksums.json +9 -0
  12. package/cpp/HybridAi.cpp +660 -0
  13. package/cpp/HybridAi.hpp +159 -0
  14. package/cpp/HybridAsn.cpp +403 -0
  15. package/cpp/HybridAsn.hpp +105 -0
  16. package/cpp/HybridAuthAws.cpp +188 -0
  17. package/cpp/HybridAuthAws.hpp +55 -0
  18. package/cpp/HybridAuthAzureSAS.cpp +142 -0
  19. package/cpp/HybridAuthAzureSAS.hpp +47 -0
  20. package/cpp/HybridAuthAzureStorage.cpp +144 -0
  21. package/cpp/HybridAuthAzureStorage.hpp +47 -0
  22. package/cpp/HybridAuthGoogle.cpp +215 -0
  23. package/cpp/HybridAuthGoogle.hpp +67 -0
  24. package/cpp/HybridBinData.cpp +439 -0
  25. package/cpp/HybridBinData.hpp +112 -0
  26. package/cpp/HybridBz2.cpp +177 -0
  27. package/cpp/HybridBz2.hpp +58 -0
  28. package/cpp/HybridCache.cpp +314 -0
  29. package/cpp/HybridCache.hpp +82 -0
  30. package/cpp/HybridCert.cpp +840 -0
  31. package/cpp/HybridCert.hpp +196 -0
  32. package/cpp/HybridCertChain.cpp +149 -0
  33. package/cpp/HybridCertChain.hpp +50 -0
  34. package/cpp/HybridCertStore.cpp +276 -0
  35. package/cpp/HybridCertStore.hpp +78 -0
  36. package/cpp/HybridCharset.cpp +333 -0
  37. package/cpp/HybridCharset.hpp +83 -0
  38. package/cpp/HybridCkDateTime.cpp +384 -0
  39. package/cpp/HybridCkDateTime.hpp +105 -0
  40. package/cpp/HybridCodeSign.cpp +156 -0
  41. package/cpp/HybridCodeSign.hpp +55 -0
  42. package/cpp/HybridCompression.cpp +422 -0
  43. package/cpp/HybridCompression.hpp +100 -0
  44. package/cpp/HybridCrypt2.cpp +1517 -0
  45. package/cpp/HybridCrypt2.hpp +320 -0
  46. package/cpp/HybridCsr.cpp +292 -0
  47. package/cpp/HybridCsr.hpp +77 -0
  48. package/cpp/HybridCsv.cpp +382 -0
  49. package/cpp/HybridCsv.hpp +101 -0
  50. package/cpp/HybridDh.cpp +137 -0
  51. package/cpp/HybridDh.hpp +47 -0
  52. package/cpp/HybridDirTree.cpp +167 -0
  53. package/cpp/HybridDirTree.hpp +53 -0
  54. package/cpp/HybridDkim.cpp +249 -0
  55. package/cpp/HybridDkim.hpp +74 -0
  56. package/cpp/HybridDns.cpp +193 -0
  57. package/cpp/HybridDns.hpp +64 -0
  58. package/cpp/HybridDsa.cpp +453 -0
  59. package/cpp/HybridDsa.hpp +112 -0
  60. package/cpp/HybridDtObj.cpp +172 -0
  61. package/cpp/HybridDtObj.hpp +57 -0
  62. package/cpp/HybridEcc.cpp +195 -0
  63. package/cpp/HybridEcc.hpp +55 -0
  64. package/cpp/HybridEdDSA.cpp +147 -0
  65. package/cpp/HybridEdDSA.hpp +47 -0
  66. package/cpp/HybridEmail.cpp +1911 -0
  67. package/cpp/HybridEmail.hpp +419 -0
  68. package/cpp/HybridEmailBundle.cpp +204 -0
  69. package/cpp/HybridEmailBundle.hpp +64 -0
  70. package/cpp/HybridFileAccess.cpp +631 -0
  71. package/cpp/HybridFileAccess.hpp +149 -0
  72. package/cpp/HybridFtp2.cpp +2308 -0
  73. package/cpp/HybridFtp2.hpp +462 -0
  74. package/cpp/HybridGlobal.cpp +221 -0
  75. package/cpp/HybridGlobal.hpp +68 -0
  76. package/cpp/HybridGzip.cpp +440 -0
  77. package/cpp/HybridGzip.hpp +105 -0
  78. package/cpp/HybridHashtable.cpp +211 -0
  79. package/cpp/HybridHashtable.hpp +64 -0
  80. package/cpp/HybridHtmlToText.cpp +136 -0
  81. package/cpp/HybridHtmlToText.hpp +47 -0
  82. package/cpp/HybridHtmlToXml.cpp +218 -0
  83. package/cpp/HybridHtmlToXml.hpp +65 -0
  84. package/cpp/HybridHttp.cpp +2067 -0
  85. package/cpp/HybridHttp.hpp +416 -0
  86. package/cpp/HybridHttpCurl.cpp +337 -0
  87. package/cpp/HybridHttpCurl.hpp +93 -0
  88. package/cpp/HybridHttpRequest.cpp +455 -0
  89. package/cpp/HybridHttpRequest.hpp +109 -0
  90. package/cpp/HybridHttpResponse.cpp +340 -0
  91. package/cpp/HybridHttpResponse.hpp +86 -0
  92. package/cpp/HybridImap.cpp +1818 -0
  93. package/cpp/HybridImap.hpp +363 -0
  94. package/cpp/HybridJavaKeyStore.cpp +387 -0
  95. package/cpp/HybridJavaKeyStore.hpp +98 -0
  96. package/cpp/HybridJs.cpp +154 -0
  97. package/cpp/HybridJs.hpp +54 -0
  98. package/cpp/HybridJsonArray.cpp +441 -0
  99. package/cpp/HybridJsonArray.hpp +120 -0
  100. package/cpp/HybridJsonObject.cpp +1125 -0
  101. package/cpp/HybridJsonObject.hpp +260 -0
  102. package/cpp/HybridJwe.cpp +294 -0
  103. package/cpp/HybridJwe.hpp +82 -0
  104. package/cpp/HybridJws.cpp +290 -0
  105. package/cpp/HybridJws.hpp +82 -0
  106. package/cpp/HybridJwt.cpp +198 -0
  107. package/cpp/HybridJwt.hpp +57 -0
  108. package/cpp/HybridLog.cpp +212 -0
  109. package/cpp/HybridLog.hpp +63 -0
  110. package/cpp/HybridMailMan.cpp +1853 -0
  111. package/cpp/HybridMailMan.hpp +386 -0
  112. package/cpp/HybridMailboxes.cpp +165 -0
  113. package/cpp/HybridMailboxes.hpp +54 -0
  114. package/cpp/HybridMcp.cpp +322 -0
  115. package/cpp/HybridMcp.hpp +85 -0
  116. package/cpp/HybridMessageSet.cpp +162 -0
  117. package/cpp/HybridMessageSet.hpp +54 -0
  118. package/cpp/HybridMht.cpp +700 -0
  119. package/cpp/HybridMht.hpp +165 -0
  120. package/cpp/HybridMime.cpp +1119 -0
  121. package/cpp/HybridMime.hpp +266 -0
  122. package/cpp/HybridNtlm.cpp +333 -0
  123. package/cpp/HybridNtlm.hpp +83 -0
  124. package/cpp/HybridOAuth1.cpp +307 -0
  125. package/cpp/HybridOAuth1.hpp +78 -0
  126. package/cpp/HybridOAuth2.cpp +515 -0
  127. package/cpp/HybridOAuth2.hpp +127 -0
  128. package/cpp/HybridPdf.cpp +370 -0
  129. package/cpp/HybridPdf.hpp +103 -0
  130. package/cpp/HybridPem.cpp +327 -0
  131. package/cpp/HybridPem.hpp +88 -0
  132. package/cpp/HybridPfx.cpp +343 -0
  133. package/cpp/HybridPfx.hpp +87 -0
  134. package/cpp/HybridPkcs11.cpp +318 -0
  135. package/cpp/HybridPkcs11.hpp +88 -0
  136. package/cpp/HybridPrivateKey.cpp +464 -0
  137. package/cpp/HybridPrivateKey.hpp +117 -0
  138. package/cpp/HybridPrng.cpp +192 -0
  139. package/cpp/HybridPrng.hpp +57 -0
  140. package/cpp/HybridPublicKey.cpp +238 -0
  141. package/cpp/HybridPublicKey.hpp +68 -0
  142. package/cpp/HybridRest.cpp +993 -0
  143. package/cpp/HybridRest.hpp +214 -0
  144. package/cpp/HybridRsa.cpp +348 -0
  145. package/cpp/HybridRsa.hpp +90 -0
  146. package/cpp/HybridSCard.cpp +328 -0
  147. package/cpp/HybridSCard.hpp +91 -0
  148. package/cpp/HybridSFtp.cpp +1889 -0
  149. package/cpp/HybridSFtp.hpp +366 -0
  150. package/cpp/HybridSFtpDir.cpp +119 -0
  151. package/cpp/HybridSFtpDir.hpp +43 -0
  152. package/cpp/HybridSFtpFile.cpp +203 -0
  153. package/cpp/HybridSFtpFile.hpp +60 -0
  154. package/cpp/HybridScMinidriver.cpp +341 -0
  155. package/cpp/HybridScMinidriver.hpp +88 -0
  156. package/cpp/HybridScp.cpp +398 -0
  157. package/cpp/HybridScp.hpp +96 -0
  158. package/cpp/HybridSecrets.cpp +328 -0
  159. package/cpp/HybridSecrets.hpp +84 -0
  160. package/cpp/HybridSecureString.cpp +175 -0
  161. package/cpp/HybridSecureString.hpp +55 -0
  162. package/cpp/HybridServerSentEvent.cpp +112 -0
  163. package/cpp/HybridServerSentEvent.hpp +41 -0
  164. package/cpp/HybridSocket.cpp +1567 -0
  165. package/cpp/HybridSocket.hpp +336 -0
  166. package/cpp/HybridSpider.cpp +543 -0
  167. package/cpp/HybridSpider.hpp +138 -0
  168. package/cpp/HybridSsh.cpp +1330 -0
  169. package/cpp/HybridSsh.hpp +282 -0
  170. package/cpp/HybridSshKey.cpp +310 -0
  171. package/cpp/HybridSshKey.hpp +83 -0
  172. package/cpp/HybridSshTunnel.cpp +687 -0
  173. package/cpp/HybridSshTunnel.hpp +159 -0
  174. package/cpp/HybridStream.cpp +496 -0
  175. package/cpp/HybridStream.hpp +123 -0
  176. package/cpp/HybridStringArray.cpp +368 -0
  177. package/cpp/HybridStringArray.hpp +99 -0
  178. package/cpp/HybridStringBuilder.cpp +739 -0
  179. package/cpp/HybridStringBuilder.hpp +178 -0
  180. package/cpp/HybridStringTable.cpp +218 -0
  181. package/cpp/HybridStringTable.hpp +66 -0
  182. package/cpp/HybridTar.cpp +547 -0
  183. package/cpp/HybridTar.hpp +134 -0
  184. package/cpp/HybridTrustedRoots.cpp +178 -0
  185. package/cpp/HybridTrustedRoots.hpp +61 -0
  186. package/cpp/HybridUnixCompress.cpp +191 -0
  187. package/cpp/HybridUnixCompress.hpp +60 -0
  188. package/cpp/HybridUpload.cpp +427 -0
  189. package/cpp/HybridUpload.hpp +114 -0
  190. package/cpp/HybridUrl.cpp +152 -0
  191. package/cpp/HybridUrl.hpp +48 -0
  192. package/cpp/HybridWebSocket.cpp +378 -0
  193. package/cpp/HybridWebSocket.hpp +103 -0
  194. package/cpp/HybridXml.cpp +1527 -0
  195. package/cpp/HybridXml.hpp +340 -0
  196. package/cpp/HybridXmlCertVault.cpp +215 -0
  197. package/cpp/HybridXmlCertVault.hpp +63 -0
  198. package/cpp/HybridXmlDSig.cpp +328 -0
  199. package/cpp/HybridXmlDSig.hpp +88 -0
  200. package/cpp/HybridXmlDSigGen.cpp +549 -0
  201. package/cpp/HybridXmlDSigGen.hpp +126 -0
  202. package/cpp/HybridXmp.cpp +329 -0
  203. package/cpp/HybridXmp.hpp +86 -0
  204. package/cpp/HybridZip.cpp +1000 -0
  205. package/cpp/HybridZip.hpp +226 -0
  206. package/cpp/HybridZipCrc.cpp +162 -0
  207. package/cpp/HybridZipCrc.hpp +57 -0
  208. package/cpp/HybridZipEntry.cpp +395 -0
  209. package/cpp/HybridZipEntry.hpp +102 -0
  210. package/cpp/runtime/AsyncCall.hpp +96 -0
  211. package/cpp/runtime/Bytes.hpp +49 -0
  212. package/cpp/runtime/ChilkatError.hpp +66 -0
  213. package/cpp/runtime/ChilkatObject.hpp +219 -0
  214. package/cpp/runtime/ProgLang.hpp +9 -0
  215. package/cpp/runtime/ProgressAdapter.hpp +43 -0
  216. package/nitro.json +113 -0
  217. package/nitrogen/generated/.gitattributes +1 -0
  218. package/nitrogen/generated/android/ChilkatRN+autolinking.cmake +179 -0
  219. package/nitrogen/generated/android/ChilkatRN+autolinking.gradle +27 -0
  220. package/nitrogen/generated/android/ChilkatRNOnLoad.cpp +1029 -0
  221. package/nitrogen/generated/android/ChilkatRNOnLoad.hpp +34 -0
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chilkat/ChilkatRNOnLoad.kt +35 -0
  223. package/nitrogen/generated/ios/ChilkatRN+autolinking.rb +62 -0
  224. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.cpp +17 -0
  225. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.hpp +27 -0
  226. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Umbrella.hpp +38 -0
  227. package/nitrogen/generated/ios/ChilkatRNAutolinking.mm +1015 -0
  228. package/nitrogen/generated/ios/ChilkatRNAutolinking.swift +16 -0
  229. package/nitrogen/generated/shared/c++/HybridAiSpec.cpp +114 -0
  230. package/nitrogen/generated/shared/c++/HybridAiSpec.hpp +175 -0
  231. package/nitrogen/generated/shared/c++/HybridAsnSpec.cpp +70 -0
  232. package/nitrogen/generated/shared/c++/HybridAsnSpec.hpp +116 -0
  233. package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.cpp +49 -0
  234. package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.hpp +89 -0
  235. package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.cpp +38 -0
  236. package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.hpp +78 -0
  237. package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.cpp +41 -0
  238. package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.hpp +81 -0
  239. package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.cpp +56 -0
  240. package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.hpp +108 -0
  241. package/nitrogen/generated/shared/c++/HybridBinDataSpec.cpp +69 -0
  242. package/nitrogen/generated/shared/c++/HybridBinDataSpec.hpp +116 -0
  243. package/nitrogen/generated/shared/c++/HybridBz2Spec.cpp +47 -0
  244. package/nitrogen/generated/shared/c++/HybridBz2Spec.hpp +93 -0
  245. package/nitrogen/generated/shared/c++/HybridCacheSpec.cpp +57 -0
  246. package/nitrogen/generated/shared/c++/HybridCacheSpec.hpp +106 -0
  247. package/nitrogen/generated/shared/c++/HybridCertChainSpec.cpp +40 -0
  248. package/nitrogen/generated/shared/c++/HybridCertChainSpec.hpp +89 -0
  249. package/nitrogen/generated/shared/c++/HybridCertSpec.cpp +138 -0
  250. package/nitrogen/generated/shared/c++/HybridCertSpec.hpp +205 -0
  251. package/nitrogen/generated/shared/c++/HybridCertStoreSpec.cpp +55 -0
  252. package/nitrogen/generated/shared/c++/HybridCertStoreSpec.hpp +104 -0
  253. package/nitrogen/generated/shared/c++/HybridCharsetSpec.cpp +61 -0
  254. package/nitrogen/generated/shared/c++/HybridCharsetSpec.hpp +101 -0
  255. package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.cpp +66 -0
  256. package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.hpp +115 -0
  257. package/nitrogen/generated/shared/c++/HybridCodeSignSpec.cpp +44 -0
  258. package/nitrogen/generated/shared/c++/HybridCodeSignSpec.hpp +93 -0
  259. package/nitrogen/generated/shared/c++/HybridCompressionSpec.cpp +79 -0
  260. package/nitrogen/generated/shared/c++/HybridCompressionSpec.hpp +134 -0
  261. package/nitrogen/generated/shared/c++/HybridCrypt2Spec.cpp +215 -0
  262. package/nitrogen/generated/shared/c++/HybridCrypt2Spec.hpp +283 -0
  263. package/nitrogen/generated/shared/c++/HybridCsrSpec.cpp +61 -0
  264. package/nitrogen/generated/shared/c++/HybridCsrSpec.hpp +116 -0
  265. package/nitrogen/generated/shared/c++/HybridCsvSpec.cpp +72 -0
  266. package/nitrogen/generated/shared/c++/HybridCsvSpec.hpp +121 -0
  267. package/nitrogen/generated/shared/c++/HybridDhSpec.cpp +37 -0
  268. package/nitrogen/generated/shared/c++/HybridDhSpec.hpp +77 -0
  269. package/nitrogen/generated/shared/c++/HybridDirTreeSpec.cpp +46 -0
  270. package/nitrogen/generated/shared/c++/HybridDirTreeSpec.hpp +86 -0
  271. package/nitrogen/generated/shared/c++/HybridDkimSpec.cpp +60 -0
  272. package/nitrogen/generated/shared/c++/HybridDkimSpec.hpp +109 -0
  273. package/nitrogen/generated/shared/c++/HybridDnsSpec.cpp +51 -0
  274. package/nitrogen/generated/shared/c++/HybridDnsSpec.hpp +97 -0
  275. package/nitrogen/generated/shared/c++/HybridDsaSpec.cpp +73 -0
  276. package/nitrogen/generated/shared/c++/HybridDsaSpec.hpp +116 -0
  277. package/nitrogen/generated/shared/c++/HybridDtObjSpec.cpp +50 -0
  278. package/nitrogen/generated/shared/c++/HybridDtObjSpec.hpp +90 -0
  279. package/nitrogen/generated/shared/c++/HybridEccSpec.cpp +41 -0
  280. package/nitrogen/generated/shared/c++/HybridEccSpec.hpp +96 -0
  281. package/nitrogen/generated/shared/c++/HybridEdDSASpec.cpp +38 -0
  282. package/nitrogen/generated/shared/c++/HybridEdDSASpec.hpp +90 -0
  283. package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.cpp +45 -0
  284. package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.hpp +91 -0
  285. package/nitrogen/generated/shared/c++/HybridEmailSpec.cpp +259 -0
  286. package/nitrogen/generated/shared/c++/HybridEmailSpec.hpp +326 -0
  287. package/nitrogen/generated/shared/c++/HybridFileAccessSpec.cpp +90 -0
  288. package/nitrogen/generated/shared/c++/HybridFileAccessSpec.hpp +140 -0
  289. package/nitrogen/generated/shared/c++/HybridFtp2Spec.cpp +367 -0
  290. package/nitrogen/generated/shared/c++/HybridFtp2Spec.hpp +434 -0
  291. package/nitrogen/generated/shared/c++/HybridGlobalSpec.cpp +59 -0
  292. package/nitrogen/generated/shared/c++/HybridGlobalSpec.hpp +99 -0
  293. package/nitrogen/generated/shared/c++/HybridGzipSpec.cpp +79 -0
  294. package/nitrogen/generated/shared/c++/HybridGzipSpec.hpp +134 -0
  295. package/nitrogen/generated/shared/c++/HybridHashtableSpec.cpp +45 -0
  296. package/nitrogen/generated/shared/c++/HybridHashtableSpec.hpp +91 -0
  297. package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.cpp +40 -0
  298. package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.hpp +83 -0
  299. package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.cpp +49 -0
  300. package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.hpp +95 -0
  301. package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.cpp +67 -0
  302. package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.hpp +125 -0
  303. package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.cpp +76 -0
  304. package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.hpp +122 -0
  305. package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.cpp +64 -0
  306. package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.hpp +119 -0
  307. package/nitrogen/generated/shared/c++/HybridHttpSpec.cpp +334 -0
  308. package/nitrogen/generated/shared/c++/HybridHttpSpec.hpp +407 -0
  309. package/nitrogen/generated/shared/c++/HybridImapSpec.cpp +275 -0
  310. package/nitrogen/generated/shared/c++/HybridImapSpec.hpp +360 -0
  311. package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.cpp +65 -0
  312. package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.hpp +132 -0
  313. package/nitrogen/generated/shared/c++/HybridJsSpec.cpp +43 -0
  314. package/nitrogen/generated/shared/c++/HybridJsSpec.hpp +92 -0
  315. package/nitrogen/generated/shared/c++/HybridJsonArraySpec.cpp +76 -0
  316. package/nitrogen/generated/shared/c++/HybridJsonArraySpec.hpp +131 -0
  317. package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.cpp +154 -0
  318. package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.hpp +218 -0
  319. package/nitrogen/generated/shared/c++/HybridJweSpec.cpp +57 -0
  320. package/nitrogen/generated/shared/c++/HybridJweSpec.hpp +112 -0
  321. package/nitrogen/generated/shared/c++/HybridJwsSpec.cpp +57 -0
  322. package/nitrogen/generated/shared/c++/HybridJwsSpec.hpp +115 -0
  323. package/nitrogen/generated/shared/c++/HybridJwtSpec.cpp +43 -0
  324. package/nitrogen/generated/shared/c++/HybridJwtSpec.hpp +92 -0
  325. package/nitrogen/generated/shared/c++/HybridLogSpec.cpp +44 -0
  326. package/nitrogen/generated/shared/c++/HybridLogSpec.hpp +85 -0
  327. package/nitrogen/generated/shared/c++/HybridMailManSpec.cpp +311 -0
  328. package/nitrogen/generated/shared/c++/HybridMailManSpec.hpp +396 -0
  329. package/nitrogen/generated/shared/c++/HybridMailboxesSpec.cpp +40 -0
  330. package/nitrogen/generated/shared/c++/HybridMailboxesSpec.hpp +80 -0
  331. package/nitrogen/generated/shared/c++/HybridMcpSpec.cpp +68 -0
  332. package/nitrogen/generated/shared/c++/HybridMcpSpec.hpp +117 -0
  333. package/nitrogen/generated/shared/c++/HybridMessageSetSpec.cpp +41 -0
  334. package/nitrogen/generated/shared/c++/HybridMessageSetSpec.hpp +84 -0
  335. package/nitrogen/generated/shared/c++/HybridMhtSpec.cpp +138 -0
  336. package/nitrogen/generated/shared/c++/HybridMhtSpec.hpp +181 -0
  337. package/nitrogen/generated/shared/c++/HybridMimeSpec.cpp +169 -0
  338. package/nitrogen/generated/shared/c++/HybridMimeSpec.hpp +233 -0
  339. package/nitrogen/generated/shared/c++/HybridNtlmSpec.cpp +69 -0
  340. package/nitrogen/generated/shared/c++/HybridNtlmSpec.hpp +109 -0
  341. package/nitrogen/generated/shared/c++/HybridOAuth1Spec.cpp +67 -0
  342. package/nitrogen/generated/shared/c++/HybridOAuth1Spec.hpp +110 -0
  343. package/nitrogen/generated/shared/c++/HybridOAuth2Spec.cpp +107 -0
  344. package/nitrogen/generated/shared/c++/HybridOAuth2Spec.hpp +156 -0
  345. package/nitrogen/generated/shared/c++/HybridPdfSpec.cpp +73 -0
  346. package/nitrogen/generated/shared/c++/HybridPdfSpec.hpp +134 -0
  347. package/nitrogen/generated/shared/c++/HybridPemSpec.cpp +63 -0
  348. package/nitrogen/generated/shared/c++/HybridPemSpec.hpp +124 -0
  349. package/nitrogen/generated/shared/c++/HybridPfxSpec.cpp +61 -0
  350. package/nitrogen/generated/shared/c++/HybridPfxSpec.hpp +122 -0
  351. package/nitrogen/generated/shared/c++/HybridPkcs11Spec.cpp +60 -0
  352. package/nitrogen/generated/shared/c++/HybridPkcs11Spec.hpp +115 -0
  353. package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.cpp +76 -0
  354. package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.hpp +131 -0
  355. package/nitrogen/generated/shared/c++/HybridPrngSpec.cpp +42 -0
  356. package/nitrogen/generated/shared/c++/HybridPrngSpec.hpp +85 -0
  357. package/nitrogen/generated/shared/c++/HybridPublicKeySpec.cpp +48 -0
  358. package/nitrogen/generated/shared/c++/HybridPublicKeySpec.hpp +91 -0
  359. package/nitrogen/generated/shared/c++/HybridRestSpec.cpp +150 -0
  360. package/nitrogen/generated/shared/c++/HybridRestSpec.hpp +229 -0
  361. package/nitrogen/generated/shared/c++/HybridRsaSpec.cpp +68 -0
  362. package/nitrogen/generated/shared/c++/HybridRsaSpec.hpp +120 -0
  363. package/nitrogen/generated/shared/c++/HybridSCardSpec.cpp +64 -0
  364. package/nitrogen/generated/shared/c++/HybridSCardSpec.hpp +116 -0
  365. package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.cpp +35 -0
  366. package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.hpp +78 -0
  367. package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.cpp +57 -0
  368. package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.hpp +98 -0
  369. package/nitrogen/generated/shared/c++/HybridSFtpSpec.cpp +284 -0
  370. package/nitrogen/generated/shared/c++/HybridSFtpSpec.hpp +354 -0
  371. package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.cpp +61 -0
  372. package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.hpp +119 -0
  373. package/nitrogen/generated/shared/c++/HybridScpSpec.cpp +78 -0
  374. package/nitrogen/generated/shared/c++/HybridScpSpec.hpp +127 -0
  375. package/nitrogen/generated/shared/c++/HybridSecretsSpec.cpp +65 -0
  376. package/nitrogen/generated/shared/c++/HybridSecretsSpec.hpp +120 -0
  377. package/nitrogen/generated/shared/c++/HybridSecureStringSpec.cpp +42 -0
  378. package/nitrogen/generated/shared/c++/HybridSecureStringSpec.hpp +88 -0
  379. package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.cpp +35 -0
  380. package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.hpp +75 -0
  381. package/nitrogen/generated/shared/c++/HybridSocketSpec.cpp +262 -0
  382. package/nitrogen/generated/shared/c++/HybridSocketSpec.hpp +327 -0
  383. package/nitrogen/generated/shared/c++/HybridSpiderSpec.cpp +110 -0
  384. package/nitrogen/generated/shared/c++/HybridSpiderSpec.hpp +153 -0
  385. package/nitrogen/generated/shared/c++/HybridSshKeySpec.cpp +59 -0
  386. package/nitrogen/generated/shared/c++/HybridSshKeySpec.hpp +102 -0
  387. package/nitrogen/generated/shared/c++/HybridSshSpec.cpp +215 -0
  388. package/nitrogen/generated/shared/c++/HybridSshSpec.hpp +276 -0
  389. package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.cpp +136 -0
  390. package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.hpp +191 -0
  391. package/nitrogen/generated/shared/c++/HybridStreamSpec.cpp +100 -0
  392. package/nitrogen/generated/shared/c++/HybridStreamSpec.hpp +150 -0
  393. package/nitrogen/generated/shared/c++/HybridStringArraySpec.cpp +66 -0
  394. package/nitrogen/generated/shared/c++/HybridStringArraySpec.hpp +109 -0
  395. package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.cpp +104 -0
  396. package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.hpp +156 -0
  397. package/nitrogen/generated/shared/c++/HybridStringTableSpec.cpp +46 -0
  398. package/nitrogen/generated/shared/c++/HybridStringTableSpec.hpp +89 -0
  399. package/nitrogen/generated/shared/c++/HybridTarSpec.cpp +110 -0
  400. package/nitrogen/generated/shared/c++/HybridTarSpec.hpp +156 -0
  401. package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.cpp +48 -0
  402. package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.hpp +97 -0
  403. package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.cpp +48 -0
  404. package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.hpp +91 -0
  405. package/nitrogen/generated/shared/c++/HybridUploadSpec.cpp +98 -0
  406. package/nitrogen/generated/shared/c++/HybridUploadSpec.hpp +141 -0
  407. package/nitrogen/generated/shared/c++/HybridUrlSpec.cpp +42 -0
  408. package/nitrogen/generated/shared/c++/HybridUrlSpec.hpp +82 -0
  409. package/nitrogen/generated/shared/c++/HybridWebSocketSpec.cpp +80 -0
  410. package/nitrogen/generated/shared/c++/HybridWebSocketSpec.hpp +135 -0
  411. package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.cpp +45 -0
  412. package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.hpp +94 -0
  413. package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.cpp +99 -0
  414. package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.hpp +163 -0
  415. package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.cpp +62 -0
  416. package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.hpp +126 -0
  417. package/nitrogen/generated/shared/c++/HybridXmlSpec.cpp +203 -0
  418. package/nitrogen/generated/shared/c++/HybridXmlSpec.hpp +253 -0
  419. package/nitrogen/generated/shared/c++/HybridXmpSpec.cpp +58 -0
  420. package/nitrogen/generated/shared/c++/HybridXmpSpec.hpp +104 -0
  421. package/nitrogen/generated/shared/c++/HybridZipCrcSpec.cpp +43 -0
  422. package/nitrogen/generated/shared/c++/HybridZipCrcSpec.hpp +92 -0
  423. package/nitrogen/generated/shared/c++/HybridZipEntrySpec.cpp +82 -0
  424. package/nitrogen/generated/shared/c++/HybridZipEntrySpec.hpp +137 -0
  425. package/nitrogen/generated/shared/c++/HybridZipSpec.cpp +176 -0
  426. package/nitrogen/generated/shared/c++/HybridZipSpec.hpp +231 -0
  427. package/package.json +46 -0
  428. package/react-native.config.js +9 -0
  429. package/scripts/fetch-chilkat.js +184 -0
  430. package/src/index.ts +306 -0
  431. package/src/runtime/chilkat.ts +25 -0
  432. package/src/specs/Ai.nitro.ts +1288 -0
  433. package/src/specs/Asn.nitro.ts +509 -0
  434. package/src/specs/AuthAws.nitro.ts +234 -0
  435. package/src/specs/AuthAzureSAS.nitro.ts +205 -0
  436. package/src/specs/AuthAzureStorage.nitro.ts +172 -0
  437. package/src/specs/AuthGoogle.nitro.ts +291 -0
  438. package/src/specs/BinData.nitro.ts +470 -0
  439. package/src/specs/Bz2.nitro.ts +269 -0
  440. package/src/specs/Cache.nitro.ts +483 -0
  441. package/src/specs/Cert.nitro.ts +1279 -0
  442. package/src/specs/CertChain.nitro.ts +312 -0
  443. package/src/specs/CertStore.nitro.ts +430 -0
  444. package/src/specs/Charset.nitro.ts +518 -0
  445. package/src/specs/CkDateTime.nitro.ts +492 -0
  446. package/src/specs/CodeSign.nitro.ts +307 -0
  447. package/src/specs/Compression.nitro.ts +654 -0
  448. package/src/specs/Crypt2.nitro.ts +2387 -0
  449. package/src/specs/Csr.nitro.ts +461 -0
  450. package/src/specs/Csv.nitro.ts +670 -0
  451. package/src/specs/Dh.nitro.ts +343 -0
  452. package/src/specs/DirTree.nitro.ts +332 -0
  453. package/src/specs/Dkim.nitro.ts +595 -0
  454. package/src/specs/Dns.nitro.ts +271 -0
  455. package/src/specs/Dsa.nitro.ts +653 -0
  456. package/src/specs/DtObj.nitro.ts +198 -0
  457. package/src/specs/Ecc.nitro.ts +375 -0
  458. package/src/specs/EdDSA.nitro.ts +273 -0
  459. package/src/specs/Email.nitro.ts +2921 -0
  460. package/src/specs/EmailBundle.nitro.ts +334 -0
  461. package/src/specs/FileAccess.nitro.ts +836 -0
  462. package/src/specs/Ftp2.nitro.ts +3943 -0
  463. package/src/specs/Global.nitro.ts +319 -0
  464. package/src/specs/Gzip.nitro.ts +646 -0
  465. package/src/specs/Hashtable.nitro.ts +356 -0
  466. package/src/specs/HtmlToText.nitro.ts +238 -0
  467. package/src/specs/HtmlToXml.nitro.ts +323 -0
  468. package/src/specs/Http.nitro.ts +3095 -0
  469. package/src/specs/HttpCurl.nitro.ts +550 -0
  470. package/src/specs/HttpRequest.nitro.ts +522 -0
  471. package/src/specs/HttpResponse.nitro.ts +424 -0
  472. package/src/specs/Imap.nitro.ts +2991 -0
  473. package/src/specs/JavaKeyStore.nitro.ts +619 -0
  474. package/src/specs/Js.nitro.ts +263 -0
  475. package/src/specs/JsonArray.nitro.ts +681 -0
  476. package/src/specs/JsonObject.nitro.ts +1454 -0
  477. package/src/specs/Jwe.nitro.ts +756 -0
  478. package/src/specs/Jws.nitro.ts +733 -0
  479. package/src/specs/Jwt.nitro.ts +380 -0
  480. package/src/specs/Log.nitro.ts +258 -0
  481. package/src/specs/MailMan.nitro.ts +3571 -0
  482. package/src/specs/Mailboxes.nitro.ts +251 -0
  483. package/src/specs/Mcp.nitro.ts +491 -0
  484. package/src/specs/MessageSet.nitro.ts +320 -0
  485. package/src/specs/Mht.nitro.ts +1684 -0
  486. package/src/specs/Mime.nitro.ts +1745 -0
  487. package/src/specs/Ntlm.nitro.ts +556 -0
  488. package/src/specs/OAuth1.nitro.ts +331 -0
  489. package/src/specs/OAuth2.nitro.ts +1023 -0
  490. package/src/specs/Pdf.nitro.ts +740 -0
  491. package/src/specs/Pem.nitro.ts +484 -0
  492. package/src/specs/Pfx.nitro.ts +1003 -0
  493. package/src/specs/Pkcs11.nitro.ts +559 -0
  494. package/src/specs/PrivateKey.nitro.ts +994 -0
  495. package/src/specs/Prng.nitro.ts +348 -0
  496. package/src/specs/PublicKey.nitro.ts +610 -0
  497. package/src/specs/Rest.nitro.ts +1972 -0
  498. package/src/specs/Rsa.nitro.ts +453 -0
  499. package/src/specs/SCard.nitro.ts +739 -0
  500. package/src/specs/SFtp.nitro.ts +3138 -0
  501. package/src/specs/SFtpDir.nitro.ts +213 -0
  502. package/src/specs/SFtpFile.nitro.ts +452 -0
  503. package/src/specs/ScMinidriver.nitro.ts +443 -0
  504. package/src/specs/Scp.nitro.ts +708 -0
  505. package/src/specs/Secrets.nitro.ts +470 -0
  506. package/src/specs/SecureString.nitro.ts +231 -0
  507. package/src/specs/ServerSentEvent.nitro.ts +183 -0
  508. package/src/specs/Socket.nitro.ts +3335 -0
  509. package/src/specs/Spider.nitro.ts +609 -0
  510. package/src/specs/Ssh.nitro.ts +2842 -0
  511. package/src/specs/SshKey.nitro.ts +740 -0
  512. package/src/specs/SshTunnel.nitro.ts +1243 -0
  513. package/src/specs/Stream.nitro.ts +737 -0
  514. package/src/specs/StringArray.nitro.ts +396 -0
  515. package/src/specs/StringBuilder.nitro.ts +920 -0
  516. package/src/specs/StringTable.nitro.ts +271 -0
  517. package/src/specs/Tar.nitro.ts +804 -0
  518. package/src/specs/TrustedRoots.nitro.ts +360 -0
  519. package/src/specs/UnixCompress.nitro.ts +293 -0
  520. package/src/specs/Upload.nitro.ts +623 -0
  521. package/src/specs/Url.nitro.ts +246 -0
  522. package/src/specs/WebSocket.nitro.ts +840 -0
  523. package/src/specs/Xml.nitro.ts +1988 -0
  524. package/src/specs/XmlCertVault.nitro.ts +259 -0
  525. package/src/specs/XmlDSig.nitro.ts +464 -0
  526. package/src/specs/XmlDSigGen.nitro.ts +978 -0
  527. package/src/specs/Xmp.nitro.ts +364 -0
  528. package/src/specs/Zip.nitro.ts +1611 -0
  529. package/src/specs/ZipCrc.nitro.ts +229 -0
  530. package/src/specs/ZipEntry.nitro.ts +782 -0
@@ -0,0 +1,1454 @@
1
+ // Generated by ReactNativeNs.RnGenerator -- do not edit.
2
+ import type { HybridObject } from 'react-native-nitro-modules'
3
+ import type { BinData } from './BinData.nitro'
4
+ import type { CkDateTime } from './CkDateTime.nitro'
5
+ import type { DtObj } from './DtObj.nitro'
6
+ import type { Hashtable } from './Hashtable.nitro'
7
+ import type { JsonArray } from './JsonArray.nitro'
8
+ import type { StringBuilder } from './StringBuilder.nitro'
9
+ import type { StringTable } from './StringTable.nitro'
10
+
11
+ /**
12
+ * Load, navigate, create, modify, search, sort, and emit JSON objects.
13
+ *
14
+ * `JsonObject` provides DOM-style access to JSON objects.
15
+ * It can load, inspect, modify, create, search, sort, emit, and save JSON data.
16
+ * It supports path-based access, index-based member access, automatic creation
17
+ * of nested paths, object and array references, Firebase-style updates, record
18
+ * searches, date/time conversion, binary data encoding, variable substitution,
19
+ * and optional secure secret resolution.
20
+ *
21
+ * **Load and emit JSON**
22
+ *
23
+ * Load JSON from strings, files, buffers, or Chilkat objects, then emit the
24
+ * result as compact or pretty-formatted JSON.
25
+ *
26
+ * **Path-based navigation**
27
+ *
28
+ * Read and update nested values using JSON paths, with support for
29
+ * automatically creating missing object or array paths.
30
+ *
31
+ * **Member access**
32
+ *
33
+ * Access object members by name or index, inspect member types, retrieve
34
+ * values, and remove or rename members as needed.
35
+ *
36
+ * **Nested objects and arrays**
37
+ *
38
+ * Work directly with child `JsonObject` and
39
+ * `JsonArray` references to navigate and modify complex JSON
40
+ * structures.
41
+ *
42
+ * **Search and transform**
43
+ *
44
+ * Search records, sort object members, perform Firebase-style updates, and
45
+ * prepare JSON for API requests or application storage.
46
+ *
47
+ * **Special value handling**
48
+ *
49
+ * Handle date/time values, binary data encodings, exact numeric text,
50
+ * variable substitution, and secure secret resolution.
51
+ *
52
+ * **Common pattern:**
53
+ * Load or create a `JsonObject`, navigate named members and nested
54
+ * paths, retrieve child arrays as `JsonArray` objects when ordered
55
+ * lists are encountered, update values as needed, then emit or save the final
56
+ * JSON. Use `JsonObject` for named JSON members and
57
+ * `JsonArray` for ordered lists.
58
+ *
59
+ * For an extended overview, see
60
+ * [JsonObject Class Overview](https://www.chilkatsoft.com/jsonobject_class_overview.asp).
61
+ *
62
+ * Each `JsonObject` instance owns a native Chilkat object. It is released when the JavaScript
63
+ * object is
64
+ * garbage collected, or immediately by `dispose()`; any use after `dispose()` throws.
65
+ * Create one with `new JsonObject()`.
66
+ */
67
+ export interface JsonObject extends HybridObject<{ ios: 'c++', android: 'c++' }> {
68
+ // ---- Properties ----
69
+
70
+ /**
71
+ * Provides HTML-formatted information about the last called method or property. If a method call
72
+ * fails or behaves unexpectedly, check this property for details. Note that information is
73
+ * available regardless of the method call's success.
74
+ *
75
+ * This property is read-only.
76
+ */
77
+ readonly lastErrorHtml: string
78
+
79
+ /**
80
+ * Provides plain text information about the last called method or property. If a method call
81
+ * fails or behaves unexpectedly, check this property for details. Note that information is
82
+ * available regardless of the method call's success.
83
+ *
84
+ * This property is read-only.
85
+ */
86
+ readonly lastErrorText: string
87
+
88
+ /**
89
+ * Provides XML-formatted information about the last called method or property. If a method call
90
+ * fails or behaves unexpectedly, check this property for details. Note that information is
91
+ * available regardless of the method call's success.
92
+ *
93
+ * This property is read-only.
94
+ */
95
+ readonly lastErrorXml: string
96
+
97
+ /**
98
+ * Version of the component/library, such as "10.1.0"
99
+ *
100
+ * This property is read-only.
101
+ */
102
+ readonly version: string
103
+
104
+ /**
105
+ * If set to a file path, this property logs the LastErrorText of each Chilkat method or property
106
+ * call to the specified file. This logging helps identify the context and history of Chilkat
107
+ * calls leading up to any crash or hang, aiding in debugging.
108
+ *
109
+ * Enabling the VerboseLogging property provides more detailed information.
110
+ *
111
+ * This property is mainly used for debugging rare instances where a Chilkat method call causes a
112
+ * hang or crash, which should generally not happen.
113
+ *
114
+ * Possible causes of hangs include:
115
+ *
116
+ * - A timeout property set to 0, indicating an infinite timeout.
117
+ *
118
+ * - A hang occurring within an event callback in the application code.
119
+ *
120
+ * - An internal bug in the Chilkat code causing the hang.
121
+ */
122
+ debugLogFilePath: string
123
+
124
+ /**
125
+ * If set to `true`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may
126
+ * contain more verbose information. The default value is `false`. Verbose logging should only be
127
+ * used for debugging. The potentially large quantity of logged information may adversely affect
128
+ * peformance.
129
+ */
130
+ verboseLogging: boolean
131
+
132
+ /**
133
+ * Indicates the success or failure of the most recent method call: `true` means success, `false`
134
+ * means failure. This property remains unchanged by property setters or getters. This method is
135
+ * present to address challenges in checking for null or Nothing returns in certain programming
136
+ * languages. Note: This property does not apply to methods that return integer values or to
137
+ * boolean-returning methods where the boolean does not indicate success or failure.
138
+ */
139
+ lastMethodSuccess: boolean
140
+
141
+ /**
142
+ * Specifies the character used to separate object-member names in Chilkat JSON paths. The default
143
+ * is `.`. Set it to `/` for Firebase-style paths. This property should contain exactly one
144
+ * character.
145
+ *
146
+ * **Arrays in paths:** Array indexes continue to use square brackets, such as `orders[0].id`. If
147
+ * a member name itself contains a path-separator character, quote that path component with double
148
+ * quotes.
149
+ */
150
+ delimiterChar: string
151
+
152
+ /**
153
+ * Controls whether emitted JSON is compact or pretty-printed. The default is `true`.
154
+ *
155
+ * | `_TRUE_` | | Emit a compact representation with no extra formatting whitespace. |
156
+ *
157
+ * | `_FALSE_` | | Emit indented, human-readable JSON. |
158
+ *
159
+ * **JSON semantics:** Formatting whitespace does not change the JSON data. Use compact output for
160
+ * transport/storage and pretty output for diagnostics or human review.
161
+ */
162
+ emitCompact: boolean
163
+
164
+ /**
165
+ * Controls line endings when pretty-printed JSON is emitted (`EmitCompact = _FALSE_`). The
166
+ * default is `true`.
167
+ *
168
+ * | `_TRUE_` | | Use CRLF line endings. |
169
+ *
170
+ * | `_FALSE_` | | Use LF line endings. |
171
+ *
172
+ * **Compact output:** This setting has no effect when `EmitCompact` is `true` because compact
173
+ * JSON is emitted without formatting line breaks.
174
+ */
175
+ emitCrLf: boolean
176
+
177
+ /**
178
+ * Supplies the integer substituted for `i` when a JSON path contains an array index such as
179
+ * `[i]`. This is useful for loop-based navigation without constructing a new path string for
180
+ * every iteration.
181
+ *
182
+ * **Related properties:** The `J` and `K` properties provide the same substitution behavior for
183
+ * `[j]` and `[k]`.
184
+ */
185
+ i: number
186
+
187
+ /**
188
+ * Supplies the integer substituted for `j` when a JSON path contains `[j]`. It is commonly used
189
+ * with nested-array paths such as `matrix[i][j]`.
190
+ */
191
+ j: number
192
+
193
+ /**
194
+ * Supplies the integer substituted for `k` when a JSON path contains `[k]`. It can be combined
195
+ * with `I` and `J` for deeper nested-array traversal.
196
+ */
197
+ k: number
198
+
199
+ /**
200
+ * Returns the number of direct name/value members in this JSON object. Nested members inside
201
+ * child objects are not included.
202
+ *
203
+ * **JSON objects and order:** RFC 8259 defines a JSON object as an unordered collection of
204
+ * name/value pairs. Chilkat preserves a member order so index-based APIs and deterministic
205
+ * emission are possible, but interoperable application logic should generally use member names
206
+ * rather than depend on object order.
207
+ *
208
+ * This property is read-only.
209
+ */
210
+ readonly size: number
211
+
212
+ /**
213
+ * Specifies a path prefix automatically prepended to JSON paths passed to path-based methods such
214
+ * as `StringOf`, `ObjectOf`, `UpdateString`, `SetBoolOf`, and `SizeOfArray`. The default is the
215
+ * empty string.
216
+ *
217
+ * **Use case:** Set a prefix when many operations target the same nested object. The individual
218
+ * method calls can then use paths relative to that prefix.
219
+ */
220
+ pathPrefix: string
221
+
222
+ /**
223
+ * If `true`, member names are converted to lowercase while JSON is loaded by `Load`, `LoadBd`,
224
+ * `LoadSb`, or `LoadFile`. The default is `false`.
225
+ *
226
+ * **Important:** This changes member names in the parsed document; it is not merely a
227
+ * case-insensitive lookup mode. Use it only when normalizing names is intentional.
228
+ */
229
+ lowerCaseNames: boolean
230
+
231
+ /**
232
+ * Provides a catch-all string for uncommon, implementation-specific options. The default is the
233
+ * empty string and it should normally remain empty.
234
+ *
235
+ * **Recommendation:** Do not invent option keywords. Set this property only when a specific
236
+ * `JsonObject` option is documented by Chilkat or provided by Chilkat support.
237
+ */
238
+ uncommonOptions: string
239
+
240
+ /**
241
+ * Enables automatic resolution of Chilkat secret specification strings for supported
242
+ * string-setting methods. The default is `false`. When enabled, a value beginning with `!!` can
243
+ * identify a credential stored in Windows Credential Manager or Apple Keychain instead of
244
+ * embedding the literal secret in application code.
245
+ *
246
+ * Secret specification format: `!![appName|]service[|domain]|username`.
247
+ *
248
+ * This feature applies to `AddStringAt`, `AppendString`, `SetStringAt`, `SetStringOf`,
249
+ * `UpdateSb`, and `UpdateString`.
250
+ *
251
+ * **Security:** Secret resolution changes where the string value comes from; the resulting JSON
252
+ * member still contains the resolved value. Avoid emitting or logging JSON that contains
253
+ * credentials unless that exposure is explicitly intended.
254
+ */
255
+ enableSecrets: boolean
256
+
257
+ /**
258
+ * When `Strict` is **true**, the Load methods first check that the data is well-formed JSON. If
259
+ * it is not, the load fails and the contents of this JsonObject are left **unchanged**. The
260
+ * default is `false`.
261
+ *
262
+ * This applies to {@link JsonObject.load}, {@link JsonObject.loadSb}, {@link JsonObject.loadBd},
263
+ * {@link JsonObject.loadFile} and {@link JsonObject.loadPredefined}.
264
+ *
265
+ * Chilkat's JSON parser is deliberately tolerant. By default it can accept text that is not
266
+ * well-formed, succeed, and leave an empty or partially populated document. That is convenient
267
+ * when the goal is a best-effort parse of imperfect input, but it is the wrong behavior when a
268
+ * silently missing member changes what the application does. A single missing comma, for example,
269
+ * can cause the members after it to be dropped while the load still reports success.
270
+ *
271
+ * Set `Strict` to `true` for JSON carrying configuration, credentials, or security parameters,
272
+ * where a member that quietly failed to load would be acted on as though it had never been
273
+ * specified.
274
+ *
275
+ * **Note:** The default is `false` so that existing applications are unaffected. When a strict
276
+ * load is rejected, this JsonObject keeps whatever it held before the call, so a failed reload
277
+ * never leaves the object empty.
278
+ */
279
+ strict: boolean
280
+
281
+ // ---- Methods ----
282
+
283
+ /**
284
+ * Inserts a new JSON array member named `name` at the zero-based member position `index`. The new
285
+ * array is empty.
286
+ *
287
+ * | `0` | | Insert as the first member. |
288
+ *
289
+ * | `-1` | | Append as the last member. |
290
+ *
291
+ * | `n` | | Insert at zero-based position n. |
292
+ *
293
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
294
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
295
+ *
296
+ * @throws Error if the call fails (the message names the reason); the full log is in
297
+ * {@link JsonObject.lastErrorText}.
298
+ */
299
+ addArrayAt(index: number, name: string): void
300
+
301
+ /**
302
+ * Inserts a new JSON boolean member named `name` at the zero-based member position `index`. The
303
+ * value is taken from `value`.
304
+ *
305
+ * | `0` | | Insert as the first member. |
306
+ *
307
+ * | `-1` | | Append as the last member. |
308
+ *
309
+ * | `n` | | Insert at zero-based position n. |
310
+ *
311
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
312
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
313
+ *
314
+ * @throws Error if the call fails (the message names the reason); the full log is in
315
+ * {@link JsonObject.lastErrorText}.
316
+ */
317
+ addBoolAt(index: number, name: string, value: boolean): void
318
+
319
+ /**
320
+ * Inserts a new JSON number member named `name` at the zero-based member position `index`. The
321
+ * integer `value` is emitted as a JSON number, not as a quoted string.
322
+ *
323
+ * | `0` | | Insert as the first member. |
324
+ *
325
+ * | `-1` | | Append as the last member. |
326
+ *
327
+ * | `n` | | Insert at zero-based position n. |
328
+ *
329
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
330
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
331
+ *
332
+ * @throws Error if the call fails (the message names the reason); the full log is in
333
+ * {@link JsonObject.lastErrorText}.
334
+ */
335
+ addIntAt(index: number, name: string, value: number): void
336
+
337
+ /**
338
+ * Inserts a new JSON null member named `name` at the zero-based member position `index`.
339
+ *
340
+ * | `0` | | Insert as the first member. |
341
+ *
342
+ * | `-1` | | Append as the last member. |
343
+ *
344
+ * | `n` | | Insert at zero-based position n. |
345
+ *
346
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
347
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
348
+ *
349
+ * @throws Error if the call fails (the message names the reason); the full log is in
350
+ * {@link JsonObject.lastErrorText}.
351
+ */
352
+ addNullAt(index: number, name: string): void
353
+
354
+ /**
355
+ * Inserts a new JSON number member named `name` at the zero-based member position `index`. The
356
+ * `numericStr` argument supplies the exact JSON numeric text to store.
357
+ *
358
+ * | `0` | | Insert as the first member. |
359
+ *
360
+ * | `-1` | | Append as the last member. |
361
+ *
362
+ * | `n` | | Insert at zero-based position n. |
363
+ *
364
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
365
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
366
+ *
367
+ * **Exact numeric text:** Use this method when lexical form or precision matters, for example
368
+ * `12345678901234567890`, `1.2500`, or scientific notation. The supplied text must be valid JSON
369
+ * number syntax; JSON does not permit `NaN` or infinity.
370
+ *
371
+ * @throws Error if the call fails (the message names the reason); the full log is in
372
+ * {@link JsonObject.lastErrorText}.
373
+ */
374
+ addNumberAt(index: number, name: string, numericStr: string): void
375
+
376
+ /**
377
+ * Inserts a new JSON object member named `name` at the zero-based member position `index`. The
378
+ * new object is empty.
379
+ *
380
+ * | `0` | | Insert as the first member. |
381
+ *
382
+ * | `-1` | | Append as the last member. |
383
+ *
384
+ * | `n` | | Insert at zero-based position n. |
385
+ *
386
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
387
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
388
+ *
389
+ * @throws Error if the call fails (the message names the reason); the full log is in
390
+ * {@link JsonObject.lastErrorText}.
391
+ */
392
+ addObjectAt(index: number, name: string): void
393
+
394
+ /**
395
+ * Inserts a new JSON string member named `name` at the zero-based member position `index`. The
396
+ * value is stored as a JSON string and is escaped as needed when emitted.
397
+ *
398
+ * | `0` | | Insert as the first member. |
399
+ *
400
+ * | `-1` | | Append as the last member. |
401
+ *
402
+ * | `n` | | Insert at zero-based position n. |
403
+ *
404
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
405
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
406
+ *
407
+ * @throws Error if the call fails (the message names the reason); the full log is in
408
+ * {@link JsonObject.lastErrorText}.
409
+ */
410
+ addStringAt(index: number, name: string, value: string): void
411
+
412
+ /**
413
+ * Appends a new JSON array member named `name` to this object. The newly appended array is empty
414
+ * and the returned `JsonArray` references that array in this document, so changes made through it
415
+ * modify the same JSON tree.
416
+ *
417
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
418
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
419
+ *
420
+ * @throws Error if the call fails (the message names the reason); the full log is in
421
+ * {@link JsonObject.lastErrorText}.
422
+ */
423
+ appendArray(name: string): JsonArray
424
+
425
+ /**
426
+ * Appends a new JSON boolean member named `name` to this object. The value is taken from `value`.
427
+ *
428
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
429
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
430
+ *
431
+ * @throws Error if the call fails (the message names the reason); the full log is in
432
+ * {@link JsonObject.lastErrorText}.
433
+ */
434
+ appendBool(name: string, value: boolean): void
435
+
436
+ /**
437
+ * Appends a new JSON number member named `name` to this object. The integer value is stored as a
438
+ * JSON number.
439
+ *
440
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
441
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
442
+ *
443
+ * @throws Error if the call fails (the message names the reason); the full log is in
444
+ * {@link JsonObject.lastErrorText}.
445
+ */
446
+ appendInt(name: string, value: number): void
447
+
448
+ /**
449
+ * Appends a new JSON object member named `name` to this object. The newly appended object is
450
+ * empty and the returned `JsonObject` references that object in this document.
451
+ *
452
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
453
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
454
+ *
455
+ * @throws Error if the call fails (the message names the reason); the full log is in
456
+ * {@link JsonObject.lastErrorText}.
457
+ */
458
+ appendObject(name: string): JsonObject
459
+
460
+ /**
461
+ * Appends a new JSON string member named `name` to this object. The value is JSON-escaped as
462
+ * needed when emitted.
463
+ *
464
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
465
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
466
+ *
467
+ * @throws Error if the call fails (the message names the reason); the full log is in
468
+ * {@link JsonObject.lastErrorText}.
469
+ */
470
+ appendString(name: string, value: string): void
471
+
472
+ /**
473
+ * Returns the JSON array stored in the member at zero-based position `index`. The returned
474
+ * `JsonArray` references the existing array in the same document; it is not a detached copy.
475
+ *
476
+ * **Type requirement:** The member at `index` must be an array. Use `TypeAt` when the member type
477
+ * is not already known.
478
+ *
479
+ * @throws Error if the call fails (the message names the reason); the full log is in
480
+ * {@link JsonObject.lastErrorText}.
481
+ */
482
+ arrayAt(index: number): JsonArray
483
+
484
+ /**
485
+ * Returns the JSON array at `jsonPath`. The returned `JsonArray` references the existing array in
486
+ * the same document, so modifications through it are reflected in the parent JSON.
487
+ *
488
+ * **JSON paths:** Paths are relative to this object and may include object-member separators and
489
+ * array indexes, for example `orders[0].items`.
490
+ *
491
+ * @throws Error if the call fails (the message names the reason); the full log is in
492
+ * {@link JsonObject.lastErrorText}.
493
+ */
494
+ arrayOf(jsonPath: string): JsonArray
495
+
496
+ /**
497
+ * Returns the boolean value of the member at zero-based position `index`.
498
+ *
499
+ * **Indexing:** Member indexes are based on the order maintained by this `JsonObject` instance.
500
+ * JSON objects are semantically unordered, so application protocols should normally identify
501
+ * values by member name rather than by position.
502
+ */
503
+ boolAt(index: number): boolean
504
+
505
+ /**
506
+ * Returns the boolean value at `jsonPath`. The path is evaluated relative to this `JsonObject`,
507
+ * after applying `PathPrefix` if one is set.
508
+ */
509
+ boolOf(jsonPath: string): boolean
510
+
511
+ /**
512
+ * Deletes the direct member named `name` from this JSON object.
513
+ *
514
+ * **Not a path:** `name` is a member name, not a JSON path. Use a path-based operation when
515
+ * deleting or replacing a nested value requires navigation first.
516
+ *
517
+ * @throws Error if the call fails (the message names the reason); the full log is in
518
+ * {@link JsonObject.lastErrorText}.
519
+ */
520
+ deleteMember(name: string): void
521
+
522
+ /**
523
+ * Deletes the member at zero-based position `index`. Members after the deleted position shift
524
+ * toward the beginning.
525
+ *
526
+ * @throws Error if the call fails (the message names the reason); the full log is in
527
+ * {@link JsonObject.lastErrorText}.
528
+ */
529
+ deleteAt(index: number): void
530
+
531
+ /**
532
+ * Serializes the JSON document rooted at this object and returns the JSON text. Formatting is
533
+ * controlled by `EmitCompact` and, for pretty output, `EmitCrLf`.
534
+ *
535
+ * **Object member order:** Chilkat emits members in its maintained order, but JSON object
536
+ * ordering is not semantically significant under RFC 8259.
537
+ *
538
+ * @throws Error if the call fails (the message names the reason); the full log is in
539
+ * {@link JsonObject.lastErrorText}.
540
+ */
541
+ emit(): string
542
+
543
+ /**
544
+ * Applies a Firebase Realtime Database event to this JSON object. `name` should be `put` or
545
+ * `patch`, and `data` should contain event JSON such as `{"path":"/","data":{"a":1,"b":2}}`.
546
+ *
547
+ * **Purpose:** This method is useful when maintaining a local JSON representation from Firebase
548
+ * server-sent events: `put` replaces the value at a path, while `patch` updates individual child
549
+ * keys.
550
+ *
551
+ * @throws Error if the call fails (the message names the reason); the full log is in
552
+ * {@link JsonObject.lastErrorText}.
553
+ */
554
+ firebaseApplyEvent(name: string, data: string): void
555
+
556
+ /**
557
+ * Applies Firebase-style patch semantics at `jsonPath`. `jsonData` must contain a JSON object;
558
+ * each key in that object updates or adds the corresponding key at the target path.
559
+ *
560
+ * **Relative path:** `jsonPath` is relative to this `JsonObject`.
561
+ *
562
+ * @throws Error if the call fails (the message names the reason); the full log is in
563
+ * {@link JsonObject.lastErrorText}.
564
+ */
565
+ firebasePatch(jsonPath: string, jsonData: string): void
566
+
567
+ /**
568
+ * Applies Firebase-style put semantics at `jsonPath`, replacing or inserting the value at that
569
+ * path. `value` is JSON text and may represent an object, array, number, boolean, `null`, or a
570
+ * quoted JSON string.
571
+ *
572
+ * **Quoted strings:** To store a string through this method, `value` must contain a valid JSON
573
+ * string literal, including its surrounding double quotes. Use `UpdateString` when you already
574
+ * have an ordinary application string.
575
+ *
576
+ * @throws Error if the call fails (the message names the reason); the full log is in
577
+ * {@link JsonObject.lastErrorText}.
578
+ */
579
+ firebasePut(jsonPath: string, value: string): void
580
+
581
+ /**
582
+ * Returns a `JsonObject` reference to the root object of the JSON document containing this
583
+ * object. This can be called from any nested object reference.
584
+ *
585
+ * **Shared document lifetime:** Nested `JsonObject` references share the same underlying JSON
586
+ * document. The document remains available while at least one such reference is retained by the
587
+ * application.
588
+ *
589
+ * @throws Error if the call fails (the message names the reason); the full log is in
590
+ * {@link JsonObject.lastErrorText}.
591
+ */
592
+ getDocRoot(): JsonObject
593
+
594
+ /**
595
+ * Returns `true` if a value exists at `jsonPath`; otherwise returns `false`.
596
+ *
597
+ * **Missing vs. null:** A member whose JSON value is `null` still exists. Use `IsNullOf` to test
598
+ * specifically for JSON `null`.
599
+ */
600
+ hasMember(jsonPath: string): boolean
601
+
602
+ /**
603
+ * Returns the zero-based position of the direct member named `name`, or `-1` if that member name
604
+ * is not found.
605
+ *
606
+ * **Not a path:** `name` is searched only among the direct members of this object.
607
+ */
608
+ indexOf(name: string): number
609
+
610
+ /**
611
+ * Returns the integer value of the member at zero-based position `index`.
612
+ *
613
+ * **Indexing:** Member indexes are based on the order maintained by this `JsonObject` instance.
614
+ * JSON objects are semantically unordered, so application protocols should normally identify
615
+ * values by member name rather than by position.
616
+ */
617
+ intAt(index: number): number
618
+
619
+ /**
620
+ * Returns the integer value at `jsonPath`. The path is evaluated relative to this `JsonObject`,
621
+ * after applying `PathPrefix` if one is set.
622
+ *
623
+ * **Large numbers:** Use `StringOf` or the exact numeric-text APIs when a JSON integer may exceed
624
+ * the range of the language binding's integer type.
625
+ */
626
+ intOf(jsonPath: string): number
627
+
628
+ /**
629
+ * Returns `true` if the member at zero-based position `index` has the JSON value `null`;
630
+ * otherwise returns `false`.
631
+ */
632
+ isNullAt(index: number): boolean
633
+
634
+ /**
635
+ * Returns `true` if the value at `jsonPath` is the JSON literal `null`; otherwise returns
636
+ * `false`.
637
+ *
638
+ * **Null is a value:** JSON `null` is different from a missing member and from an empty string.
639
+ * Use `HasMember` when existence must be tested separately.
640
+ */
641
+ isNullOf(jsonPath: string): boolean
642
+
643
+ /**
644
+ * Parses the JSON text in `json` and loads the parsed data into this object for DOM-style access
645
+ * and modification.
646
+ *
647
+ * **JSON data model:** JSON values are strings, numbers, booleans, `null`, objects, or arrays.
648
+ * Object member names should be unique for interoperable JSON; RFC 8259 notes that consumers
649
+ * differ in how duplicate names are handled.
650
+ *
651
+ * @throws Error if the call fails (the message names the reason); the full log is in
652
+ * {@link JsonObject.lastErrorText}.
653
+ */
654
+ load(json: string): void
655
+
656
+ /**
657
+ * Reads JSON text from the file at `path`, parses it, and loads the result into this object.
658
+ *
659
+ * @throws Error if the call fails (the message names the reason); the full log is in
660
+ * {@link JsonObject.lastErrorText}.
661
+ */
662
+ loadFile(path: string): void
663
+
664
+ /**
665
+ * Returns the name of the member at zero-based position `index`. Use this with `Size` and
666
+ * `TypeAt` to iterate through an object's direct members.
667
+ *
668
+ * @throws Error if the call fails (the message names the reason); the full log is in
669
+ * {@link JsonObject.lastErrorText}.
670
+ */
671
+ nameAt(index: number): string
672
+
673
+ /**
674
+ * Returns the JSON object stored in the member at zero-based position `index`. The returned
675
+ * `JsonObject` references the existing child object in the same document; changes made through it
676
+ * modify that document.
677
+ *
678
+ * **Type requirement:** The member at `index` must be a JSON object. Use `TypeAt` when the type
679
+ * is not already known.
680
+ *
681
+ * @throws Error if the call fails (the message names the reason); the full log is in
682
+ * {@link JsonObject.lastErrorText}.
683
+ */
684
+ objectAt(index: number): JsonObject
685
+
686
+ /**
687
+ * Returns the JSON object at `jsonPath`. The returned object is a live reference into the same
688
+ * JSON document, not a copy.
689
+ *
690
+ * **Relative paths:** A path is evaluated relative to the current object. Use `GetDocRoot` when
691
+ * access must start from the document root.
692
+ *
693
+ * @throws Error if the call fails (the message names the reason); the full log is in
694
+ * {@link JsonObject.lastErrorText}.
695
+ */
696
+ objectOf(jsonPath: string): JsonObject
697
+
698
+ /**
699
+ * Renames the direct member `oldName` to `newName`. The member value and its position are
700
+ * otherwise unchanged.
701
+ *
702
+ * **JSON interoperability:** JSON object member names should be unique. Avoid renaming a member
703
+ * to a name already used by another member unless duplicate names are intentionally required.
704
+ *
705
+ * @throws Error if the call fails (the message names the reason); the full log is in
706
+ * {@link JsonObject.lastErrorText}.
707
+ */
708
+ rename(oldName: string, newName: string): void
709
+
710
+ /**
711
+ * Renames the member at zero-based position `index` to `name`. The member value is not changed.
712
+ *
713
+ * @throws Error if the call fails (the message names the reason); the full log is in
714
+ * {@link JsonObject.lastErrorText}.
715
+ */
716
+ renameAt(index: number, name: string): void
717
+
718
+ /**
719
+ * Sets the member at zero-based position `index` to a JSON boolean value.
720
+ *
721
+ * @throws Error if the call fails (the message names the reason); the full log is in
722
+ * {@link JsonObject.lastErrorText}.
723
+ */
724
+ setBoolAt(index: number, value: boolean): void
725
+
726
+ /**
727
+ * Sets the value at `jsonPath` to a JSON boolean value.
728
+ *
729
+ * **Set vs. Update:** Use `UpdateBool` when missing objects or array positions along the path
730
+ * should be created automatically.
731
+ *
732
+ * @throws Error if the call fails (the message names the reason); the full log is in
733
+ * {@link JsonObject.lastErrorText}.
734
+ */
735
+ setBoolOf(jsonPath: string, value: boolean): void
736
+
737
+ /**
738
+ * Sets the member at zero-based position `index` to a JSON number value. The integer is emitted
739
+ * as a JSON number.
740
+ *
741
+ * @throws Error if the call fails (the message names the reason); the full log is in
742
+ * {@link JsonObject.lastErrorText}.
743
+ */
744
+ setIntAt(index: number, value: number): void
745
+
746
+ /**
747
+ * Sets the value at `jsonPath` to an integer JSON number.
748
+ *
749
+ * **Set vs. Update:** Use `UpdateInt` when missing objects or array positions along the path
750
+ * should be created automatically.
751
+ *
752
+ * @throws Error if the call fails (the message names the reason); the full log is in
753
+ * {@link JsonObject.lastErrorText}.
754
+ */
755
+ setIntOf(jsonPath: string, value: number): void
756
+
757
+ /**
758
+ * Sets the member at zero-based position `index` to a JSON null value.
759
+ *
760
+ * @throws Error if the call fails (the message names the reason); the full log is in
761
+ * {@link JsonObject.lastErrorText}.
762
+ */
763
+ setNullAt(index: number): void
764
+
765
+ /**
766
+ * Sets the value at `jsonPath` to a JSON null value.
767
+ *
768
+ * **Set vs. Update:** Use `UpdateNull` when missing objects or array positions along the path
769
+ * should be created automatically.
770
+ *
771
+ * @throws Error if the call fails (the message names the reason); the full log is in
772
+ * {@link JsonObject.lastErrorText}.
773
+ */
774
+ setNullOf(jsonPath: string): void
775
+
776
+ /**
777
+ * Sets the member at zero-based position `index` to a JSON number value. The `value` argument is
778
+ * the exact textual representation of the JSON number.
779
+ *
780
+ * **JSON number syntax:** The text may contain an integer, fraction, or exponent. It must be
781
+ * valid JSON number syntax; leading zeros (except for zero itself), `NaN`, and infinity are not
782
+ * valid JSON numbers.
783
+ *
784
+ * @throws Error if the call fails (the message names the reason); the full log is in
785
+ * {@link JsonObject.lastErrorText}.
786
+ */
787
+ setNumberAt(index: number, value: string): void
788
+
789
+ /**
790
+ * Sets the value at `jsonPath` to a JSON number value. The `value` argument supplies the exact
791
+ * textual form of the JSON number.
792
+ *
793
+ * **Set vs. Update:** Use `UpdateNumber` when missing objects or array positions along the path
794
+ * should be created automatically.
795
+ *
796
+ * **Precision:** Using numeric text avoids an intermediate conversion through a floating-point
797
+ * type and can therefore preserve large integers or application-specific decimal formatting.
798
+ *
799
+ * @throws Error if the call fails (the message names the reason); the full log is in
800
+ * {@link JsonObject.lastErrorText}.
801
+ */
802
+ setNumberOf(jsonPath: string, value: string): void
803
+
804
+ /**
805
+ * Sets the member at zero-based position `index` to a JSON string value. The string is escaped as
806
+ * required when JSON is emitted.
807
+ *
808
+ * @throws Error if the call fails (the message names the reason); the full log is in
809
+ * {@link JsonObject.lastErrorText}.
810
+ */
811
+ setStringAt(index: number, value: string): void
812
+
813
+ /**
814
+ * Sets the value at `jsonPath` to a JSON string value. The string is escaped as required when
815
+ * JSON is emitted.
816
+ *
817
+ * **Set vs. Update:** Use `UpdateString` when missing objects or array positions along the path
818
+ * should be created automatically.
819
+ *
820
+ * @throws Error if the call fails (the message names the reason); the full log is in
821
+ * {@link JsonObject.lastErrorText}.
822
+ */
823
+ setStringOf(jsonPath: string, value: string): void
824
+
825
+ /**
826
+ * Returns the number of elements in the JSON array at `jsonPath`. Returns `-1` if the path does
827
+ * not resolve to an existing JSON array.
828
+ */
829
+ sizeOfArray(jsonPath: string): number
830
+
831
+ /**
832
+ * Returns the string value of the member at zero-based position `index`.
833
+ *
834
+ * **Indexing:** Member indexes are based on the order maintained by this `JsonObject` instance.
835
+ * JSON objects are semantically unordered, so application protocols should normally identify
836
+ * values by member name rather than by position.
837
+ *
838
+ * **Non-string values:** `StringOf` can also provide textual representations of scalar JSON
839
+ * values such as numbers, booleans, and `null`; use the type-specific methods when the JSON type
840
+ * itself matters.
841
+ *
842
+ * @throws Error if the call fails (the message names the reason); the full log is in
843
+ * {@link JsonObject.lastErrorText}.
844
+ */
845
+ stringAt(index: number): string
846
+
847
+ /**
848
+ * Returns the value at `jsonPath` as text. For a JSON string, the string value is returned.
849
+ * Scalar non-string values such as numbers, booleans, and `null` are returned using their JSON
850
+ * textual representation.
851
+ *
852
+ * **Type-sensitive code:** Use `JsonTypeOf`, `IntOf`, `BoolOf`, or `IsNullOf` when the
853
+ * distinction between JSON types is important.
854
+ *
855
+ * @throws Error if the call fails (the message names the reason); the full log is in
856
+ * {@link JsonObject.lastErrorText}.
857
+ */
858
+ stringOf(jsonPath: string): string
859
+
860
+ /**
861
+ * Returns an integer identifying the JSON type of the member at zero-based position `index`.
862
+ * Returns `-1` if no member exists at that index.
863
+ *
864
+ * | `1` | | string |
865
+ *
866
+ * | `2` | | number |
867
+ *
868
+ * | `3` | | object |
869
+ *
870
+ * | `4` | | array |
871
+ *
872
+ * | `5` | | boolean |
873
+ *
874
+ * | `6` | | null |
875
+ */
876
+ typeAt(index: number): number
877
+
878
+ /**
879
+ * Parses JSON from the current contents of `sb` and loads it into this object.
880
+ *
881
+ * @throws Error if the call fails (the message names the reason); the full log is in
882
+ * {@link JsonObject.lastErrorText}.
883
+ */
884
+ loadSb(sb: StringBuilder): void
885
+
886
+ /**
887
+ * Serializes this JSON and appends the resulting text to `sb`. Formatting follows `EmitCompact`
888
+ * and `EmitCrLf`.
889
+ *
890
+ * **Append behavior:** Existing text in the destination `StringBuilder` is preserved; the emitted
891
+ * JSON is added after it.
892
+ *
893
+ * @throws Error if the call fails (the message names the reason); the full log is in
894
+ * {@link JsonObject.lastErrorText}.
895
+ */
896
+ emitSb(sb: StringBuilder): void
897
+
898
+ /**
899
+ * Updates the value at `jsonPath` to a JSON string value, or creates the member and any missing
900
+ * path components as needed. The supplied string is JSON-escaped as needed.
901
+ *
902
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
903
+ * the `I`/`J`/`K` index substitutions.
904
+ *
905
+ * **Version note:** Chilkat versions prior to 9.5.0.68 did not correctly escape all characters
906
+ * for this method. Version 9.5.0.68 and later correct that behavior.
907
+ *
908
+ * @throws Error if the call fails (the message names the reason); the full log is in
909
+ * {@link JsonObject.lastErrorText}.
910
+ */
911
+ updateString(jsonPath: string, value: string): void
912
+
913
+ /**
914
+ * Updates the value at `jsonPath` to a JSON number value, or creates the member and any missing
915
+ * path components as needed. The integer value is stored as a JSON number.
916
+ *
917
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
918
+ * the `I`/`J`/`K` index substitutions.
919
+ *
920
+ * @throws Error if the call fails (the message names the reason); the full log is in
921
+ * {@link JsonObject.lastErrorText}.
922
+ */
923
+ updateInt(jsonPath: string, value: number): void
924
+
925
+ /**
926
+ * Updates the value at `jsonPath` to a JSON boolean value, or creates the member and any missing
927
+ * path components as needed.
928
+ *
929
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
930
+ * the `I`/`J`/`K` index substitutions.
931
+ *
932
+ * @throws Error if the call fails (the message names the reason); the full log is in
933
+ * {@link JsonObject.lastErrorText}.
934
+ */
935
+ updateBool(jsonPath: string, value: boolean): void
936
+
937
+ /**
938
+ * Searches the JSON array at `arrayPath` for the first object whose value at relative path
939
+ * `relPath` equals or wildcard-matches `value`. The `caseSensitive` argument controls string
940
+ * comparison. Returns the matching record object.
941
+ *
942
+ * **Wildcard matching:** The search value may contain `*` to match zero or more characters.
943
+ * `relPath` is evaluated relative to each record object in the array.
944
+ *
945
+ * @throws Error if the call fails (the message names the reason); the full log is in
946
+ * {@link JsonObject.lastErrorText}.
947
+ */
948
+ findRecord(arrayPath: string, relPath: string, value: string, caseSensitive: boolean): JsonObject
949
+
950
+ /**
951
+ * Searches the JSON array at `arrayPath` for the first record whose `relPath` value equals or
952
+ * wildcard-matches `value`, then returns the value at `retRelPath` from that same record as a
953
+ * string.
954
+ *
955
+ * **Typical use:** This is useful for lookups such as “find the record where `Name` is
956
+ * `Advertising` and return its `Id`.” The `*` wildcard may be used in `value`.
957
+ *
958
+ * @throws Error if the call fails (the message names the reason); the full log is in
959
+ * {@link JsonObject.lastErrorText}.
960
+ */
961
+ findRecordString(arrayPath: string, relPath: string, value: string, caseSensitive: boolean, retRelPath: string): string
962
+
963
+ /**
964
+ * Updates the value at `jsonPath` to a JSON number value, or creates the member and any missing
965
+ * path components as needed. The `numericStr` argument is stored as the exact textual
966
+ * representation of the JSON number.
967
+ *
968
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
969
+ * the `I`/`J`/`K` index substitutions.
970
+ *
971
+ * **When to use:** Use `UpdateNumber` instead of `UpdateInt` for decimal/exponent forms, very
972
+ * large integers, or when preserving exact numeric text is important.
973
+ *
974
+ * @throws Error if the call fails (the message names the reason); the full log is in
975
+ * {@link JsonObject.lastErrorText}.
976
+ */
977
+ updateNumber(jsonPath: string, numericStr: string): void
978
+
979
+ /**
980
+ * Updates the value at `jsonPath` to a JSON null value, or creates the member and any missing
981
+ * path components as needed.
982
+ *
983
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
984
+ * the `I`/`J`/`K` index substitutions.
985
+ *
986
+ * @throws Error if the call fails (the message names the reason); the full log is in
987
+ * {@link JsonObject.lastErrorText}.
988
+ */
989
+ updateNull(jsonPath: string): void
990
+
991
+ /**
992
+ * Serializes the JSON after substituting variables from `subs` into template strings. A
993
+ * placeholder such as `{$name}` is replaced by the corresponding hashtable value. Prefixing the
994
+ * variable name with `i.`, as in `{$i.count}`, emits the substituted value as a JSON integer
995
+ * instead of a quoted string.
996
+ *
997
+ * If `omitEmpty` is `true`, members whose substituted result is an empty string or empty array
998
+ * are omitted from the emitted JSON.
999
+ *
1000
+ * **Template reuse:** This method does not require rebuilding the JSON template. It is commonly
1001
+ * paired with `Predefine` and `LoadPredefined` when the same JSON shape is emitted repeatedly
1002
+ * with different values.
1003
+ *
1004
+ * @throws Error if the call fails (the message names the reason); the full log is in
1005
+ * {@link JsonObject.lastErrorText}.
1006
+ */
1007
+ emitWithSubs(subs: Hashtable, omitEmpty: boolean): string
1008
+
1009
+ /**
1010
+ * Stores this JSON document in Chilkat's internal global collection of predefined JSON documents
1011
+ * under `name`. If the name already exists, the predefined value is replaced.
1012
+ *
1013
+ * **Template use:** After predefining a document, another `JsonObject` can load it by name with
1014
+ * `LoadPredefined`.
1015
+ *
1016
+ * @throws Error if the call fails (the message names the reason); the full log is in
1017
+ * {@link JsonObject.lastErrorText}.
1018
+ */
1019
+ predefine(name: string): void
1020
+
1021
+ /**
1022
+ * Loads this object from the predefined JSON document identified by `name`. Predefined documents
1023
+ * are created with `Predefine`.
1024
+ *
1025
+ * @throws Error if the call fails (the message names the reason); the full log is in
1026
+ * {@link JsonObject.lastErrorText}.
1027
+ */
1028
+ loadPredefined(name: string): void
1029
+
1030
+ /**
1031
+ * Appends a new JSON array member named `name` to this object. The array is populated with the
1032
+ * strings contained in `values`.
1033
+ *
1034
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
1035
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
1036
+ *
1037
+ * @throws Error if the call fails (the message names the reason); the full log is in
1038
+ * {@link JsonObject.lastErrorText}.
1039
+ */
1040
+ appendStringArray(name: string, values: StringTable): void
1041
+
1042
+ /**
1043
+ * Recursively searches this JSON subtree for the first JSON object containing a direct member
1044
+ * named `name`. Returns that object, or _NULL_ if no matching object is found.
1045
+ *
1046
+ * @throws Error if the call fails (the message names the reason); the full log is in
1047
+ * {@link JsonObject.lastErrorText}.
1048
+ */
1049
+ findObjectWithMember(name: string): JsonObject
1050
+
1051
+ /**
1052
+ * Returns an integer identifying the JSON type of the value at `jsonPath`. Returns `-1` if no
1053
+ * member exists at that path.
1054
+ *
1055
+ * | `1` | | string |
1056
+ *
1057
+ * | `2` | | number |
1058
+ *
1059
+ * | `3` | | object |
1060
+ *
1061
+ * | `4` | | array |
1062
+ *
1063
+ * | `5` | | boolean |
1064
+ *
1065
+ * | `6` | | null |
1066
+ */
1067
+ jsonTypeOf(jsonPath: string): number
1068
+
1069
+ /**
1070
+ * Retrieves the value at `jsonPath` as text and appends it to `sb`.
1071
+ *
1072
+ * **Append behavior:** Existing contents of the destination `StringBuilder` are preserved.
1073
+ *
1074
+ * @throws Error if the call fails (the message names the reason); the full log is in
1075
+ * {@link JsonObject.lastErrorText}.
1076
+ */
1077
+ stringOfSb(jsonPath: string, sb: StringBuilder): void
1078
+
1079
+ /**
1080
+ * Reads the string value at `jsonPath`, decodes it using `encoding` (for example, `base64` or
1081
+ * `hex`), and appends the resulting bytes to `bd`.
1082
+ *
1083
+ * **Binary-in-JSON convention:** The JSON member itself is text. The `encoding` argument tells
1084
+ * Chilkat how that text represents the original bytes.
1085
+ *
1086
+ * @throws Error if the call fails (the message names the reason); the full log is in
1087
+ * {@link JsonObject.lastErrorText}.
1088
+ */
1089
+ bytesOf(jsonPath: string, encoding: string, bd: BinData): void
1090
+
1091
+ /**
1092
+ * Updates the value at `jsonPath` to a JSON string value, or creates the member and any missing
1093
+ * path components as needed. The new string value is taken from the contents of `sb`.
1094
+ *
1095
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
1096
+ * the `I`/`J`/`K` index substitutions.
1097
+ *
1098
+ * @throws Error if the call fails (the message names the reason); the full log is in
1099
+ * {@link JsonObject.lastErrorText}.
1100
+ */
1101
+ updateSb(jsonPath: string, sb: StringBuilder): void
1102
+
1103
+ /**
1104
+ * Updates the value at `jsonPath` to a JSON string value, or creates the member and any missing
1105
+ * path components as needed. The bytes in `bd` are first encoded according to `encoding` (for
1106
+ * example, `base64` or `hex`) and the encoded text is stored as the JSON string value.
1107
+ *
1108
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
1109
+ * the `I`/`J`/`K` index substitutions.
1110
+ *
1111
+ * **Binary data in JSON:** JSON has no native byte-array type. Binary content must therefore be
1112
+ * represented using a textual encoding agreed upon by the producer and consumer.
1113
+ *
1114
+ * @throws Error if the call fails (the message names the reason); the full log is in
1115
+ * {@link JsonObject.lastErrorText}.
1116
+ */
1117
+ updateBd(jsonPath: string, encoding: string, bd: BinData): void
1118
+
1119
+ /**
1120
+ * Parses the date/time value at `jsonPath` and loads the result into `dt`. Recognized forms
1121
+ * include ISO 8601 timestamps (for example, `2009-11-04T19:55:41Z`), RFC 822-style date/time
1122
+ * strings, and Unix timestamp integers.
1123
+ *
1124
+ * **JSON has no native date type:** Dates in JSON are application conventions, usually
1125
+ * represented as strings or numbers. This method recognizes common conventions and converts them
1126
+ * to `CkDateTime`.
1127
+ *
1128
+ * @throws Error if the call fails (the message names the reason); the full log is in
1129
+ * {@link JsonObject.lastErrorText}.
1130
+ */
1131
+ dateOf(jsonPath: string, dt: CkDateTime): void
1132
+
1133
+ /**
1134
+ * Parses the date/time value at `jsonPath` into `dt`. If `bLocal` is `true`, the destination
1135
+ * receives local date/time fields; otherwise it receives UTC/GMT fields. Recognized inputs
1136
+ * include ISO 8601 timestamps, RFC 822-style date/time strings, and Unix timestamp integers.
1137
+ *
1138
+ * @throws Error if the call fails (the message names the reason); the full log is in
1139
+ * {@link JsonObject.lastErrorText}.
1140
+ */
1141
+ dtOf(jsonPath: string, bLocal: boolean, dt: DtObj): void
1142
+
1143
+ /**
1144
+ * Creates or replaces the value at `jsonPath` with a new empty JSON array. Missing path
1145
+ * components are created automatically as needed.
1146
+ *
1147
+ * @throws Error if the call fails (the message names the reason); the full log is in
1148
+ * {@link JsonObject.lastErrorText}.
1149
+ */
1150
+ updateNewArray(jsonPath: string): void
1151
+
1152
+ /**
1153
+ * Creates or replaces the value at `jsonPath` with a new empty JSON object. Missing path
1154
+ * components are created automatically as needed.
1155
+ *
1156
+ * @throws Error if the call fails (the message names the reason); the full log is in
1157
+ * {@link JsonObject.lastErrorText}.
1158
+ */
1159
+ updateNewObject(jsonPath: string): void
1160
+
1161
+ /**
1162
+ * Removes all members from this JSON object, leaving an empty object equivalent to `{}`.
1163
+ */
1164
+ clear(): void
1165
+
1166
+ /**
1167
+ * Swaps the positions of the direct members at zero-based indexes `index1` and `index2`. Member
1168
+ * names and values are unchanged.
1169
+ *
1170
+ * **Ordering:** JSON object order is not semantically significant, but Chilkat preserves an order
1171
+ * for index-based access and emission.
1172
+ *
1173
+ * @throws Error if the call fails (the message names the reason); the full log is in
1174
+ * {@link JsonObject.lastErrorText}.
1175
+ */
1176
+ swap(index1: number, index2: number): void
1177
+
1178
+ /**
1179
+ * Serializes this JSON and writes it to the file at `path`. Output formatting follows
1180
+ * `EmitCompact` and `EmitCrLf`.
1181
+ *
1182
+ * @throws Error if the call fails (the message names the reason); the full log is in
1183
+ * {@link JsonObject.lastErrorText}.
1184
+ */
1185
+ writeFile(path: string): void
1186
+
1187
+ /**
1188
+ * Parses JSON from the bytes contained in `bd` and loads it into this object.
1189
+ *
1190
+ * @throws Error if the call fails (the message names the reason); the full log is in
1191
+ * {@link JsonObject.lastErrorText}.
1192
+ */
1193
+ loadBd(bd: BinData): void
1194
+
1195
+ /**
1196
+ * Serializes this JSON and appends the resulting bytes to `bd`.
1197
+ *
1198
+ * **Append behavior:** Existing data in the destination `BinData` is preserved.
1199
+ *
1200
+ * @throws Error if the call fails (the message names the reason); the full log is in
1201
+ * {@link JsonObject.lastErrorText}.
1202
+ */
1203
+ emitBd(bd: BinData): void
1204
+
1205
+ /**
1206
+ * Moves the direct member at zero-based position `fromIndex` to `toIndex`. Use `toIndex = 0` to
1207
+ * move it first or `-1` to move it last.
1208
+ *
1209
+ * @throws Error if the call fails (the message names the reason); the full log is in
1210
+ * {@link JsonObject.lastErrorText}.
1211
+ */
1212
+ moveMember(fromIndex: number, toIndex: number): void
1213
+
1214
+ /**
1215
+ * Inserts a new JSON array member named `name` at the zero-based member position `index`. The
1216
+ * array value is copied from `jarr`; subsequent changes to the source array do not modify the
1217
+ * inserted copy.
1218
+ *
1219
+ * | `0` | | Insert as the first member. |
1220
+ *
1221
+ * | `-1` | | Append as the last member. |
1222
+ *
1223
+ * | `n` | | Insert at zero-based position n. |
1224
+ *
1225
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
1226
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
1227
+ *
1228
+ * @throws Error if the call fails (the message names the reason); the full log is in
1229
+ * {@link JsonObject.lastErrorText}.
1230
+ */
1231
+ addArrayCopyAt(index: number, name: string, jarr: JsonArray): void
1232
+
1233
+ /**
1234
+ * Inserts a new JSON object member named `name` at the zero-based member position `index`. The
1235
+ * object value is copied from `jsonObj`; the inserted value is independent of the source.
1236
+ *
1237
+ * | `0` | | Insert as the first member. |
1238
+ *
1239
+ * | `-1` | | Append as the last member. |
1240
+ *
1241
+ * | `n` | | Insert at zero-based position n. |
1242
+ *
1243
+ * **Member name vs. JSON path:** `name` is a direct member name, not a JSON path. Use an
1244
+ * `Update*` or `Set*Of` method when addressing a nested value by path.
1245
+ *
1246
+ * @throws Error if the call fails (the message names the reason); the full log is in
1247
+ * {@link JsonObject.lastErrorText}.
1248
+ */
1249
+ addObjectCopyAt(index: number, name: string, jsonObj: JsonObject): void
1250
+
1251
+ /**
1252
+ * Appends a new JSON array member named `name` to this object. The array is copied from `jarr`,
1253
+ * so the appended array is independent of the source array.
1254
+ *
1255
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
1256
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
1257
+ *
1258
+ * @throws Error if the call fails (the message names the reason); the full log is in
1259
+ * {@link JsonObject.lastErrorText}.
1260
+ */
1261
+ appendArrayCopy(name: string, jarr: JsonArray): void
1262
+
1263
+ /**
1264
+ * Appends a new JSON object member named `name` to this object. The object is copied from
1265
+ * `jsonObj`, so the appended object is independent of the source object.
1266
+ *
1267
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
1268
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
1269
+ *
1270
+ * @throws Error if the call fails (the message names the reason); the full log is in
1271
+ * {@link JsonObject.lastErrorText}.
1272
+ */
1273
+ appendObjectCopy(name: string, jsonObj: JsonObject): void
1274
+
1275
+ /**
1276
+ * Deletes every object record in the array at `arrayPath` whose value at relative path `relpath`
1277
+ * equals or wildcard-matches `value`. The `caseSensitive` argument controls matching. Returns the
1278
+ * number of records deleted.
1279
+ */
1280
+ deleteRecords(arrayPath: string, relpath: string, value: string, caseSensitive: boolean): number
1281
+
1282
+ /**
1283
+ * Updates the value at `jsonPath` to a JSON number value, or creates the member and any missing
1284
+ * path components as needed. The unsigned integer is stored as a JSON number.
1285
+ *
1286
+ * **Path-based operation:** `jsonPath` is interpreted using `DelimiterChar`, `PathPrefix`, and
1287
+ * the `I`/`J`/`K` index substitutions.
1288
+ *
1289
+ * @throws Error if the call fails (the message names the reason); the full log is in
1290
+ * {@link JsonObject.lastErrorText}.
1291
+ */
1292
+ updateUInt(jsonPath: string, value: number): void
1293
+
1294
+ /**
1295
+ * Returns the unsigned integer value at `jsonPath`.
1296
+ */
1297
+ uIntOf(jsonPath: string): number
1298
+
1299
+ /**
1300
+ * Returns `true` if the textual value at `jsonPath` equals `value` according to the
1301
+ * `caseSensitive` setting; otherwise returns `false`.
1302
+ */
1303
+ stringOfEquals(jsonPath: string, value: string, caseSensitive: boolean): boolean
1304
+
1305
+ /**
1306
+ * Sorts this object's direct members by member name. `ascending` selects ascending or descending
1307
+ * order, and `caseSensitive` controls how names are compared.
1308
+ *
1309
+ * **JSON semantics:** Member ordering is not significant to JSON consumers, but sorting can make
1310
+ * emitted JSON deterministic and easier to compare or review.
1311
+ */
1312
+ sort(ascending: boolean, caseSensitive: boolean): void
1313
+
1314
+ /**
1315
+ * Appends a new JSON array member named `name` to this object. A new empty array is created and
1316
+ * `jarr` is updated to reference it. The method returns `true` on success.
1317
+ *
1318
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
1319
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
1320
+ *
1321
+ * @throws Error if the call fails (the message names the reason); the full log is in
1322
+ * {@link JsonObject.lastErrorText}.
1323
+ */
1324
+ appendArray2(name: string, jarr: JsonArray): void
1325
+
1326
+ /**
1327
+ * Appends a new JSON object member named `name` to this object. A new empty object is created and
1328
+ * `jsonObj` is updated to reference it. The method returns `true` on success.
1329
+ *
1330
+ * **Member name vs. JSON path:** `name` is a direct member name. It is not interpreted as a JSON
1331
+ * path. Use the corresponding `Update*` method when a nested path should be addressed or created.
1332
+ *
1333
+ * @throws Error if the call fails (the message names the reason); the full log is in
1334
+ * {@link JsonObject.lastErrorText}.
1335
+ */
1336
+ appendObject2(name: string, jsonObj: JsonObject): void
1337
+
1338
+ /**
1339
+ * Updates `jarr` to reference the JSON array stored at zero-based member position `index` and
1340
+ * returns `true` on success.
1341
+ *
1342
+ * @throws Error if the call fails (the message names the reason); the full log is in
1343
+ * {@link JsonObject.lastErrorText}.
1344
+ */
1345
+ arrayAt2(index: number, jarr: JsonArray): void
1346
+
1347
+ /**
1348
+ * Updates `jsonObj` to reference the JSON object stored at zero-based member position `index` and
1349
+ * returns `true` on success.
1350
+ *
1351
+ * @throws Error if the call fails (the message names the reason); the full log is in
1352
+ * {@link JsonObject.lastErrorText}.
1353
+ */
1354
+ objectAt2(index: number, jsonObj: JsonObject): void
1355
+
1356
+ /**
1357
+ * Copies this JSON object into `json`. The destination receives an independent JSON copy rather
1358
+ * than another reference to the same underlying object.
1359
+ *
1360
+ * **Copy vs. reference:** Use `CopyRef` when two `JsonObject` instances should refer to the same
1361
+ * JSON object instead of duplicating its data.
1362
+ *
1363
+ * @throws Error if the call fails (the message names the reason); the full log is in
1364
+ * {@link JsonObject.lastErrorText}.
1365
+ */
1366
+ makeCopy(json: JsonObject): void
1367
+
1368
+ /**
1369
+ * Updates `jsonObj` so that it references the same JSON object as the caller. No JSON data is
1370
+ * copied.
1371
+ *
1372
+ * **Shared state:** After this call, modifications through either reference affect the same
1373
+ * underlying JSON object.
1374
+ *
1375
+ * @throws Error if the call fails (the message names the reason); the full log is in
1376
+ * {@link JsonObject.lastErrorText}.
1377
+ */
1378
+ copyRef(jsonObj: JsonObject): void
1379
+
1380
+ /**
1381
+ * Recursively searches this JSON subtree for the first object containing a direct member named
1382
+ * `name`. On success, `jsonObj` is updated to reference the matching object and the method
1383
+ * returns `true`.
1384
+ *
1385
+ * @throws Error if the call fails (the message names the reason); the full log is in
1386
+ * {@link JsonObject.lastErrorText}.
1387
+ */
1388
+ findObjectWithMember2(name: string, jsonObj: JsonObject): void
1389
+
1390
+ /**
1391
+ * Searches the JSON array at `arrayPath` using the same matching rules as `FindRecord`. On
1392
+ * success, `jsonObj` is updated to reference the first matching record and the method returns
1393
+ * `true`.
1394
+ *
1395
+ * **Reference semantics:** The destination references the record in the original JSON document;
1396
+ * changes made through `jsonObj` modify that record.
1397
+ *
1398
+ * @throws Error if the call fails (the message names the reason); the full log is in
1399
+ * {@link JsonObject.lastErrorText}.
1400
+ */
1401
+ findRecord2(arrayPath: string, relPath: string, value: string, caseSensitive: boolean, jsonObj: JsonObject): void
1402
+
1403
+ /**
1404
+ * Updates `docRoot` to reference the root object of the JSON document containing the caller and
1405
+ * returns `true` on success.
1406
+ *
1407
+ * **Reference semantics:** The destination is another reference into the same underlying
1408
+ * document; it is not a copy.
1409
+ *
1410
+ * @throws Error if the call fails (the message names the reason); the full log is in
1411
+ * {@link JsonObject.lastErrorText}.
1412
+ */
1413
+ getDocRoot2(docRoot: JsonObject): void
1414
+
1415
+ /**
1416
+ * Updates `jsonObj` to reference the JSON object at `jsonPath` and returns `true` on success.
1417
+ *
1418
+ * @throws Error if the call fails (the message names the reason); the full log is in
1419
+ * {@link JsonObject.lastErrorText}.
1420
+ */
1421
+ objectOf2(jsonPath: string, jsonObj: JsonObject): void
1422
+
1423
+ /**
1424
+ * Updates `jarr` to reference the JSON array at `jsonPath` and returns `true` on success.
1425
+ *
1426
+ * @throws Error if the call fails (the message names the reason); the full log is in
1427
+ * {@link JsonObject.lastErrorText}.
1428
+ */
1429
+ arrayOf2(jsonPath: string, jarr: JsonArray): void
1430
+
1431
+ /**
1432
+ * Creates a JSON object at `path` and loads that object from the JSON text in `jObj`. The
1433
+ * supplied text should represent a JSON object.
1434
+ *
1435
+ * **Difference from UpdateNewObject:** `UpdateNewObject` creates an empty object. `NewObjectOf`
1436
+ * creates the object and immediately populates it from JSON text.
1437
+ *
1438
+ * @throws Error if the call fails (the message names the reason); the full log is in
1439
+ * {@link JsonObject.lastErrorText}.
1440
+ */
1441
+ newObjectOf(path: string, jObj: string): void
1442
+
1443
+ /**
1444
+ * Creates a JSON array at `path` and loads that array from the JSON text in `jArr`. The supplied
1445
+ * text should represent a JSON array.
1446
+ *
1447
+ * **Difference from UpdateNewArray:** `UpdateNewArray` creates an empty array. `NewArrayOf`
1448
+ * creates the array and immediately populates it from JSON text.
1449
+ *
1450
+ * @throws Error if the call fails (the message names the reason); the full log is in
1451
+ * {@link JsonObject.lastErrorText}.
1452
+ */
1453
+ newArrayOf(path: string, jArr: string): void
1454
+ }