@jsonjoy.com/json-pack 1.21.0 → 17.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/lib/JsonPackExtension.d.ts +8 -0
  2. package/lib/JsonPackExtension.js +8 -0
  3. package/lib/JsonPackExtension.js.map +1 -1
  4. package/lib/JsonPackMpint.d.ts +25 -0
  5. package/lib/JsonPackMpint.js +31 -1
  6. package/lib/JsonPackMpint.js.map +1 -1
  7. package/lib/JsonPackValue.d.ts +10 -0
  8. package/lib/JsonPackValue.js +10 -0
  9. package/lib/JsonPackValue.js.map +1 -1
  10. package/lib/avro/AvroDecoder.d.ts +67 -0
  11. package/lib/avro/AvroDecoder.js +77 -5
  12. package/lib/avro/AvroDecoder.js.map +1 -1
  13. package/lib/avro/AvroEncoder.d.ts +71 -0
  14. package/lib/avro/AvroEncoder.js +90 -12
  15. package/lib/avro/AvroEncoder.js.map +1 -1
  16. package/lib/avro/AvroSchemaDecoder.d.ts +53 -0
  17. package/lib/avro/AvroSchemaDecoder.js +60 -3
  18. package/lib/avro/AvroSchemaDecoder.js.map +1 -1
  19. package/lib/avro/AvroSchemaEncoder.d.ts +65 -0
  20. package/lib/avro/AvroSchemaEncoder.js +84 -5
  21. package/lib/avro/AvroSchemaEncoder.js.map +1 -1
  22. package/lib/avro/AvroSchemaValidator.d.ts +10 -0
  23. package/lib/avro/AvroSchemaValidator.js +18 -1
  24. package/lib/avro/AvroSchemaValidator.js.map +1 -1
  25. package/lib/avro/types.d.ts +31 -0
  26. package/lib/avro/types.js +4 -0
  27. package/lib/avro/types.js.map +1 -1
  28. package/lib/bencode/BencodeDecoder.js +9 -9
  29. package/lib/bencode/BencodeDecoder.js.map +1 -1
  30. package/lib/bencode/BencodeEncoder.d.ts +5 -0
  31. package/lib/bencode/BencodeEncoder.js +25 -20
  32. package/lib/bencode/BencodeEncoder.js.map +1 -1
  33. package/lib/bson/BsonDecoder.js +48 -33
  34. package/lib/bson/BsonDecoder.js.map +1 -1
  35. package/lib/bson/BsonEncoder.js +11 -3
  36. package/lib/bson/BsonEncoder.js.map +1 -1
  37. package/lib/cbor/CborDecoder.d.ts +24 -0
  38. package/lib/cbor/CborDecoder.js +94 -56
  39. package/lib/cbor/CborDecoder.js.map +1 -1
  40. package/lib/cbor/CborDecoderBase.d.ts +1 -0
  41. package/lib/cbor/CborDecoderBase.js +63 -53
  42. package/lib/cbor/CborDecoderBase.js.map +1 -1
  43. package/lib/cbor/CborEncoder.d.ts +5 -0
  44. package/lib/cbor/CborEncoder.js +9 -3
  45. package/lib/cbor/CborEncoder.js.map +1 -1
  46. package/lib/cbor/CborEncoderFast.d.ts +7 -0
  47. package/lib/cbor/CborEncoderFast.js +22 -14
  48. package/lib/cbor/CborEncoderFast.js.map +1 -1
  49. package/lib/cbor/CborEncoderStable.d.ts +1 -0
  50. package/lib/cbor/CborEncoderStable.js +2 -1
  51. package/lib/cbor/CborEncoderStable.js.map +1 -1
  52. package/lib/cbor/shared.d.ts +1 -1
  53. package/lib/codecs/Codecs.d.ts +1 -1
  54. package/lib/codecs/cbor.js +1 -1
  55. package/lib/codecs/cbor.js.map +1 -1
  56. package/lib/codecs/json.js +1 -1
  57. package/lib/codecs/json.js.map +1 -1
  58. package/lib/codecs/msgpack.js +1 -1
  59. package/lib/codecs/msgpack.js.map +1 -1
  60. package/lib/ejson/EjsonDecoder.d.ts +5 -0
  61. package/lib/ejson/EjsonDecoder.js +72 -37
  62. package/lib/ejson/EjsonDecoder.js.map +1 -1
  63. package/lib/ejson/EjsonEncoder.d.ts +5 -0
  64. package/lib/ejson/EjsonEncoder.js +149 -114
  65. package/lib/ejson/EjsonEncoder.js.map +1 -1
  66. package/lib/ejson/index.js +1 -0
  67. package/lib/ejson/index.js.map +1 -1
  68. package/lib/ion/Import.d.ts +1 -1
  69. package/lib/ion/Import.js.map +1 -1
  70. package/lib/ion/IonDecoder.d.ts +0 -1
  71. package/lib/ion/IonDecoder.js +4 -3
  72. package/lib/ion/IonDecoder.js.map +1 -1
  73. package/lib/ion/IonDecoderBase.js +29 -18
  74. package/lib/ion/IonDecoderBase.js.map +1 -1
  75. package/lib/ion/IonEncoderFast.d.ts +1 -1
  76. package/lib/ion/IonEncoderFast.js +30 -30
  77. package/lib/ion/IonEncoderFast.js.map +1 -1
  78. package/lib/ion/ast.d.ts +4 -1
  79. package/lib/ion/symbols.d.ts +1 -1
  80. package/lib/json/JsonDecoder.js +72 -66
  81. package/lib/json/JsonDecoder.js.map +1 -1
  82. package/lib/json/JsonDecoderDag.js +14 -0
  83. package/lib/json/JsonDecoderDag.js.map +1 -1
  84. package/lib/json/JsonDecoderPartial.d.ts +22 -0
  85. package/lib/json/JsonDecoderPartial.js +30 -8
  86. package/lib/json/JsonDecoderPartial.js.map +1 -1
  87. package/lib/json/JsonEncoder.d.ts +5 -0
  88. package/lib/json/JsonEncoder.js +59 -51
  89. package/lib/json/JsonEncoder.js.map +1 -1
  90. package/lib/json/JsonEncoderDag.d.ts +17 -0
  91. package/lib/json/JsonEncoderDag.js +27 -10
  92. package/lib/json/JsonEncoderDag.js.map +1 -1
  93. package/lib/json/JsonEncoderStable.js +5 -5
  94. package/lib/json/JsonEncoderStable.js.map +1 -1
  95. package/lib/json-binary/codec.d.ts +8 -1
  96. package/lib/json-binary/codec.js +7 -0
  97. package/lib/json-binary/codec.js.map +1 -1
  98. package/lib/msgpack/MsgPackDecoder.d.ts +27 -0
  99. package/lib/msgpack/MsgPackDecoder.js +55 -23
  100. package/lib/msgpack/MsgPackDecoder.js.map +1 -1
  101. package/lib/msgpack/MsgPackDecoderFast.d.ts +8 -0
  102. package/lib/msgpack/MsgPackDecoderFast.js +14 -5
  103. package/lib/msgpack/MsgPackDecoderFast.js.map +1 -1
  104. package/lib/msgpack/MsgPackEncoder.d.ts +3 -0
  105. package/lib/msgpack/MsgPackEncoder.js +7 -4
  106. package/lib/msgpack/MsgPackEncoder.js.map +1 -1
  107. package/lib/msgpack/MsgPackEncoderFast.d.ts +26 -4
  108. package/lib/msgpack/MsgPackEncoderFast.js +31 -0
  109. package/lib/msgpack/MsgPackEncoderFast.js.map +1 -1
  110. package/lib/msgpack/MsgPackEncoderStable.d.ts +3 -0
  111. package/lib/msgpack/MsgPackEncoderStable.js +3 -0
  112. package/lib/msgpack/MsgPackEncoderStable.js.map +1 -1
  113. package/lib/msgpack/MsgPackToJsonConverter.d.ts +30 -4
  114. package/lib/msgpack/MsgPackToJsonConverter.js +32 -5
  115. package/lib/msgpack/MsgPackToJsonConverter.js.map +1 -1
  116. package/lib/msgpack/index.d.ts +29 -0
  117. package/lib/msgpack/index.js +30 -0
  118. package/lib/msgpack/index.js.map +1 -1
  119. package/lib/msgpack/shallow-read.js +7 -7
  120. package/lib/msgpack/shallow-read.js.map +1 -1
  121. package/lib/msgpack/types.d.ts +1 -0
  122. package/lib/msgpack/util.d.ts +1 -1
  123. package/lib/nfs/v3/FullNfsv3Encoder.d.ts +3 -3
  124. package/lib/nfs/v3/FullNfsv3Encoder.js +3 -3
  125. package/lib/nfs/v3/FullNfsv3Encoder.js.map +1 -1
  126. package/lib/nfs/v3/Nfsv3Decoder.js +51 -50
  127. package/lib/nfs/v3/Nfsv3Decoder.js.map +1 -1
  128. package/lib/nfs/v3/Nfsv3Encoder.d.ts +2 -2
  129. package/lib/nfs/v3/Nfsv3Encoder.js +52 -52
  130. package/lib/nfs/v3/Nfsv3Encoder.js.map +1 -1
  131. package/lib/nfs/v3/constants.d.ts +34 -0
  132. package/lib/nfs/v3/constants.js +4 -0
  133. package/lib/nfs/v3/constants.js.map +1 -1
  134. package/lib/nfs/v3/locks/NlmDecoder.js +20 -20
  135. package/lib/nfs/v3/locks/NlmDecoder.js.map +1 -1
  136. package/lib/nfs/v3/locks/NlmEncoder.d.ts +2 -2
  137. package/lib/nfs/v3/locks/NlmEncoder.js +20 -20
  138. package/lib/nfs/v3/locks/NlmEncoder.js.map +1 -1
  139. package/lib/nfs/v3/locks/constants.d.ts +9 -0
  140. package/lib/nfs/v3/locks/messages.d.ts +58 -1
  141. package/lib/nfs/v3/locks/messages.js +54 -0
  142. package/lib/nfs/v3/locks/messages.js.map +1 -1
  143. package/lib/nfs/v3/locks/structs.d.ts +15 -0
  144. package/lib/nfs/v3/locks/structs.js +15 -0
  145. package/lib/nfs/v3/locks/structs.js.map +1 -1
  146. package/lib/nfs/v3/messages.d.ts +249 -0
  147. package/lib/nfs/v3/messages.js +249 -0
  148. package/lib/nfs/v3/messages.js.map +1 -1
  149. package/lib/nfs/v3/mount/MountDecoder.js +12 -12
  150. package/lib/nfs/v3/mount/MountEncoder.d.ts +2 -2
  151. package/lib/nfs/v3/mount/MountEncoder.js +13 -13
  152. package/lib/nfs/v3/mount/MountEncoder.js.map +1 -1
  153. package/lib/nfs/v3/mount/constants.d.ts +9 -0
  154. package/lib/nfs/v3/mount/messages.d.ts +31 -1
  155. package/lib/nfs/v3/mount/messages.js +27 -0
  156. package/lib/nfs/v3/mount/messages.js.map +1 -1
  157. package/lib/nfs/v3/mount/structs.d.ts +15 -0
  158. package/lib/nfs/v3/mount/structs.js +15 -0
  159. package/lib/nfs/v3/mount/structs.js.map +1 -1
  160. package/lib/nfs/v3/structs.d.ts +78 -0
  161. package/lib/nfs/v3/structs.js +78 -0
  162. package/lib/nfs/v3/structs.js.map +1 -1
  163. package/lib/nfs/v4/Nfsv4Decoder.d.ts +0 -2
  164. package/lib/nfs/v4/Nfsv4Decoder.js +96 -102
  165. package/lib/nfs/v4/Nfsv4Decoder.js.map +1 -1
  166. package/lib/nfs/v4/Nfsv4Encoder.d.ts +2 -2
  167. package/lib/nfs/v4/Nfsv4Encoder.js +1 -1
  168. package/lib/nfs/v4/Nfsv4Encoder.js.map +1 -1
  169. package/lib/nfs/v4/Nfsv4FullEncoder.d.ts +4 -4
  170. package/lib/nfs/v4/Nfsv4FullEncoder.js +4 -4
  171. package/lib/nfs/v4/Nfsv4FullEncoder.js.map +1 -1
  172. package/lib/nfs/v4/attributes.d.ts +62 -0
  173. package/lib/nfs/v4/attributes.js +209 -147
  174. package/lib/nfs/v4/attributes.js.map +1 -1
  175. package/lib/nfs/v4/builder.d.ts +274 -1
  176. package/lib/nfs/v4/builder.js +283 -10
  177. package/lib/nfs/v4/builder.js.map +1 -1
  178. package/lib/nfs/v4/client/NfsFsDir.d.ts +4 -1
  179. package/lib/nfs/v4/client/NfsFsDir.js +8 -5
  180. package/lib/nfs/v4/client/NfsFsDir.js.map +1 -1
  181. package/lib/nfs/v4/client/NfsFsDirent.d.ts +3 -0
  182. package/lib/nfs/v4/client/NfsFsDirent.js +10 -7
  183. package/lib/nfs/v4/client/NfsFsDirent.js.map +1 -1
  184. package/lib/nfs/v4/client/NfsFsFileHandle.d.ts +4 -3
  185. package/lib/nfs/v4/client/NfsFsFileHandle.js +13 -10
  186. package/lib/nfs/v4/client/NfsFsFileHandle.js.map +1 -1
  187. package/lib/nfs/v4/client/NfsFsStats.d.ts +3 -0
  188. package/lib/nfs/v4/client/NfsFsStats.js +10 -7
  189. package/lib/nfs/v4/client/NfsFsStats.js.map +1 -1
  190. package/lib/nfs/v4/client/Nfsv4FsClient.d.ts +2 -3
  191. package/lib/nfs/v4/client/Nfsv4FsClient.js +92 -92
  192. package/lib/nfs/v4/client/Nfsv4FsClient.js.map +1 -1
  193. package/lib/nfs/v4/client/Nfsv4TcpClient.d.ts +6 -6
  194. package/lib/nfs/v4/client/Nfsv4TcpClient.js +3 -3
  195. package/lib/nfs/v4/client/Nfsv4TcpClient.js.map +1 -1
  196. package/lib/nfs/v4/client/types.d.ts +1 -1
  197. package/lib/nfs/v4/constants.d.ts +78 -1
  198. package/lib/nfs/v4/format.d.ts +1 -1
  199. package/lib/nfs/v4/format.js +229 -229
  200. package/lib/nfs/v4/format.js.map +1 -1
  201. package/lib/nfs/v4/messages.js +101 -101
  202. package/lib/nfs/v4/messages.js.map +1 -1
  203. package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.d.ts +20 -1
  204. package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js +29 -8
  205. package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js.map +1 -1
  206. package/lib/nfs/v4/server/Nfsv4Connection.d.ts +6 -3
  207. package/lib/nfs/v4/server/Nfsv4Connection.js +11 -8
  208. package/lib/nfs/v4/server/Nfsv4Connection.js.map +1 -1
  209. package/lib/nfs/v4/server/Nfsv4TcpServer.d.ts +2 -3
  210. package/lib/nfs/v4/server/Nfsv4TcpServer.js +1 -0
  211. package/lib/nfs/v4/server/Nfsv4TcpServer.js.map +1 -1
  212. package/lib/nfs/v4/server/operations/ByteRangeLock.d.ts +69 -1
  213. package/lib/nfs/v4/server/operations/ByteRangeLock.js +43 -1
  214. package/lib/nfs/v4/server/operations/ByteRangeLock.js.map +1 -1
  215. package/lib/nfs/v4/server/operations/ClientRecord.d.ts +98 -1
  216. package/lib/nfs/v4/server/operations/ClientRecord.js +54 -1
  217. package/lib/nfs/v4/server/operations/ClientRecord.js.map +1 -1
  218. package/lib/nfs/v4/server/operations/FilesystemStats.d.ts +22 -1
  219. package/lib/nfs/v4/server/operations/FilesystemStats.js +16 -1
  220. package/lib/nfs/v4/server/operations/FilesystemStats.js.map +1 -1
  221. package/lib/nfs/v4/server/operations/LockOwnerState.d.ts +75 -2
  222. package/lib/nfs/v4/server/operations/LockOwnerState.js +43 -1
  223. package/lib/nfs/v4/server/operations/LockOwnerState.js.map +1 -1
  224. package/lib/nfs/v4/server/operations/LockStateid.d.ts +55 -1
  225. package/lib/nfs/v4/server/operations/LockStateid.js +37 -1
  226. package/lib/nfs/v4/server/operations/LockStateid.js.map +1 -1
  227. package/lib/nfs/v4/server/operations/Nfsv4Operations.d.ts +2 -1
  228. package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.d.ts +2 -2
  229. package/lib/nfs/v4/server/operations/OpenFileState.d.ts +90 -2
  230. package/lib/nfs/v4/server/operations/OpenFileState.js +52 -1
  231. package/lib/nfs/v4/server/operations/OpenFileState.js.map +1 -1
  232. package/lib/nfs/v4/server/operations/OpenOwnerState.d.ts +76 -2
  233. package/lib/nfs/v4/server/operations/OpenOwnerState.js +44 -1
  234. package/lib/nfs/v4/server/operations/OpenOwnerState.js.map +1 -1
  235. package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.d.ts +73 -3
  236. package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js +261 -187
  237. package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js.map +1 -1
  238. package/lib/nfs/v4/server/operations/node/attrs.d.ts +13 -1
  239. package/lib/nfs/v4/server/operations/node/attrs.js +75 -62
  240. package/lib/nfs/v4/server/operations/node/attrs.js.map +1 -1
  241. package/lib/nfs/v4/server/operations/node/fh.d.ts +67 -2
  242. package/lib/nfs/v4/server/operations/node/fh.js +83 -21
  243. package/lib/nfs/v4/server/operations/node/fh.js.map +1 -1
  244. package/lib/nfs/v4/server/operations/node/util.js +4 -4
  245. package/lib/nfs/v4/server/operations/node/util.js.map +1 -1
  246. package/lib/nfs/v4/server/util.d.ts +0 -1
  247. package/lib/nfs/v4/server/util.js +40 -40
  248. package/lib/nfs/v4/structs.d.ts +136 -4
  249. package/lib/nfs/v4/structs.js +129 -0
  250. package/lib/nfs/v4/structs.js.map +1 -1
  251. package/lib/resp/RespDecoder.d.ts +9 -0
  252. package/lib/resp/RespDecoder.js +93 -76
  253. package/lib/resp/RespDecoder.js.map +1 -1
  254. package/lib/resp/RespEncoder.d.ts +8 -0
  255. package/lib/resp/RespEncoder.js +107 -89
  256. package/lib/resp/RespEncoder.js.map +1 -1
  257. package/lib/resp/RespEncoderLegacy.d.ts +3 -0
  258. package/lib/resp/RespEncoderLegacy.js +7 -4
  259. package/lib/resp/RespEncoderLegacy.js.map +1 -1
  260. package/lib/resp/RespStreamingDecoder.d.ts +48 -0
  261. package/lib/resp/RespStreamingDecoder.js +48 -0
  262. package/lib/resp/RespStreamingDecoder.js.map +1 -1
  263. package/lib/resp/constants.d.ts +19 -19
  264. package/lib/rm/RmRecordEncoder.d.ts +15 -1
  265. package/lib/rm/RmRecordEncoder.js +15 -1
  266. package/lib/rm/RmRecordEncoder.js.map +1 -1
  267. package/lib/rpc/RpcMessageDecoder.d.ts +1 -1
  268. package/lib/rpc/RpcMessageDecoder.js +8 -7
  269. package/lib/rpc/RpcMessageDecoder.js.map +1 -1
  270. package/lib/rpc/RpcMessageEncoder.d.ts +2 -2
  271. package/lib/rpc/RpcMessageEncoder.js +6 -6
  272. package/lib/rpc/RpcMessageEncoder.js.map +1 -1
  273. package/lib/rpc/constants.d.ts +76 -28
  274. package/lib/rpc/constants.js +10 -0
  275. package/lib/rpc/constants.js.map +1 -1
  276. package/lib/ssh/SshDecoder.d.ts +46 -0
  277. package/lib/ssh/SshDecoder.js +52 -2
  278. package/lib/ssh/SshDecoder.js.map +1 -1
  279. package/lib/ssh/SshEncoder.d.ts +69 -0
  280. package/lib/ssh/SshEncoder.js +81 -8
  281. package/lib/ssh/SshEncoder.js.map +1 -1
  282. package/lib/ssh/index.d.ts +6 -0
  283. package/lib/ssh/index.js +6 -0
  284. package/lib/ssh/index.js.map +1 -1
  285. package/lib/ubjson/UbjsonDecoder.js +1 -1
  286. package/lib/ubjson/UbjsonDecoder.js.map +1 -1
  287. package/lib/ubjson/UbjsonEncoder.js +6 -5
  288. package/lib/ubjson/UbjsonEncoder.js.map +1 -1
  289. package/lib/util/CompressionTable.js +4 -4
  290. package/lib/util/CompressionTable.js.map +1 -1
  291. package/lib/util/DecompressionTable.js +3 -2
  292. package/lib/util/DecompressionTable.js.map +1 -1
  293. package/lib/ws/WsFrameDecoder.d.ts +18 -0
  294. package/lib/ws/WsFrameDecoder.js +18 -0
  295. package/lib/ws/WsFrameDecoder.js.map +1 -1
  296. package/lib/ws/WsFrameEncoder.d.ts +1 -1
  297. package/lib/ws/WsFrameEncoder.js +3 -3
  298. package/lib/ws/WsFrameEncoder.js.map +1 -1
  299. package/lib/ws/constants.js +5 -0
  300. package/lib/ws/constants.js.map +1 -1
  301. package/lib/xdr/XdrDecoder.d.ts +62 -0
  302. package/lib/xdr/XdrDecoder.js +73 -6
  303. package/lib/xdr/XdrDecoder.js.map +1 -1
  304. package/lib/xdr/XdrEncoder.d.ts +71 -0
  305. package/lib/xdr/XdrEncoder.js +88 -13
  306. package/lib/xdr/XdrEncoder.js.map +1 -1
  307. package/lib/xdr/XdrSchemaDecoder.d.ts +40 -0
  308. package/lib/xdr/XdrSchemaDecoder.js +52 -0
  309. package/lib/xdr/XdrSchemaDecoder.js.map +1 -1
  310. package/lib/xdr/XdrSchemaEncoder.d.ts +5 -0
  311. package/lib/xdr/XdrSchemaEncoder.js +9 -0
  312. package/lib/xdr/XdrSchemaEncoder.js.map +1 -1
  313. package/lib/xdr/XdrSchemaValidator.d.ts +9 -0
  314. package/lib/xdr/XdrSchemaValidator.js +42 -11
  315. package/lib/xdr/XdrSchemaValidator.js.map +1 -1
  316. package/lib/xdr/XdrUnion.d.ts +5 -0
  317. package/lib/xdr/XdrUnion.js +5 -0
  318. package/lib/xdr/XdrUnion.js.map +1 -1
  319. package/lib/xdr/index.d.ts +14 -0
  320. package/lib/xdr/index.js +14 -0
  321. package/lib/xdr/index.js.map +1 -1
  322. package/lib/xdr/types.d.ts +46 -0
  323. package/package.json +32 -55
