step-node-agent 3.26.3 → 3.26.5-CustomizedJv2

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 (345) hide show
  1. package/node_modules/{has-property-descriptors → call-bind-apply-helpers}/.github/FUNDING.yml +1 -1
  2. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +23 -0
  3. package/node_modules/{call-bind → call-bind-apply-helpers}/LICENSE +1 -1
  4. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  5. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  6. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  7. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  8. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  9. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  10. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  11. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  12. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  13. package/node_modules/call-bind-apply-helpers/index.d.ts +46 -0
  14. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  15. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  16. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  17. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  18. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  19. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  20. package/node_modules/call-bound/.eslintrc +13 -0
  21. package/node_modules/{call-bind → call-bound}/.github/FUNDING.yml +1 -1
  22. package/node_modules/call-bound/CHANGELOG.md +34 -0
  23. package/node_modules/{has-property-descriptors → call-bound}/LICENSE +1 -1
  24. package/node_modules/call-bound/README.md +53 -0
  25. package/node_modules/call-bound/index.d.ts +13 -0
  26. package/node_modules/call-bound/index.js +18 -0
  27. package/node_modules/{call-bind → call-bound}/package.json +27 -23
  28. package/node_modules/{call-bind/test/callBound.js → call-bound/test/index.js} +1 -1
  29. package/node_modules/{define-data-property → dunder-proto}/.github/FUNDING.yml +1 -1
  30. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  31. package/node_modules/dunder-proto/LICENSE +21 -0
  32. package/node_modules/dunder-proto/README.md +54 -0
  33. package/node_modules/dunder-proto/get.d.ts +5 -0
  34. package/node_modules/dunder-proto/get.js +30 -0
  35. package/node_modules/{has-proto → dunder-proto}/package.json +34 -36
  36. package/node_modules/dunder-proto/set.d.ts +5 -0
  37. package/node_modules/dunder-proto/set.js +35 -0
  38. package/node_modules/dunder-proto/test/get.js +34 -0
  39. package/node_modules/dunder-proto/test/index.js +4 -0
  40. package/node_modules/dunder-proto/test/set.js +50 -0
  41. package/node_modules/dunder-proto/tsconfig.json +9 -0
  42. package/node_modules/es-define-property/CHANGELOG.md +14 -0
  43. package/node_modules/es-define-property/index.js +1 -3
  44. package/node_modules/es-define-property/package.json +12 -12
  45. package/node_modules/es-define-property/test/index.js +1 -0
  46. package/node_modules/es-define-property/tsconfig.json +2 -42
  47. package/node_modules/es-object-atoms/.eslintrc +16 -0
  48. package/node_modules/{set-function-length → es-object-atoms}/.github/FUNDING.yml +1 -1
  49. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  50. package/node_modules/{define-data-property → es-object-atoms}/LICENSE +1 -1
  51. package/node_modules/es-object-atoms/README.md +63 -0
  52. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  53. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  54. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  55. package/node_modules/es-object-atoms/ToObject.js +10 -0
  56. package/node_modules/es-object-atoms/index.d.ts +3 -0
  57. package/node_modules/es-object-atoms/index.js +4 -0
  58. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  59. package/node_modules/es-object-atoms/isObject.js +6 -0
  60. package/node_modules/es-object-atoms/package.json +80 -0
  61. package/node_modules/es-object-atoms/test/index.js +38 -0
  62. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  63. package/node_modules/express/History.md +10 -1
  64. package/node_modules/express/package.json +6 -2
  65. package/node_modules/get-intrinsic/CHANGELOG.md +35 -0
  66. package/node_modules/get-intrinsic/index.js +39 -21
  67. package/node_modules/get-intrinsic/package.json +23 -19
  68. package/node_modules/get-intrinsic/test/GetIntrinsic.js +2 -2
  69. package/node_modules/get-proto/.eslintrc +10 -0
  70. package/node_modules/{has-proto → get-proto}/.github/FUNDING.yml +1 -1
  71. package/node_modules/get-proto/.nycrc +9 -0
  72. package/node_modules/get-proto/CHANGELOG.md +21 -0
  73. package/node_modules/{has-proto → get-proto}/LICENSE +1 -1
  74. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  75. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  76. package/node_modules/get-proto/README.md +50 -0
  77. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  78. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  79. package/node_modules/get-proto/index.d.ts +5 -0
  80. package/node_modules/get-proto/index.js +27 -0
  81. package/node_modules/{has-property-descriptors → get-proto}/package.json +35 -31
  82. package/node_modules/get-proto/test/index.js +68 -0
  83. package/node_modules/get-proto/tsconfig.json +9 -0
  84. package/node_modules/gopd/CHANGELOG.md +20 -0
  85. package/node_modules/gopd/gOPD.d.ts +1 -0
  86. package/node_modules/gopd/gOPD.js +4 -0
  87. package/node_modules/gopd/index.d.ts +5 -0
  88. package/node_modules/gopd/index.js +2 -3
  89. package/node_modules/gopd/package.json +16 -10
  90. package/node_modules/gopd/test/index.js +2 -1
  91. package/node_modules/gopd/tsconfig.json +9 -0
  92. package/node_modules/has-symbols/CHANGELOG.md +16 -0
  93. package/node_modules/has-symbols/index.d.ts +3 -0
  94. package/node_modules/has-symbols/index.js +1 -0
  95. package/node_modules/has-symbols/package.json +19 -9
  96. package/node_modules/has-symbols/shams.d.ts +3 -0
  97. package/node_modules/has-symbols/shams.js +5 -2
  98. package/node_modules/has-symbols/test/shams/core-js.js +1 -0
  99. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +1 -0
  100. package/node_modules/has-symbols/test/tests.js +4 -2
  101. package/node_modules/has-symbols/tsconfig.json +10 -0
  102. package/node_modules/is-core-module/CHANGELOG.md +13 -0
  103. package/node_modules/is-core-module/core.json +1 -0
  104. package/node_modules/is-core-module/package.json +3 -3
  105. package/node_modules/is-core-module/test/index.js +3 -0
  106. package/node_modules/math-intrinsics/.eslintrc +16 -0
  107. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  108. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  109. package/node_modules/math-intrinsics/LICENSE +21 -0
  110. package/node_modules/math-intrinsics/README.md +50 -0
  111. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  112. package/node_modules/math-intrinsics/abs.js +4 -0
  113. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  114. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  115. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  116. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  117. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  118. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  119. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  120. package/node_modules/math-intrinsics/floor.js +4 -0
  121. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  122. package/node_modules/math-intrinsics/isFinite.js +12 -0
  123. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  124. package/node_modules/math-intrinsics/isInteger.js +16 -0
  125. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  126. package/node_modules/math-intrinsics/isNaN.js +6 -0
  127. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  128. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  129. package/node_modules/math-intrinsics/max.d.ts +1 -0
  130. package/node_modules/math-intrinsics/max.js +4 -0
  131. package/node_modules/math-intrinsics/min.d.ts +1 -0
  132. package/node_modules/math-intrinsics/min.js +4 -0
  133. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  134. package/node_modules/math-intrinsics/mod.js +9 -0
  135. package/node_modules/math-intrinsics/package.json +86 -0
  136. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  137. package/node_modules/math-intrinsics/pow.js +4 -0
  138. package/node_modules/math-intrinsics/round.d.ts +1 -0
  139. package/node_modules/math-intrinsics/round.js +4 -0
  140. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  141. package/node_modules/math-intrinsics/sign.js +11 -0
  142. package/node_modules/math-intrinsics/test/index.js +192 -0
  143. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  144. package/node_modules/object-inspect/CHANGELOG.md +8 -0
  145. package/node_modules/object-inspect/index.js +10 -7
  146. package/node_modules/object-inspect/package.json +5 -4
  147. package/node_modules/object-inspect/test/values.js +50 -0
  148. package/node_modules/path-to-regexp/index.js +13 -3
  149. package/node_modules/path-to-regexp/package.json +1 -1
  150. package/node_modules/psl/README.md +75 -31
  151. package/node_modules/psl/SECURITY.md +13 -0
  152. package/node_modules/psl/data/rules.js +9778 -0
  153. package/node_modules/psl/dist/psl.cjs +1 -0
  154. package/node_modules/psl/dist/psl.mjs +10008 -0
  155. package/node_modules/psl/dist/psl.umd.cjs +1 -0
  156. package/node_modules/psl/index.js +59 -81
  157. package/node_modules/psl/package.json +24 -15
  158. package/node_modules/psl/types/index.d.ts +52 -0
  159. package/node_modules/psl/types/test.ts +14 -0
  160. package/node_modules/psl/types/tsconfig.json +22 -0
  161. package/node_modules/psl/vite.config.js +20 -0
  162. package/node_modules/resolve/lib/core.json +4 -0
  163. package/node_modules/resolve/package.json +12 -9
  164. package/node_modules/side-channel/.eslintrc +1 -0
  165. package/node_modules/side-channel/CHANGELOG.md +15 -0
  166. package/node_modules/side-channel/README.md +60 -1
  167. package/node_modules/side-channel/index.d.ts +9 -22
  168. package/node_modules/side-channel/index.js +20 -106
  169. package/node_modules/side-channel/package.json +20 -19
  170. package/node_modules/side-channel/test/index.js +76 -55
  171. package/node_modules/side-channel/tsconfig.json +2 -43
  172. package/node_modules/side-channel-list/.editorconfig +9 -0
  173. package/node_modules/side-channel-list/.eslintrc +11 -0
  174. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  175. package/node_modules/side-channel-list/CHANGELOG.md +15 -0
  176. package/node_modules/side-channel-list/LICENSE +21 -0
  177. package/node_modules/side-channel-list/README.md +62 -0
  178. package/node_modules/side-channel-list/index.d.ts +13 -0
  179. package/node_modules/side-channel-list/index.js +113 -0
  180. package/node_modules/side-channel-list/list.d.ts +14 -0
  181. package/node_modules/side-channel-list/package.json +77 -0
  182. package/node_modules/side-channel-list/test/index.js +104 -0
  183. package/node_modules/side-channel-list/tsconfig.json +9 -0
  184. package/node_modules/side-channel-map/.editorconfig +9 -0
  185. package/node_modules/side-channel-map/.eslintrc +11 -0
  186. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  187. package/node_modules/side-channel-map/.nycrc +13 -0
  188. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  189. package/node_modules/side-channel-map/LICENSE +21 -0
  190. package/node_modules/side-channel-map/README.md +62 -0
  191. package/node_modules/side-channel-map/index.d.ts +15 -0
  192. package/node_modules/side-channel-map/index.js +68 -0
  193. package/node_modules/side-channel-map/package.json +80 -0
  194. package/node_modules/side-channel-map/test/index.js +114 -0
  195. package/node_modules/side-channel-map/tsconfig.json +9 -0
  196. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  197. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  198. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  199. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  200. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  201. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  202. package/node_modules/side-channel-weakmap/README.md +62 -0
  203. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  204. package/node_modules/side-channel-weakmap/index.js +84 -0
  205. package/node_modules/side-channel-weakmap/package.json +87 -0
  206. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  207. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  208. package/node_modules/yaml/README.md +27 -8
  209. package/node_modules/yaml/browser/dist/compose/resolve-props.js +1 -1
  210. package/node_modules/yaml/browser/dist/log.js +1 -4
  211. package/node_modules/yaml/browser/dist/schema/json/schema.js +1 -1
  212. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +2 -11
  213. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +1 -1
  214. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +20 -11
  215. package/node_modules/yaml/browser/dist/util.js +1 -1
  216. package/node_modules/yaml/dist/compose/compose-collection.d.ts +4 -4
  217. package/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -6
  218. package/node_modules/yaml/dist/compose/compose-node.d.ts +7 -7
  219. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +4 -4
  220. package/node_modules/yaml/dist/compose/composer.d.ts +7 -6
  221. package/node_modules/yaml/dist/compose/composer.js +2 -1
  222. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +5 -5
  223. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +5 -5
  224. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -5
  225. package/node_modules/yaml/dist/compose/resolve-end.d.ts +2 -2
  226. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -7
  227. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +4 -4
  228. package/node_modules/yaml/dist/compose/resolve-props.d.ts +2 -2
  229. package/node_modules/yaml/dist/compose/resolve-props.js +1 -1
  230. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +1 -1
  231. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +1 -1
  232. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +2 -2
  233. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +3 -3
  234. package/node_modules/yaml/dist/doc/Document.d.ts +11 -11
  235. package/node_modules/yaml/dist/doc/anchors.d.ts +2 -2
  236. package/node_modules/yaml/dist/doc/createNode.d.ts +4 -4
  237. package/node_modules/yaml/dist/doc/directives.d.ts +1 -1
  238. package/node_modules/yaml/dist/index.d.ts +21 -18
  239. package/node_modules/yaml/dist/log.js +4 -2
  240. package/node_modules/yaml/dist/nodes/Alias.d.ts +9 -8
  241. package/node_modules/yaml/dist/nodes/Collection.d.ts +4 -4
  242. package/node_modules/yaml/dist/nodes/Node.d.ts +10 -10
  243. package/node_modules/yaml/dist/nodes/Pair.d.ts +9 -8
  244. package/node_modules/yaml/dist/nodes/Scalar.d.ts +4 -3
  245. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +10 -10
  246. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +10 -10
  247. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -3
  248. package/node_modules/yaml/dist/nodes/identity.d.ts +7 -7
  249. package/node_modules/yaml/dist/nodes/toJS.d.ts +2 -2
  250. package/node_modules/yaml/dist/options.d.ts +10 -10
  251. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +4 -4
  252. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +1 -1
  253. package/node_modules/yaml/dist/parse/cst-visit.d.ts +2 -2
  254. package/node_modules/yaml/dist/parse/cst.d.ts +4 -3
  255. package/node_modules/yaml/dist/parse/lexer.d.ts +1 -1
  256. package/node_modules/yaml/dist/parse/parser.d.ts +4 -4
  257. package/node_modules/yaml/dist/parse/parser.js +2 -1
  258. package/node_modules/yaml/dist/public-api.d.ts +6 -5
  259. package/node_modules/yaml/dist/schema/Schema.d.ts +4 -4
  260. package/node_modules/yaml/dist/schema/common/map.d.ts +1 -1
  261. package/node_modules/yaml/dist/schema/common/null.d.ts +1 -1
  262. package/node_modules/yaml/dist/schema/common/seq.d.ts +1 -1
  263. package/node_modules/yaml/dist/schema/common/string.d.ts +1 -1
  264. package/node_modules/yaml/dist/schema/core/bool.d.ts +1 -1
  265. package/node_modules/yaml/dist/schema/core/float.d.ts +1 -1
  266. package/node_modules/yaml/dist/schema/core/int.d.ts +1 -1
  267. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -1
  268. package/node_modules/yaml/dist/schema/json/schema.d.ts +1 -1
  269. package/node_modules/yaml/dist/schema/json/schema.js +1 -1
  270. package/node_modules/yaml/dist/schema/tags.d.ts +2 -2
  271. package/node_modules/yaml/dist/schema/types.d.ts +8 -8
  272. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +1 -1
  273. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +6 -5
  274. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +1 -1
  275. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +1 -1
  276. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +1 -1
  277. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +3 -3
  278. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +11 -17
  279. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +7 -7
  280. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -1
  281. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +9 -9
  282. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +1 -1
  283. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +1 -1
  284. package/node_modules/yaml/dist/stringify/stringify.d.ts +3 -3
  285. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +2 -2
  286. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -3
  287. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +1 -1
  288. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +2 -2
  289. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +2 -2
  290. package/node_modules/yaml/dist/stringify/stringifyString.js +20 -11
  291. package/node_modules/yaml/dist/util.d.ts +16 -12
  292. package/node_modules/yaml/dist/util.js +2 -2
  293. package/node_modules/yaml/dist/visit.d.ts +7 -7
  294. package/node_modules/yaml/package.json +4 -4
  295. package/package.json +1 -1
  296. package/node_modules/call-bind/.eslintignore +0 -1
  297. package/node_modules/call-bind/CHANGELOG.md +0 -93
  298. package/node_modules/call-bind/README.md +0 -64
  299. package/node_modules/call-bind/callBound.js +0 -15
  300. package/node_modules/call-bind/index.js +0 -35
  301. package/node_modules/call-bind/test/index.js +0 -80
  302. package/node_modules/define-data-property/.eslintrc +0 -24
  303. package/node_modules/define-data-property/CHANGELOG.md +0 -70
  304. package/node_modules/define-data-property/README.md +0 -67
  305. package/node_modules/define-data-property/index.d.ts +0 -12
  306. package/node_modules/define-data-property/index.js +0 -56
  307. package/node_modules/define-data-property/package.json +0 -106
  308. package/node_modules/define-data-property/test/index.js +0 -392
  309. package/node_modules/define-data-property/tsconfig.json +0 -59
  310. package/node_modules/has-property-descriptors/.eslintrc +0 -13
  311. package/node_modules/has-property-descriptors/CHANGELOG.md +0 -35
  312. package/node_modules/has-property-descriptors/README.md +0 -43
  313. package/node_modules/has-property-descriptors/index.js +0 -22
  314. package/node_modules/has-property-descriptors/test/index.js +0 -57
  315. package/node_modules/has-proto/CHANGELOG.md +0 -38
  316. package/node_modules/has-proto/README.md +0 -38
  317. package/node_modules/has-proto/index.d.ts +0 -3
  318. package/node_modules/has-proto/index.js +0 -15
  319. package/node_modules/has-proto/test/index.js +0 -19
  320. package/node_modules/has-proto/tsconfig.json +0 -49
  321. package/node_modules/psl/browserstack.yml +0 -73
  322. package/node_modules/psl/data/rules.json +0 -9779
  323. package/node_modules/psl/dist/psl.js +0 -10498
  324. package/node_modules/psl/dist/psl.min.js +0 -1
  325. package/node_modules/psl/eslint.config.js +0 -9
  326. package/node_modules/psl/local.log +0 -12
  327. package/node_modules/psl/log/usage.log +0 -20
  328. package/node_modules/psl/playwright.config.js +0 -31
  329. package/node_modules/psl/test-results/.last-run.json +0 -4
  330. package/node_modules/set-function-length/.eslintrc +0 -27
  331. package/node_modules/set-function-length/CHANGELOG.md +0 -70
  332. package/node_modules/set-function-length/LICENSE +0 -21
  333. package/node_modules/set-function-length/README.md +0 -56
  334. package/node_modules/set-function-length/env.d.ts +0 -9
  335. package/node_modules/set-function-length/env.js +0 -25
  336. package/node_modules/set-function-length/index.d.ts +0 -7
  337. package/node_modules/set-function-length/index.js +0 -42
  338. package/node_modules/set-function-length/package.json +0 -102
  339. /package/node_modules/{call-bind → call-bind-apply-helpers}/.eslintrc +0 -0
  340. /package/node_modules/{call-bind → call-bind-apply-helpers}/.nycrc +0 -0
  341. /package/node_modules/{has-property-descriptors → call-bound}/.nycrc +0 -0
  342. /package/node_modules/{set-function-length → call-bound}/tsconfig.json +0 -0
  343. /package/node_modules/{has-proto → dunder-proto}/.eslintrc +0 -0
  344. /package/node_modules/{define-data-property → dunder-proto}/.nycrc +0 -0
  345. /package/node_modules/{set-function-length → side-channel-list}/.nycrc +0 -0