@@ -1,167 +1,215 @@
1
1
  "use strict";
2
+ /**
3
+ * NFSv4 attribute metadata and classification.
4
+ * Based on RFC 7530 Section 5.
5
+ */
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
7
  exports.attrNumsToBitmap = exports.setBit = exports.requiresFsStats = exports.requiresLstat = exports.containsSetOnlyAttr = exports.overlaps = exports.parseBitmask = exports.FS_ATTRS = exports.STAT_ATTRS = exports.RECOMMENDED_ATTRS = exports.REQUIRED_ATTRS = exports.SET_ONLY_ATTRS = exports.GET_ONLY_ATTRS = exports.HOMOGENEOUS_ATTRS = exports.PER_FS_ATTRS = exports.PER_SERVER_ATTRS = void 0;
4
- exports.PER_SERVER_ATTRS = new Set([10]);
8
+ /**
9
+ * Per-server attributes (Section 5.4).
10
+ * These attributes are global to the entire server.
11
+ */
12
+ exports.PER_SERVER_ATTRS = new Set([10 /* Nfsv4Attr.FATTR4_LEASE_TIME */]);
13
+ /**
14
+ * Per-file system attributes (Section 5.4).
15
+ * These attributes are consistent across all objects within a given file system.
16
+ */
5
17
  exports.PER_FS_ATTRS = new Set([
6
- 0,
7
- 2,
8
- 5,
9
- 6,
10
- 9,
11
- 13,
12
- 15,
13
- 16,
14
- 17,
15
- 18,
16
- 21,
17
- 22,
18
- 23,
19
- 24,
20
- 26,
21
- 27,
22
- 29,
23
- 30,
24
- 31,
25
- 34,
26
- 42,
27
- 43,
28
- 44,
29
- 51,
18
+ 0 /* Nfsv4Attr.FATTR4_SUPPORTED_ATTRS */,
19
+ 2 /* Nfsv4Attr.FATTR4_FH_EXPIRE_TYPE */,
20
+ 5 /* Nfsv4Attr.FATTR4_LINK_SUPPORT */,
21
+ 6 /* Nfsv4Attr.FATTR4_SYMLINK_SUPPORT */,
22
+ 9 /* Nfsv4Attr.FATTR4_UNIQUE_HANDLES */,
23
+ 13 /* Nfsv4Attr.FATTR4_ACLSUPPORT */,
24
+ 15 /* Nfsv4Attr.FATTR4_CANSETTIME */,
25
+ 16 /* Nfsv4Attr.FATTR4_CASE_INSENSITIVE */,
26
+ 17 /* Nfsv4Attr.FATTR4_CASE_PRESERVING */,
27
+ 18 /* Nfsv4Attr.FATTR4_CHOWN_RESTRICTED */,
28
+ 21 /* Nfsv4Attr.FATTR4_FILES_AVAIL */,
29
+ 22 /* Nfsv4Attr.FATTR4_FILES_FREE */,
30
+ 23 /* Nfsv4Attr.FATTR4_FILES_TOTAL */,
31
+ 24 /* Nfsv4Attr.FATTR4_FS_LOCATIONS */,
32
+ 26 /* Nfsv4Attr.FATTR4_HOMOGENEOUS */,
33
+ 27 /* Nfsv4Attr.FATTR4_MAXFILESIZE */,
34
+ 29 /* Nfsv4Attr.FATTR4_MAXNAME */,
35
+ 30 /* Nfsv4Attr.FATTR4_MAXREAD */,
36
+ 31 /* Nfsv4Attr.FATTR4_MAXWRITE */,
37
+ 34 /* Nfsv4Attr.FATTR4_NO_TRUNC */,
38
+ 42 /* Nfsv4Attr.FATTR4_SPACE_AVAIL */,
39
+ 43 /* Nfsv4Attr.FATTR4_SPACE_FREE */,
40
+ 44 /* Nfsv4Attr.FATTR4_SPACE_TOTAL */,
41
+ 51 /* Nfsv4Attr.FATTR4_TIME_DELTA */,
30
42
  ]);
43
+ /**
44
+ * Attributes that must be the same for all objects within a file system (Section 5.4).
45
+ * These are always homogeneous.
46
+ */
31
47
  exports.HOMOGENEOUS_ATTRS = new Set([
32
- 0,
33
- 8,
34
- 26,
35
- 5,
36
- 6,
48
+ 0 /* Nfsv4Attr.FATTR4_SUPPORTED_ATTRS */,
49
+ 8 /* Nfsv4Attr.FATTR4_FSID */,
50
+ 26 /* Nfsv4Attr.FATTR4_HOMOGENEOUS */,
51
+ 5 /* Nfsv4Attr.FATTR4_LINK_SUPPORT */,
52
+ 6 /* Nfsv4Attr.FATTR4_SYMLINK_SUPPORT */,
37
53
  ]);
54
+ /**
55
+ * Read-only (get-only) attributes (Section 5.5).
56
+ * Can be retrieved via GETATTR but not set via SETATTR.
57
+ * Attempting to set these returns NFS4ERR_INVAL.
58
+ */
38
59
  exports.GET_ONLY_ATTRS = new Set([
39
- 0,
40
- 1,
41
- 2,
42
- 3,
43
- 5,
44
- 6,
45
- 7,
46
- 8,
47
- 9,
48
- 10,
49
- 11,
50
- 19,
51
- 13,
52
- 15,
53
- 16,
54
- 17,
55
- 18,
56
- 20,
57
- 21,
58
- 22,
59
- 23,
60
- 24,
61
- 26,
62
- 27,
63
- 28,
64
- 29,
65
- 30,
66
- 31,
67
- 55,
68
- 34,
69
- 35,
70
- 38,
71
- 39,
72
- 40,
73
- 41,
74
- 42,
75
- 43,
76
- 44,
77
- 45,
78
- 47,
79
- 51,
80
- 52,
81
- 53,
60
+ 0 /* Nfsv4Attr.FATTR4_SUPPORTED_ATTRS */,
61
+ 1 /* Nfsv4Attr.FATTR4_TYPE */,
62
+ 2 /* Nfsv4Attr.FATTR4_FH_EXPIRE_TYPE */,
63
+ 3 /* Nfsv4Attr.FATTR4_CHANGE */,
64
+ 5 /* Nfsv4Attr.FATTR4_LINK_SUPPORT */,
65
+ 6 /* Nfsv4Attr.FATTR4_SYMLINK_SUPPORT */,
66
+ 7 /* Nfsv4Attr.FATTR4_NAMED_ATTR */,
67
+ 8 /* Nfsv4Attr.FATTR4_FSID */,
68
+ 9 /* Nfsv4Attr.FATTR4_UNIQUE_HANDLES */,
69
+ 10 /* Nfsv4Attr.FATTR4_LEASE_TIME */,
70
+ 11 /* Nfsv4Attr.FATTR4_RDATTR_ERROR */,
71
+ 19 /* Nfsv4Attr.FATTR4_FILEHANDLE */,
72
+ 13 /* Nfsv4Attr.FATTR4_ACLSUPPORT */,
73
+ 15 /* Nfsv4Attr.FATTR4_CANSETTIME */,
74
+ 16 /* Nfsv4Attr.FATTR4_CASE_INSENSITIVE */,
75
+ 17 /* Nfsv4Attr.FATTR4_CASE_PRESERVING */,
76
+ 18 /* Nfsv4Attr.FATTR4_CHOWN_RESTRICTED */,
77
+ 20 /* Nfsv4Attr.FATTR4_FILEID */,
78
+ 21 /* Nfsv4Attr.FATTR4_FILES_AVAIL */,
79
+ 22 /* Nfsv4Attr.FATTR4_FILES_FREE */,
80
+ 23 /* Nfsv4Attr.FATTR4_FILES_TOTAL */,
81
+ 24 /* Nfsv4Attr.FATTR4_FS_LOCATIONS */,
82
+ 26 /* Nfsv4Attr.FATTR4_HOMOGENEOUS */,
83
+ 27 /* Nfsv4Attr.FATTR4_MAXFILESIZE */,
84
+ 28 /* Nfsv4Attr.FATTR4_MAXLINK */,
85
+ 29 /* Nfsv4Attr.FATTR4_MAXNAME */,
86
+ 30 /* Nfsv4Attr.FATTR4_MAXREAD */,
87
+ 31 /* Nfsv4Attr.FATTR4_MAXWRITE */,
88
+ 55 /* Nfsv4Attr.FATTR4_MOUNTED_ON_FILEID */,
89
+ 34 /* Nfsv4Attr.FATTR4_NO_TRUNC */,
90
+ 35 /* Nfsv4Attr.FATTR4_NUMLINKS */,
91
+ 38 /* Nfsv4Attr.FATTR4_QUOTA_AVAIL_HARD */,
92
+ 39 /* Nfsv4Attr.FATTR4_QUOTA_AVAIL_SOFT */,
93
+ 40 /* Nfsv4Attr.FATTR4_QUOTA_USED */,
94
+ 41 /* Nfsv4Attr.FATTR4_RAWDEV */,
95
+ 42 /* Nfsv4Attr.FATTR4_SPACE_AVAIL */,
96
+ 43 /* Nfsv4Attr.FATTR4_SPACE_FREE */,
97
+ 44 /* Nfsv4Attr.FATTR4_SPACE_TOTAL */,
98
+ 45 /* Nfsv4Attr.FATTR4_SPACE_USED */,
99
+ 47 /* Nfsv4Attr.FATTR4_TIME_ACCESS */,
100
+ 51 /* Nfsv4Attr.FATTR4_TIME_DELTA */,
101
+ 52 /* Nfsv4Attr.FATTR4_TIME_METADATA */,
102
+ 53 /* Nfsv4Attr.FATTR4_TIME_MODIFY */,
82
103
  ]);