@@ -1,69 +1,54 @@
1
- /*eslint no-var:0, prefer-arrow-callback: 0, object-shorthand: 0 */
2
- 'use strict';
3
-
4
-
5
- var Punycode = require('punycode/');
6
-
7
-
8
- var internals = {};
9
-
1
+ import punycode from 'punycode/punycode.js';
2
+ import rules from './data/rules.js';
10
3
 
11
4
  //
12
- // Read rules from file.
5
+ // Parse rules from file.
13
6
  //
14
- internals.rules = require('./data/rules.json').map(function (rule) {
15
-
16
- return {
17
- rule: rule,
18
- suffix: rule.replace(/^(\*\.|\!)/, ''),
19
- punySuffix: -1,
20
- wildcard: rule.charAt(0) === '*',
21
- exception: rule.charAt(0) === '!'
22
- };
23
- });
24
-
7
+ const rulesByPunySuffix = rules.reduce(
8
+ (map, rule) => {
9
+ const suffix = rule.replace(/^(\*\.|\!)/, '');
10
+ const punySuffix = punycode.toASCII(suffix);
11
+ const firstChar = rule.charAt(0);
25
12
 
26
- //
27
- // Check if given string ends with `suffix`.
28
- //
29
- internals.endsWith = function (str, suffix) {
13
+ if (map.has(punySuffix)) {
14
+ throw new Error(`Multiple rules found for ${rule} (${punySuffix})`);
15
+ }
30
16
 
31
- return str.indexOf(suffix, str.length - suffix.length) !== -1;
32
- };
17
+ map.set(punySuffix, {
18
+ rule,
19
+ suffix,
20
+ punySuffix,
21
+ wildcard: firstChar === '*',
22
+ exception: firstChar === '!'
23
+ });
33
24
 
25
+ return map;
26
+ },
27
+ new Map(),
28
+ );
34
29
 