83
- exports.SET_ONLY_ATTRS = new Set([48, 54]);
104
+ /**
105
+ * Write-only (set-only) attributes (Section 5.5).
106
+ * Can be set via SETATTR but not retrieved via GETATTR.
107
+ * Attempting to get these returns NFS4ERR_INVAL.
108
+ */
109
+ exports.SET_ONLY_ATTRS = new Set([48 /* Nfsv4Attr.FATTR4_TIME_ACCESS_SET */, 54 /* Nfsv4Attr.FATTR4_TIME_MODIFY_SET */]);
110
+ /**
111
+ * REQUIRED attributes (Section 5.6, Table 3).
112
+ * Server MUST support these attributes.
113
+ */
84
114
  exports.REQUIRED_ATTRS = new Set([
85
- 0,
86
- 1,
87
- 2,
88
- 3,
89
- 4,
90
- 5,
91
- 6,
92
- 7,
93
- 8,
94
- 9,
95
- 10,
96
- 11,
97
- 19,
115
+ 0 /* Nfsv4Attr.FATTR4_SUPPORTED_ATTRS */,
116
+ 1 /* Nfsv4Attr.FATTR4_TYPE */,
117
+ 2 /* Nfsv4Attr.FATTR4_FH_EXPIRE_TYPE */,
118
+ 3 /* Nfsv4Attr.FATTR4_CHANGE */,
119
+ 4 /* Nfsv4Attr.FATTR4_SIZE */,
120
+ 5 /* Nfsv4Attr.FATTR4_LINK_SUPPORT */,
121
+ 6 /* Nfsv4Attr.FATTR4_SYMLINK_SUPPORT */,
122
+ 7 /* Nfsv4Attr.FATTR4_NAMED_ATTR */,
123
+ 8 /* Nfsv4Attr.FATTR4_FSID */,
124
+ 9 /* Nfsv4Attr.FATTR4_UNIQUE_HANDLES */,
125
+ 10 /* Nfsv4Attr.FATTR4_LEASE_TIME */,
126
+ 11 /* Nfsv4Attr.FATTR4_RDATTR_ERROR */,
127
+ 19 /* Nfsv4Attr.FATTR4_FILEHANDLE */,
98
128
  ]);
129
+ /**
130
+ * RECOMMENDED attributes (Section 5.7, Table 4).
131
+ * Server SHOULD support these attributes.
132
+ */
99
133
  exports.RECOMMENDED_ATTRS = new Set([
100
- 12,
101
- 13,
102
- 14,
103
- 15,
104
- 16,
105
- 17,
106
- 18,
107
- 20,
108
- 21,
109
- 22,
110
- 23,
111
- 24,
112
- 25,
113
- 26,
114
- 27,
115
- 28,
116
- 29,
117
- 30,
118
- 31,
119
- 32,
120
- 33,
121
- 55,
122
- 34,
123
- 35,
124
- 36,
125
- 37,
126
- 38,
127
- 39,
128
- 40,
129
- 41,
130
- 42,
131
- 43,
132
- 44,
133
- 45,
134
- 46,
135
- 47,
136
- 48,
137
- 49,
138
- 50,
139
- 51,
140
- 52,
141
- 53,
142
- 54,
134
+ 12 /* Nfsv4Attr.FATTR4_ACL */,
135
+ 13 /* Nfsv4Attr.FATTR4_ACLSUPPORT */,
136
+ 14 /* Nfsv4Attr.FATTR4_ARCHIVE */,
137
+ 15 /* Nfsv4Attr.FATTR4_CANSETTIME */,
138
+ 16 /* Nfsv4Attr.FATTR4_CASE_INSENSITIVE */,
139
+ 17 /* Nfsv4Attr.FATTR4_CASE_PRESERVING */,
140
+ 18 /* Nfsv4Attr.FATTR4_CHOWN_RESTRICTED */,
141
+ 20 /* Nfsv4Attr.FATTR4_FILEID */,
142
+ 21 /* Nfsv4Attr.FATTR4_FILES_AVAIL */,
143
+ 22 /* Nfsv4Attr.FATTR4_FILES_FREE */,
144
+ 23 /* Nfsv4Attr.FATTR4_FILES_TOTAL */,
145
+ 24 /* Nfsv4Attr.FATTR4_FS_LOCATIONS */,
146
+ 25 /* Nfsv4Attr.FATTR4_HIDDEN */,
147
+ 26 /* Nfsv4Attr.FATTR4_HOMOGENEOUS */,
148
+ 27 /* Nfsv4Attr.FATTR4_MAXFILESIZE */,
149
+ 28 /* Nfsv4Attr.FATTR4_MAXLINK */,
150
+ 29 /* Nfsv4Attr.FATTR4_MAXNAME */,
151
+ 30 /* Nfsv4Attr.FATTR4_MAXREAD */,
152
+ 31 /* Nfsv4Attr.FATTR4_MAXWRITE */,
153
+ 32 /* Nfsv4Attr.FATTR4_MIMETYPE */,
154
+ 33 /* Nfsv4Attr.FATTR4_MODE */,
155
+ 55 /* Nfsv4Attr.FATTR4_MOUNTED_ON_FILEID */,
156
+ 34 /* Nfsv4Attr.FATTR4_NO_TRUNC */,
157
+ 35 /* Nfsv4Attr.FATTR4_NUMLINKS */,
158
+ 36 /* Nfsv4Attr.FATTR4_OWNER */,
159
+ 37 /* Nfsv4Attr.FATTR4_OWNER_GROUP */,
160
+ 38 /* Nfsv4Attr.FATTR4_QUOTA_AVAIL_HARD */,
161
+ 39 /* Nfsv4Attr.FATTR4_QUOTA_AVAIL_SOFT */,
162
+ 40 /* Nfsv4Attr.FATTR4_QUOTA_USED */,
163
+ 41 /* Nfsv4Attr.FATTR4_RAWDEV */,
164
+ 42 /* Nfsv4Attr.FATTR4_SPACE_AVAIL */,
165
+ 43 /* Nfsv4Attr.FATTR4_SPACE_FREE */,
166
+ 44 /* Nfsv4Attr.FATTR4_SPACE_TOTAL */,
167
+ 45 /* Nfsv4Attr.FATTR4_SPACE_USED */,
168
+ 46 /* Nfsv4Attr.FATTR4_SYSTEM */,
169
+ 47 /* Nfsv4Attr.FATTR4_TIME_ACCESS */,
170
+ 48 /* Nfsv4Attr.FATTR4_TIME_ACCESS_SET */,
171
+ 49 /* Nfsv4Attr.FATTR4_TIME_BACKUP */,
172
+ 50 /* Nfsv4Attr.FATTR4_TIME_CREATE */,
173
+ 51 /* Nfsv4Attr.FATTR4_TIME_DELTA */,
174
+ 52 /* Nfsv4Attr.FATTR4_TIME_METADATA */,
175
+ 53 /* Nfsv4Attr.FATTR4_TIME_MODIFY */,
176
+ 54 /* Nfsv4Attr.FATTR4_TIME_MODIFY_SET */,
143
177
  ]);