35
30
  //
36
31
  // Find rule for a given domain.
37
32
  //
38
- internals.findRule = function (domain) {
33
+ const findRule = (domain) => {
34
+ const punyDomain = punycode.toASCII(domain);
35
+ const punyDomainChunks = punyDomain.split('.');
39
36
 
40
- var punyDomain = Punycode.toASCII(domain);
41
- return internals.rules.reduce(function (memo, rule) {
42
-
43
- if (rule.punySuffix === -1) {
44
- rule.punySuffix = Punycode.toASCII(rule.suffix);
45
- }
46
- if (!internals.endsWith(punyDomain, '.' + rule.punySuffix) && punyDomain !== rule.punySuffix) {
47
- return memo;
37
+ for (let i = 0; i < punyDomainChunks.length; i++) {
38
+ const suffix = punyDomainChunks.slice(i).join('.');
39
+ const matchingRules = rulesByPunySuffix.get(suffix);
40
+ if (matchingRules) {
41
+ return matchingRules;
48
42
  }
49
- // This has been commented out as it never seems to run. This is because
50
- // sub tlds always appear after their parents and we never find a shorter
51
- // match.
52
- //if (memo) {
53
- // var memoSuffix = Punycode.toASCII(memo.suffix);
54
- // if (memoSuffix.length >= punySuffix.length) {
55
- // return memo;
56
- // }
57
- //}
58
- return rule;
59
- }, null);
60
- };
43
+ }
61
44
 
45
+ return null;
46
+ };
62
47
 
63
48
  //
64
49
  // Error codes and messages.
65
50
  //
66
- exports.errorCodes = {
51
+ export const errorCodes = {
67
52
  DOMAIN_TOO_SHORT: 'Domain name too short.',
68
53
  DOMAIN_TOO_LONG: 'Domain name too long. It should be no more than 255 chars.',
69
54
  LABEL_STARTS_WITH_DASH: 'Domain name label can not start with a dash.',
@@ -73,7 +58,6 @@ exports.errorCodes = {
73
58
  LABEL_INVALID_CHARS: 'Domain name label can only contain alphanumeric characters or dashes.'
74
59
  };
75
60
 
76
-
77
61
  //
78
62
  // Validate domain name and throw if not valid.
79
63
  //
@@ -93,10 +77,9 @@ exports.errorCodes = {
93
77
  // * http://en.wikipedia.org/wiki/Domain_name
94
78
  // * http://en.wikipedia.org/wiki/Hostname
95
79
  //
96
- internals.validate = function (input) {
97
-
80
+ const validate = (input) => {
98
81
  // Before we can validate we need to take care of IDNs with unicode chars.
99
- var ascii = Punycode.toASCII(input);
82
+ const ascii = punycode.toASCII(input);
100
83
 
101
84
  if (ascii.length < 1) {
102
85
  return 'DOMAIN_TOO_SHORT';
@@ -106,10 +89,10 @@ internals.validate = function (input) {
106
89
  }
107
90
 
108
91
  // Check each part's length and allowed chars.
109
- var labels = ascii.split('.');
110
- var label;
92
+ const labels = ascii.split('.');
93
+ let label;
111
94
 
112
- for (var i = 0; i < labels.length; ++i) {
95
+ for (let i = 0; i < labels.length; ++i) {
113
96
  label = labels[i];
114
97
  if (!label.length) {
115
98
  return 'LABEL_TOO_SHORT';
@@ -123,29 +106,26 @@ internals.validate = function (input) {
123
106
  if (label.charAt(label.length - 1) === '-') {
124
107
  return 'LABEL_ENDS_WITH_DASH';
125
108
  }
126
- if (!/^[a-z0-9\-]+$/.test(label)) {
109
+ if (!/^[a-z0-9\-_]+$/.test(label)) {
127
110
  return 'LABEL_INVALID_CHARS';
128
111
  }
129
112
  }
130
113
  };
131
114
 
132
-
133
115
  //
134
116
  // Public API
135
117
  //
136
118
 
137
-
138
119
  //
139
120
  // Parse domain.
140
121
  //
141
- exports.parse = function (input) {
142
-
122
+ export const parse = (input) => {
143
123
  if (typeof input !== 'string') {
144
124
  throw new TypeError('Domain name must be a string.');
145
125
  }
146
126
 
147
127
  // Force domain to lowercase.
148
- var domain = input.slice(0).toLowerCase();
128
+ let domain = input.slice(0).toLowerCase();
149
129
 
150
130
  // Handle FQDN.
151
131
  // TODO: Simply remove trailing dot?
@@ -154,18 +134,18 @@ exports.parse = function (input) {
154
134
  }
155
135
 
156
136
  // Validate and sanitise input.
157
- var error = internals.validate(domain);
137
+ const error = validate(domain);
158
138
  if (error) {
159
139
  return {
160
140
  input: input,
161
141
  error: {
162
- message: exports.errorCodes[error],
142
+ message: errorCodes[error],
163
143
  code: error
164
144
  }
165
145
  };
166
146
  }
167
147
 
168
- var parsed = {
148
+ const parsed = {
169
149
  input: input,
170
150
  tld: null,
171
151
  sld: null,
@@ -174,28 +154,27 @@ exports.parse = function (input) {
174
154
  listed: false
175
155
  };
176
156
 
177
- var domainParts = domain.split('.');
157
+ const domainParts = domain.split('.');
178
158
 
179
159
  // Non-Internet TLD
180
160
  if (domainParts[domainParts.length - 1] === 'local') {
181
161
  return parsed;
182
162
  }
183
163
 
184
- var handlePunycode = function () {
185
-
164
+ const handlePunycode = () => {
186
165
  if (!/xn--/.test(domain)) {
187
166
  return parsed;
188
167
  }
189
168
  if (parsed.domain) {
190
- parsed.domain = Punycode.toASCII(parsed.domain);
169
+ parsed.domain = punycode.toASCII(parsed.domain);
191
170
  }
192
171
  if (parsed.subdomain) {
193
- parsed.subdomain = Punycode.toASCII(parsed.subdomain);
172
+ parsed.subdomain = punycode.toASCII(parsed.subdomain);
194
173
  }
195
174
  return parsed;
196
175
  };
197
176
 
198
- var rule = internals.findRule(domain);
177
+ const rule = findRule(domain);
199
178
 
200
179
  // Unlisted tld.
201
180
  if (!rule) {
@@ -208,14 +187,15 @@ exports.parse = function (input) {
208
187
  if (domainParts.length) {
209
188
  parsed.subdomain = domainParts.pop();
210
189
  }
190
+
211
191
  return handlePunycode();
212
192
  }
213
193
 
214
194
  // At this point we know the public suffix is listed.
215
195
  parsed.listed = true;
216
196
 
217
- var tldParts = rule.suffix.split('.');
218
- var privateParts = domainParts.slice(0, domainParts.length - tldParts.length);
197
+ const tldParts = rule.suffix.split('.');
198
+ const privateParts = domainParts.slice(0, domainParts.length - tldParts.length);
219
199
 
220
200
  if (rule.exception) {
221
201
  privateParts.push(tldParts.shift());
@@ -246,24 +226,22 @@ exports.parse = function (input) {
246
226
  return handlePunycode();
247
227
  };
248
228
 
249
-
250
229
  //
251
230
  // Get domain.
252
231
  //
253
- exports.get = function (domain) {
254
-
232
+ export const get = (domain) => {
255
233
  if (!domain) {
256
234
  return null;
257
235
  }
258
- return exports.parse(domain).domain || null;
236
+ return parse(domain).domain || null;
259
237
  };
260
238
 
261
-
262
239
  //
263
240
  // Check whether domain belongs to a known public suffix.
264
241
  //
265
- exports.isValid = function (domain) {
266
-
267
- var parsed = exports.parse(domain);
242
+ export const isValid = (domain) => {
243
+ const parsed = parse(domain);
268
244
  return Boolean(parsed.domain && parsed.listed);
269
245
  };
246
+
247
+ export default { parse, get, isValid };
@@ -1,21 +1,29 @@
1
1
  {
2
2
  "name": "psl",
3
- "version": "1.10.0",
3
+ "version": "1.15.0",
4
4
  "description": "Domain name parser based on the Public Suffix List",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git@github.com:lupomontero/psl.git"
8
8
  },
9
- "main": "index.js",
9
+ "type": "module",
10
+ "main": "./dist/psl.cjs",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/psl.mjs",
14
+ "require": "./dist/psl.cjs"
15
+ }
16
+ },
17
+ "types": "types/index.d.ts",
10
18
  "scripts": {
11
19
  "lint": "eslint .",
12
20
  "test": "mocha test/*.spec.js",
13
21
  "test:browserstack": "browserstack-node-sdk playwright test",
14
22
  "watch": "mocha test/*.spec.js --watch",
15
- "prebuild": "./scripts/update-rules.js",
16
- "build": "browserify ./index.js --standalone=psl > ./dist/psl.js",
17
- "postbuild": "cat ./dist/psl.js | uglifyjs -c -m > ./dist/psl.min.js",
18
- "commit-and-pr": "commit-and-pr",
23
+ "update-rules": "./scripts/update-rules.js",
24
+ "build": "vite build",
25
+ "postbuild": "ln -s ./psl.umd.cjs dist/psl.js && ln -s ./psl.umd.cjs dist/psl.min.js",
26
+ "benchmark": "node --experimental-vm-modules --no-warnings benchmark/suite.js",
19
27
  "changelog": "git log $(git describe --tags --abbrev=0)..HEAD --oneline --format=\"%h %s (%an <%ae>)\""
20
28
  },
21
29
  "keywords": [
@@ -23,20 +31,21 @@
23
31
  "publicsuffixlist"
24
32
  ],
25
33
  "author": "Lupo Montero <lupomontero@gmail.com> (https://lupomontero.com/)",
34
+ "funding": "https://github.com/sponsors/lupomontero",
26
35
  "license": "MIT",
27
36
  "dependencies": {
28
37
  "punycode": "^2.3.1"
29
38
  },
30
39
  "devDependencies": {
31
- "@playwright/test": "^1.48.2",
32
- "browserify": "^17.0.1",
33
- "browserstack-node-sdk": "^1.34.21",
34
- "chai": "^5.1.2",
35
- "commit-and-pr": "^1.0.4",
36
- "eslint": "^9.14.0",
37
- "JSONStream": "^1.3.5",
40
+ "@eslint/js": "^9.16.0",
41
+ "@playwright/test": "^1.49.0",
42
+ "@types/eslint__js": "^8.42.3",
43
+ "benchmark": "^2.1.4",
44
+ "browserstack-node-sdk": "^1.34.27",
45
+ "eslint": "^9.16.0",
38
46
  "mocha": "^10.8.2",
39
- "request": "^2.88.2",
40
- "uglify-js": "^3.19.3"
47
+ "typescript": "^5.7.2",
48
+ "typescript-eslint": "^8.16.0",
49
+ "vite": "^6.0.2"
41
50
  }
42
51
  }
@@ -0,0 +1,52 @@
1
+ // TypeScript Version: 2.4
2
+
3
+ /**
4
+ * Result returned when a given domain name was not parsable (not exported)
5
+ */
6
+ export type ErrorResult<T extends keyof errorCodes> = {
7
+ input: string;
8
+ error: {
9
+ code: T;
10
+ message: errorCodes[T];
11
+ };
12
+ }
13
+
14
+ /**
15
+ * Error codes and descriptions for domain name parsing errors
16
+ */
17
+ export const enum errorCodes {
18
+ DOMAIN_TOO_SHORT = 'Domain name too short',
19
+ DOMAIN_TOO_LONG = 'Domain name too long. It should be no more than 255 chars.',
20
+ LABEL_STARTS_WITH_DASH = 'Domain name label can not start with a dash.',
21
+ LABEL_ENDS_WITH_DASH = 'Domain name label can not end with a dash.',
22
+ LABEL_TOO_LONG = 'Domain name label should be at most 63 chars long.',
23
+ LABEL_TOO_SHORT = 'Domain name label should be at least 1 character long.',
24
+ LABEL_INVALID_CHARS = 'Domain name label can only contain alphanumeric characters or dashes.'
25
+ }
26
+
27
+ // Export the browser global variable name additionally to the CJS/AMD exports below
28
+ export as namespace psl;
29
+
30
+ export type ParsedDomain = {
31
+ input: string;
32
+ tld: string | null;
33
+ sld: string | null;
34
+ domain: string | null;
35
+ subdomain: string | null;
36
+ listed: boolean;
37
+ }
38
+
39
+ /**
40
+ * Parse a domain name and return its components
41
+ */
42
+ export function parse(input: string): ParsedDomain | ErrorResult<keyof errorCodes>;
43
+
44
+ /**
45
+ * Get the base domain for full domain name
46
+ */
47
+ export function get(domain: string): string | null;
48
+
49
+ /**
50
+ * Check whether the given domain belongs to a known public suffix
51
+ */
52
+ export function isValid(domain: string): boolean;
@@ -0,0 +1,14 @@
1
+ import * as psl from 'psl';
2
+ import type { ParsedDomain, ErrorResult, errorCodes } from './index.d.ts';
3
+
4
+ const x = (a: ParsedDomain | ErrorResult<keyof errorCodes>) => {
5
+ return a;
6
+ };
7
+
8
+ console.log(x(psl.parse('')));
9
+
10
+ // $ExpectType string | null
11
+ console.log(psl.get('example.com'));
12
+
13
+ // $ExpectType boolean
14
+ console.log(psl.isValid('example.com'));
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "module": "commonjs",
5
+ "lib": [
6
+ "es5"
7
+ ],
8
+ "strict": true,
9
+ "noEmit": false,
10
+ "noImplicitAny": true,
11
+ "noImplicitThis": true,
12
+ "strictNullChecks": true,
13
+ "strictFunctionTypes": true,
14
+ // Expose module under its CJS/AMD name
15
+ "baseUrl": ".",
16
+ "paths": {
17
+ "psl": [
18
+ "./index.d.ts"
19
+ ]
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,20 @@
1
+ import { resolve } from 'node:path';
2
+ import { defineConfig } from 'vite';
3
+
4
+ export default defineConfig({
5
+ build: {
6
+ target: 'es2015',
7
+ lib: {
8
+ entry: resolve(__dirname, 'index.js'),
9
+ name: 'psl',
10
+ formats: ['es', 'cjs', 'umd'],
11
+ fileName: format => (
12
+ format === 'umd'
13
+ ? 'psl.umd.cjs'
14
+ : format === 'cjs'
15
+ ? 'psl.cjs'
16
+ : 'psl.mjs'
17
+ ),
18
+ },
19
+ },
20
+ });
@@ -89,7 +89,9 @@
89
89
  "node:readline/promises": ">= 17",
90
90
  "repl": true,
91
91
  "node:repl": [">= 14.18 && < 15", ">= 16"],
92
+ "node:sea": [">= 20.12 && < 21", ">= 21.7"],
92
93
  "smalloc": ">= 0.11.5 && < 3",
94
+ "node:sqlite": ">= 23.4",
93
95
  "_stream_duplex": ">= 0.9.4",
94
96
  "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"],
95
97
  "_stream_transform": ">= 0.9.4",
@@ -116,6 +118,8 @@
116
118
  "node:sys": [">= 14.18 && < 15", ">= 16"],
117
119
  "test/reporters": ">= 19.9 && < 20.2",
118
120
  "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"],
121
+ "test/mock_loader": ">= 22.3 && < 22.7",
122
+ "node:test/mock_loader": ">= 22.3 && < 22.7",
119
123
  "node:test": [">= 16.17 && < 17", ">= 18"],
120
124
  "timers": true,
121
125
  "node:timers": [">= 14.18 && < 15", ">= 16"],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "resolve",
3
3
  "description": "resolve like require.resolve() on behalf of files asynchronously and synchronously",
4
- "version": "1.22.8",
4
+ "version": "1.22.10",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git://github.com/browserify/resolve.git"
@@ -26,26 +26,25 @@
26
26
  "tests-only": "tape test/*.js",
27
27
  "pretest": "npm run lint",
28
28
  "test": "npm run --silent tests-only",
29
- "posttest": "npm run test:multirepo && aud --production",
29
+ "posttest": "npm run test:multirepo && npx npm@'>= 10.2' audit --production",
30
30
  "test:multirepo": "cd ./test/resolver/multirepo && npm install && npm test"
31
31
  },
32
32
  "devDependencies": {
33
- "@ljharb/eslint-config": "^21.1.0",
34
- "array.prototype.map": "^1.0.6",
35
- "aud": "^2.0.3",
33
+ "@ljharb/eslint-config": "^21.1.1",
34
+ "array.prototype.map": "^1.0.7",
36
35
  "copy-dir": "^1.3.0",
37
36
  "eclint": "^2.8.1",
38
37
  "eslint": "=8.8.0",
39
38
  "in-publish": "^2.0.1",
40
39
  "mkdirp": "^0.5.5",
41
40
  "mv": "^2.1.1",
42
- "npmignore": "^0.3.0",
41
+ "npmignore": "^0.3.1",
43
42
  "object-keys": "^1.1.1",
44
43
  "rimraf": "^2.7.1",
45
44
  "safe-publish-latest": "^2.0.0",
46
45
  "semver": "^6.3.1",
47
46
  "tap": "0.4.13",
48
- "tape": "^5.7.0",
47
+ "tape": "^5.9.0",
49
48
  "tmp": "^0.0.31"
50
49
  },
51
50
  "license": "MIT",
@@ -58,7 +57,7 @@
58
57
  "url": "https://github.com/sponsors/ljharb"
59
58
  },
60
59
  "dependencies": {
61
- "is-core-module": "^2.13.0",
60
+ "is-core-module": "^2.16.0",
62
61
  "path-parse": "^1.0.7",
63
62
  "supports-preserve-symlinks-flag": "^1.0.0"
64
63
  },
@@ -66,7 +65,11 @@
66
65
  "ignore": [
67
66
  ".github/workflows",
68
67
  "appveyor.yml",
69
- "test/resolver/malformed_package_json"
68
+ "test/resolver/malformed_package_json",
69
+ "test/list-exports"
70
70
  ]
71
+ },
72
+ "engines": {
73
+ "node": ">= 0.4"
71
74
  }
72
75
  }
@@ -4,6 +4,7 @@
4
4
  "extends": "@ljharb",
5
5
 
6
6
  "rules": {
7
+ "id-length": 0,
7
8
  "max-lines-per-function": 0,
8
9
  "multiline-comment-style": 1,
9
10
  "new-cap": [2, { "capIsNewExceptions": ["GetIntrinsic"] }],
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v1.1.0](https://github.com/ljharb/side-channel/compare/v1.0.6...v1.1.0) - 2024-12-11
9
+
10
+ ### Commits
11
+
12
+ - [Refactor] extract implementations to `side-channel-weakmap`, `side-channel-map`, `side-channel-list` [`ada5955`](https://github.com/ljharb/side-channel/commit/ada595549a5c4c6c853756d598846b180941c6da)
13
+ - [New] add `channel.delete` [`c01d2d3`](https://github.com/ljharb/side-channel/commit/c01d2d3fd51dbb1ce6da72ad7916e61bd6172aad)
14
+ - [types] improve types [`0c54356`](https://github.com/ljharb/side-channel/commit/0c5435651417df41b8cc1a5f7cdce8bffae68cde)
15
+ - [readme] add content [`be24868`](https://github.com/ljharb/side-channel/commit/be248682ac294b0e22c883092c45985aa91c490a)
16
+ - [actions] split out node 10-20, and 20+ [`c4488e2`](https://github.com/ljharb/side-channel/commit/c4488e241ef3d49a19fe266ac830a2e644305911)
17
+ - [types] use shared tsconfig [`0e0d57c`](https://github.com/ljharb/side-channel/commit/0e0d57c2ff17c7b45c6cbd43ebcf553edc9e3adc)
18
+ - [Dev Deps] update `@ljharb/eslint-config`, `@ljharb/tsconfig`, `@types/get-intrinsic`, `@types/object-inspect`, `@types/tape`, `auto-changelog`, `tape` [`fb4f622`](https://github.com/ljharb/side-channel/commit/fb4f622e64a99a1e40b6e5cd7691674a9dc429e4)
19
+ - [Deps] update `call-bind`, `get-intrinsic`, `object-inspect` [`b78336b`](https://github.com/ljharb/side-channel/commit/b78336b886172d1b457d414ac9e28de8c5fecc78)
20
+ - [Tests] replace `aud` with `npm audit` [`ee3ab46`](https://github.com/ljharb/side-channel/commit/ee3ab4690d954311c35115651bcfd45edd205aa1)
21
+ - [Dev Deps] add missing peer dep [`c03e21a`](https://github.com/ljharb/side-channel/commit/c03e21a7def3b67cdc15ae22316884fefcb2f6a8)
22
+
8
23
  ## [v1.0.6](https://github.com/ljharb/side-channel/compare/v1.0.5...v1.0.6) - 2024-02-29
9
24
 
10
25
  ### Commits
@@ -1,2 +1,61 @@
1
- # side-channel
1
+ # side-channel <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
2
+
3
+ [![github actions][actions-image]][actions-url]
4
+ [![coverage][codecov-image]][codecov-url]
5
+ [![License][license-image]][license-url]
6
+ [![Downloads][downloads-image]][downloads-url]
7
+
8
+ [![npm badge][npm-badge-png]][package-url]
9
+
2
10
  Store information about any JS value in a side channel. Uses WeakMap if available.
11
+
12
+ Warning: in an environment that lacks `WeakMap`, this implementation will leak memory until you `delete` the `key`.
13
+
14
+ ## Getting started
15
+
16
+ ```sh
17
+ npm install --save side-channel
18
+ ```
19
+
20
+ ## Usage/Examples
21
+
22
+ ```js
23
+ const assert = require('assert');
24
+ const getSideChannel = require('side-channel');
25
+
26
+ const channel = getSideChannel();
27
+
28
+ const key = {};
29
+ assert.equal(channel.has(key), false);
30
+ assert.throws(() => channel.assert(key), TypeError);
31
+
32
+ channel.set(key, 42);
33
+
34
+ channel.assert(key); // does not throw
35
+ assert.equal(channel.has(key), true);
36
+ assert.equal(channel.get(key), 42);
37
+
38
+ channel.delete(key);
39
+ assert.equal(channel.has(key), false);
40
+ assert.throws(() => channel.assert(key), TypeError);
41
+ ```
42
+
43
+ ## Tests
44
+
45
+ Clone the repo, `npm install`, and run `npm test`
46
+
47
+ [package-url]: https://npmjs.org/package/side-channel
48
+ [npm-version-svg]: https://versionbadg.es/ljharb/side-channel.svg
49
+ [deps-svg]: https://david-dm.org/ljharb/side-channel.svg
50
+ [deps-url]: https://david-dm.org/ljharb/side-channel
51
+ [dev-deps-svg]: https://david-dm.org/ljharb/side-channel/dev-status.svg
52
+ [dev-deps-url]: https://david-dm.org/ljharb/side-channel#info=devDependencies
53
+ [npm-badge-png]: https://nodei.co/npm/side-channel.png?downloads=true&stars=true
54
+ [license-image]: https://img.shields.io/npm/l/side-channel.svg
55
+ [license-url]: LICENSE
56
+ [downloads-image]: https://img.shields.io/npm/dm/side-channel.svg
57
+ [downloads-url]: https://npm-stat.com/charts.html?package=side-channel
58
+ [codecov-image]: https://codecov.io/gh/ljharb/side-channel/branch/main/graphs/badge.svg
59
+ [codecov-url]: https://app.codecov.io/gh/ljharb/side-channel/
60
+ [actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/side-channel
61
+ [actions-url]: https://github.com/ljharb/side-channel/actions
@@ -1,27 +1,14 @@
1
- declare namespace getSideChannel {
2
- type Key = unknown;
3
- type ListNode<T> = {
4
- key: Key;
5
- next: ListNode<T>;
6
- value: T;
7
- };
8
- type RootNode<T> = {
9
- key: object;
10
- next: null | ListNode<T>;
11
- };
12
- function listGetNode<T>(list: RootNode<T>, key: ListNode<T>['key']): ListNode<T> | void;
13
- function listGet<T>(objects: RootNode<T>, key: ListNode<T>['key']): T | void;
14
- function listSet<T>(objects: RootNode<T>, key: ListNode<T>['key'], value: T): void;
15
- function listHas<T>(objects: RootNode<T>, key: ListNode<T>['key']): boolean;
1
+ import getSideChannelList from 'side-channel-list';
2
+ import getSideChannelMap from 'side-channel-map';
3
+ import getSideChannelWeakMap from 'side-channel-weakmap';
16
4
 
17
- type Channel = {
18
- assert: (key: Key) => void;
19
- has: (key: Key) => boolean;
20
- get: <T>(key: Key) => T;
21
- set: <T>(key: Key, value: T) => void;
22
- }
5
+ declare namespace getSideChannel {
6
+ type Channel<K, V> =
7
+ | getSideChannelList.Channel<K, V>
8
+ | ReturnType<Exclude<typeof getSideChannelMap<K, V>, false>>
9
+ | ReturnType<Exclude<typeof getSideChannelWeakMap<K, V>, false>>;
23
10
  }
24
11
 
25
- declare function getSideChannel(): getSideChannel.Channel;
12
+ declare function getSideChannel<K, V>(): getSideChannel.Channel<K, V>;
26
13
 
27
14
  export = getSideChannel;