178
+ /**
179
+ * Attributes that require fs.Stats (lstat) to compute.
180
+ * If none of these are requested, we can skip the lstat call.
181
+ */
144
182
  exports.STAT_ATTRS = new Set([
145
- 1,
146
- 3,
147
- 4,
148
- 20,
149
- 33,
150
- 35,
151
- 41,
152
- 45,
153
- 47,
154
- 52,
155
- 53,
183
+ 1 /* Nfsv4Attr.FATTR4_TYPE */,
184
+ 3 /* Nfsv4Attr.FATTR4_CHANGE */,
185
+ 4 /* Nfsv4Attr.FATTR4_SIZE */,
186
+ 20 /* Nfsv4Attr.FATTR4_FILEID */,
187
+ 33 /* Nfsv4Attr.FATTR4_MODE */,
188
+ 35 /* Nfsv4Attr.FATTR4_NUMLINKS */,
189
+ 41 /* Nfsv4Attr.FATTR4_RAWDEV */,
190
+ 45 /* Nfsv4Attr.FATTR4_SPACE_USED */,
191
+ 47 /* Nfsv4Attr.FATTR4_TIME_ACCESS */,
192
+ 52 /* Nfsv4Attr.FATTR4_TIME_METADATA */,
193
+ 53 /* Nfsv4Attr.FATTR4_TIME_MODIFY */,
156
194
  ]);
195
+ /**
196
+ * Attributes that require filesystem stats (e.g. disk space).
197
+ * If none of these are requested, we can skip the filesystem stats call.
198
+ */
157
199
  exports.FS_ATTRS = new Set([
158
- 21,
159
- 22,
160
- 23,
161
- 42,
162
- 43,
163
- 44,
200
+ 21 /* Nfsv4Attr.FATTR4_FILES_AVAIL */,
201
+ 22 /* Nfsv4Attr.FATTR4_FILES_FREE */,
202
+ 23 /* Nfsv4Attr.FATTR4_FILES_TOTAL */,
203
+ 42 /* Nfsv4Attr.FATTR4_SPACE_AVAIL */,
204
+ 43 /* Nfsv4Attr.FATTR4_SPACE_FREE */,
205
+ 44 /* Nfsv4Attr.FATTR4_SPACE_TOTAL */,
164
206
  ]);
207
+ /**
208
+ * Extract attribute numbers from a bitmap mask.
209
+ *
210
+ * @todo PERF: More efficient would be to parse to `Array<number>` and
211
+ * also use `Array<number>` for {@link overlap} calculation.
212
+ */
165
213
  const parseBitmask = (mask) => {
166
214
  const attrs = new Set();
167
215
  const length = mask.length;
@@ -172,6 +220,9 @@ const parseBitmask = (mask) => {
172
220
  return attrs;
173
221
  };
174
222
  exports.parseBitmask = parseBitmask;
223
+ /**
224
+ * Check if two sets overlap (have any elements in common).
225
+ */
175
226
  const overlaps = (a, b) => {
176
227
  for (const element of b)
177
228
  if (a.has(element))
@@ -179,8 +230,14 @@ const overlaps = (a, b) => {
179
230
  return false;
180
231
  };
181
232
  exports.overlaps = overlaps;
233
+ /**
234
+ * Check if attempting to get a set-only attribute (returns NFS4ERR_INVAL).
235
+ */
182
236
  const containsSetOnlyAttr = (requestedAttrs) => (0, exports.overlaps)(requestedAttrs, exports.SET_ONLY_ATTRS);
183
237
  exports.containsSetOnlyAttr = containsSetOnlyAttr;
238
+ /**
239
+ * Check if any requested attributes require lstat.
240
+ */
184
241
  const requiresLstat = (requestedAttrs) => (0, exports.overlaps)(requestedAttrs, exports.STAT_ATTRS);
185
242
  exports.requiresLstat = requiresLstat;
186
243
  const requiresFsStats = (requestedAttrs) => (0, exports.overlaps)(requestedAttrs, exports.FS_ATTRS);
@@ -193,6 +250,11 @@ const setBit = (mask, attrNum) => {
193
250
  mask[wordIndex] |= 1 << bitIndex;
194
251
  };
195
252
  exports.setBit = setBit;
253
+ /**
254
+ * Helper to convert attribute numbers to bitmap array.
255
+ * @param attrNums - Array of attribute numbers (Nfsv4Attr values)
256
+ * @returns Bitmap array suitable for Nfsv4Bitmap constructor
257
+ */
196
258
  const attrNumsToBitmap = (attrNums) => {
197
259
  const mask = [];
198
260
  for (const attrNum of attrNums)
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/nfs/v4/attributes.ts"],"names":[],"mappings":";;;AAWa,QAAA,gBAAgB,GAAG,IAAI,GAAG,CAAY,IAA6B,CAAC,CAAC;AAMrE,QAAA,YAAY,GAAG,IAAI,GAAG,CAAY;;;;;;;;;;;;;;;;;;;;;;;;;CAyB9C,CAAC,CAAC;AAMU,QAAA,iBAAiB,GAAG,IAAI,GAAG,CAAY;;;;;;CAMnD,CAAC,CAAC;AAOU,QAAA,cAAc,GAAG,IAAI,GAAG,CAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ChD,CAAC,CAAC;AAOU,QAAA,cAAc,GAAG,IAAI,GAAG,CAAY,QAAoE,CAAC,CAAC;AAM1G,QAAA,cAAc,GAAG,IAAI,GAAG,CAAY;;;;;;;;;;;;;;CAchD,CAAC,CAAC;AAMU,QAAA,iBAAiB,GAAG,IAAI,GAAG,CAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CnD,CAAC,CAAC;AAMU,QAAA,UAAU,GAAG,IAAI,GAAG,CAAY;;;;;;;;;;;;CAY5C,CAAC,CAAC;AAMU,QAAA,QAAQ,GAAG,IAAI,GAAG,CAAY;;;;;;;CAO1C,CAAC,CAAC;AAQI,MAAM,YAAY,GAAG,CAAC,IAAc,EAAe,EAAE;IAC1D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE;QACtF,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,MAAM,CAAC;YAAE,IAAI,IAAI,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AANW,QAAA,YAAY,gBAMvB;AAKK,MAAM,QAAQ,GAAG,CAAI,CAAS,EAAE,CAAS,EAAW,EAAE;IAC3D,KAAK,MAAM,OAAO,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAHW,QAAA,QAAQ,YAGnB;AAKK,MAAM,mBAAmB,GAAG,CAAC,cAA2B,EAAW,EAAE,CAAC,IAAA,gBAAQ,EAAC,cAAc,EAAE,sBAAc,CAAC,CAAC;AAAzG,QAAA,mBAAmB,uBAAsF;AAK/G,MAAM,aAAa,GAAG,CAAC,cAA2B,EAAW,EAAE,CAAC,IAAA,gBAAQ,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAA/F,QAAA,aAAa,iBAAkF;AAErG,MAAM,eAAe,GAAG,CAAC,cAA2B,EAAW,EAAE,CAAC,IAAA,gBAAQ,EAAC,cAAc,EAAE,gBAAQ,CAAC,CAAC;AAA/F,QAAA,eAAe,mBAAgF;AAErG,MAAM,MAAM,GAAG,CAAC,IAAc,EAAE,OAAkB,EAAQ,EAAE;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,IAAI,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;AACnC,CAAC,CAAC;AALW,QAAA,MAAM,UAKjB;AAOK,MAAM,gBAAgB,GAAG,CAAC,QAAqB,EAAY,EAAE;IAClE,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,IAAA,cAAM,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/nfs/v4/attributes.ts"],"names":[],"mappings":"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"}