@contrail/cli 3.4.5 → 3.4.6-alpha.cffb28e

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 (575) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/groups/import.js +4 -1
  3. package/dist/commands/load-local/index.js +25 -30
  4. package/dist/helpers/pipeline/formatters.d.ts +2 -3
  5. package/dist/helpers/pipeline/formatters.js +63 -63
  6. package/node_modules/@contrail/entity-compare/CHANGELOG.md +13 -0
  7. package/node_modules/@contrail/entity-compare/README.md +0 -0
  8. package/node_modules/@contrail/entity-compare/lib/entity-compare/entity-compare.client.d.ts +36 -0
  9. package/node_modules/@contrail/entity-compare/lib/entity-compare/entity-compare.client.js +118 -0
  10. package/node_modules/@contrail/entity-compare/lib/entity-compare/index.d.ts +1 -0
  11. package/node_modules/@contrail/entity-compare/lib/entity-compare/index.js +17 -0
  12. package/node_modules/@contrail/entity-compare/lib/entity-compare/mockData.d.ts +11 -0
  13. package/node_modules/@contrail/entity-compare/lib/entity-compare/mockData.js +99 -0
  14. package/node_modules/@contrail/entity-compare/lib/index.d.ts +1 -0
  15. package/node_modules/@contrail/entity-compare/lib/index.js +17 -0
  16. package/node_modules/@contrail/entity-compare/package.json +45 -0
  17. package/node_modules/@contrail/loader/lib/__mocks__/@contrail/cache.d.ts +2 -0
  18. package/node_modules/@contrail/loader/lib/__mocks__/@contrail/cache.js +18 -0
  19. package/node_modules/@contrail/loader/lib/base-processor.d.ts +17 -0
  20. package/node_modules/@contrail/loader/lib/base-processor.js +26 -0
  21. package/node_modules/@contrail/loader/lib/color-processor.d.ts +19 -0
  22. package/node_modules/@contrail/loader/lib/color-processor.js +76 -0
  23. package/node_modules/@contrail/loader/lib/color-processor.spec.d.ts +1 -0
  24. package/node_modules/@contrail/loader/lib/color-processor.spec.js +307 -0
  25. package/node_modules/@contrail/loader/lib/common/conditional-columns.d.ts +16 -0
  26. package/node_modules/@contrail/loader/lib/common/conditional-columns.js +84 -0
  27. package/node_modules/@contrail/loader/lib/common/conditional-columns.spec.d.ts +1 -0
  28. package/node_modules/@contrail/loader/lib/common/conditional-columns.spec.js +644 -0
  29. package/node_modules/@contrail/loader/lib/common/constants.d.ts +1 -0
  30. package/node_modules/@contrail/loader/lib/common/constants.js +4 -0
  31. package/node_modules/@contrail/loader/lib/common/csv-file-helper.d.ts +6 -0
  32. package/node_modules/@contrail/loader/lib/common/csv-file-helper.js +66 -0
  33. package/node_modules/@contrail/loader/lib/common/csv-file-helper.spec.d.ts +1 -0
  34. package/node_modules/@contrail/loader/lib/common/csv-file-helper.spec.js +34 -0
  35. package/node_modules/@contrail/loader/lib/common/data-transformer-functions.d.ts +32 -0
  36. package/node_modules/@contrail/loader/lib/common/data-transformer-functions.js +309 -0
  37. package/node_modules/@contrail/loader/lib/common/data-transformer.spec.d.ts +1 -0
  38. package/node_modules/@contrail/loader/lib/common/data-transformer.spec.js +744 -0
  39. package/node_modules/@contrail/loader/lib/common/entities-helper.d.ts +33 -0
  40. package/node_modules/@contrail/loader/lib/common/entities-helper.js +300 -0
  41. package/node_modules/@contrail/loader/lib/common/entities-helper.spec.d.ts +1 -0
  42. package/node_modules/@contrail/loader/lib/common/entities-helper.spec.js +287 -0
  43. package/node_modules/@contrail/loader/lib/common/entity-builder-helpers.d.ts +6 -0
  44. package/node_modules/@contrail/loader/lib/common/entity-builder-helpers.js +114 -0
  45. package/node_modules/@contrail/loader/lib/common/entity-builder-helpers.spec.d.ts +1 -0
  46. package/node_modules/@contrail/loader/lib/common/entity-builder-helpers.spec.js +137 -0
  47. package/node_modules/@contrail/loader/lib/common/file-helper.d.ts +3 -0
  48. package/node_modules/@contrail/loader/lib/common/file-helper.js +37 -0
  49. package/node_modules/@contrail/loader/lib/common/file-helper.spec.d.ts +1 -0
  50. package/node_modules/@contrail/loader/lib/common/file-helper.spec.js +65 -0
  51. package/node_modules/@contrail/loader/lib/common/size-range-helpers.d.ts +42 -0
  52. package/node_modules/@contrail/loader/lib/common/size-range-helpers.js +162 -0
  53. package/node_modules/@contrail/loader/lib/common/size-range-helpers.spec.d.ts +1 -0
  54. package/node_modules/@contrail/loader/lib/common/size-range-helpers.spec.js +320 -0
  55. package/node_modules/@contrail/loader/lib/common/type-helper.d.ts +18 -0
  56. package/node_modules/@contrail/loader/lib/common/type-helper.js +232 -0
  57. package/node_modules/@contrail/loader/lib/common/type-helper.spec.d.ts +1 -0
  58. package/node_modules/@contrail/loader/lib/common/type-helper.spec.js +110 -0
  59. package/node_modules/@contrail/loader/lib/common/util.d.ts +11 -0
  60. package/node_modules/@contrail/loader/lib/common/util.js +85 -0
  61. package/node_modules/@contrail/loader/lib/common/util.spec.d.ts +1 -0
  62. package/node_modules/@contrail/loader/lib/common/util.spec.js +109 -0
  63. package/node_modules/@contrail/loader/lib/constants.d.ts +29 -0
  64. package/node_modules/@contrail/loader/lib/constants.js +32 -0
  65. package/node_modules/@contrail/loader/lib/custom-entity-processor.d.ts +20 -0
  66. package/node_modules/@contrail/loader/lib/custom-entity-processor.js +59 -0
  67. package/node_modules/@contrail/loader/lib/custom-entity-processor.spec.d.ts +1 -0
  68. package/node_modules/@contrail/loader/lib/custom-entity-processor.spec.js +161 -0
  69. package/node_modules/@contrail/loader/lib/entities-v2/base-processor-v2.d.ts +27 -0
  70. package/node_modules/@contrail/loader/lib/entities-v2/base-processor-v2.js +55 -0
  71. package/node_modules/@contrail/loader/lib/entities-v2/colors-v2/color-processor-v2.d.ts +19 -0
  72. package/node_modules/@contrail/loader/lib/entities-v2/colors-v2/color-processor-v2.js +92 -0
  73. package/node_modules/@contrail/loader/lib/entities-v2/colors-v2/color-processor-v2.spec.d.ts +1 -0
  74. package/node_modules/@contrail/loader/lib/entities-v2/colors-v2/color-processor-v2.spec.js +456 -0
  75. package/node_modules/@contrail/loader/lib/entities-v2/custom-entities-v2/custom-entity-processor-v2.d.ts +20 -0
  76. package/node_modules/@contrail/loader/lib/entities-v2/custom-entities-v2/custom-entity-processor-v2.js +75 -0
  77. package/node_modules/@contrail/loader/lib/entities-v2/custom-entities-v2/custom-entity-processor-v2.spec.d.ts +1 -0
  78. package/node_modules/@contrail/loader/lib/entities-v2/custom-entities-v2/custom-entity-processor-v2.spec.js +211 -0
  79. package/node_modules/@contrail/loader/lib/entities-v2/entities-helper.d.ts +33 -0
  80. package/node_modules/@contrail/loader/lib/entities-v2/entities-helper.js +298 -0
  81. package/node_modules/@contrail/loader/lib/entities-v2/entities-helper.spec.d.ts +1 -0
  82. package/node_modules/@contrail/loader/lib/entities-v2/entities-helper.spec.js +137 -0
  83. package/node_modules/@contrail/loader/lib/entities-v2/entity-processor-v2.d.ts +36 -0
  84. package/node_modules/@contrail/loader/lib/entities-v2/entity-processor-v2.js +316 -0
  85. package/node_modules/@contrail/loader/lib/entities-v2/entity-processor-v2.spec.d.ts +1 -0
  86. package/node_modules/@contrail/loader/lib/entities-v2/entity-processor-v2.spec.js +973 -0
  87. package/node_modules/@contrail/loader/lib/entities-v2/file-preprocessor-v2.d.ts +40 -0
  88. package/node_modules/@contrail/loader/lib/entities-v2/file-preprocessor-v2.js +276 -0
  89. package/node_modules/@contrail/loader/lib/entities-v2/file-preprocessor-v2.spec.d.ts +1 -0
  90. package/node_modules/@contrail/loader/lib/entities-v2/file-preprocessor-v2.spec.js +161 -0
  91. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/assortment-processor.d.ts +49 -0
  92. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/assortment-processor.js +388 -0
  93. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/assortment-processor.spec.d.ts +1 -0
  94. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/assortment-processor.spec.js +411 -0
  95. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-helper.d.ts +20 -0
  96. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-helper.js +193 -0
  97. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-helper.spec.d.ts +1 -0
  98. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-helper.spec.js +190 -0
  99. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-processor.d.ts +37 -0
  100. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-processor.js +271 -0
  101. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-processor.spec.d.ts +1 -0
  102. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/item-processor.spec.js +654 -0
  103. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/partial-assortment-processor.d.ts +35 -0
  104. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/partial-assortment-processor.js +242 -0
  105. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/partial-assortment-processor.spec.d.ts +1 -0
  106. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/partial-assortment-processor.spec.js +167 -0
  107. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/project-item-processor.d.ts +20 -0
  108. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/project-item-processor.js +104 -0
  109. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/project-item-processor.spec.d.ts +1 -0
  110. package/node_modules/@contrail/loader/lib/entities-v2/linesheet-v2/project-item-processor.spec.js +172 -0
  111. package/node_modules/@contrail/loader/lib/entity-processor.d.ts +34 -0
  112. package/node_modules/@contrail/loader/lib/entity-processor.js +214 -0
  113. package/node_modules/@contrail/loader/lib/entity-processor.spec.d.ts +1 -0
  114. package/node_modules/@contrail/loader/lib/entity-processor.spec.js +693 -0
  115. package/node_modules/@contrail/loader/lib/file-preprocessor.d.ts +31 -0
  116. package/node_modules/@contrail/loader/lib/file-preprocessor.js +212 -0
  117. package/node_modules/@contrail/loader/lib/file-preprocessor.spec.d.ts +1 -0
  118. package/node_modules/@contrail/loader/lib/file-preprocessor.spec.js +151 -0
  119. package/node_modules/@contrail/loader/lib/index.d.ts +9 -941
  120. package/node_modules/@contrail/loader/lib/index.js +25 -12492
  121. package/node_modules/@contrail/loader/lib/mockData.d.ts +36 -0
  122. package/node_modules/@contrail/loader/lib/mockData.js +209 -0
  123. package/node_modules/@contrail/loader/lib/pipeline/assortment-execute-helpers.d.ts +9 -0
  124. package/node_modules/@contrail/loader/lib/pipeline/assortment-execute-helpers.js +226 -0
  125. package/node_modules/@contrail/loader/lib/pipeline/assortment-execute-helpers.spec.d.ts +1 -0
  126. package/node_modules/@contrail/loader/lib/pipeline/assortment-execute-helpers.spec.js +305 -0
  127. package/node_modules/@contrail/loader/lib/pipeline/coerce-values-by-type.d.ts +7 -0
  128. package/node_modules/@contrail/loader/lib/pipeline/coerce-values-by-type.js +133 -0
  129. package/node_modules/@contrail/loader/lib/pipeline/execute-multi-type.spec.d.ts +1 -0
  130. package/node_modules/@contrail/loader/lib/pipeline/execute-multi-type.spec.js +454 -0
  131. package/node_modules/@contrail/loader/lib/pipeline/execute.d.ts +3 -0
  132. package/node_modules/@contrail/loader/lib/pipeline/execute.js +271 -0
  133. package/node_modules/@contrail/loader/lib/pipeline/execute.spec.d.ts +1 -0
  134. package/node_modules/@contrail/loader/lib/pipeline/execute.spec.js +186 -0
  135. package/node_modules/@contrail/loader/lib/pipeline/index.d.ts +7 -0
  136. package/node_modules/@contrail/loader/lib/pipeline/index.js +29 -0
  137. package/node_modules/@contrail/loader/lib/pipeline/item-execute-helpers.d.ts +38 -0
  138. package/node_modules/@contrail/loader/lib/pipeline/item-execute-helpers.js +517 -0
  139. package/node_modules/@contrail/loader/lib/pipeline/item-execute-helpers.spec.d.ts +1 -0
  140. package/node_modules/@contrail/loader/lib/pipeline/item-execute-helpers.spec.js +170 -0
  141. package/node_modules/@contrail/loader/lib/pipeline/loader-pipeline.d.ts +10 -0
  142. package/node_modules/@contrail/loader/lib/pipeline/loader-pipeline.js +26 -0
  143. package/node_modules/@contrail/loader/lib/pipeline/loader-pipeline.spec.d.ts +1 -0
  144. package/node_modules/@contrail/loader/lib/pipeline/loader-pipeline.spec.js +125 -0
  145. package/node_modules/@contrail/loader/lib/pipeline/preview.d.ts +3 -0
  146. package/node_modules/@contrail/loader/lib/pipeline/preview.js +219 -0
  147. package/node_modules/@contrail/loader/lib/pipeline/preview.spec.d.ts +1 -0
  148. package/node_modules/@contrail/loader/lib/pipeline/preview.spec.js +155 -0
  149. package/node_modules/@contrail/loader/lib/pipeline/project-item-execute-helpers.d.ts +5 -0
  150. package/node_modules/@contrail/loader/lib/pipeline/project-item-execute-helpers.js +580 -0
  151. package/node_modules/@contrail/loader/lib/pipeline/transform.d.ts +3 -0
  152. package/node_modules/@contrail/loader/lib/pipeline/transform.js +356 -0
  153. package/node_modules/@contrail/loader/lib/pipeline/transform.spec.d.ts +1 -0
  154. package/node_modules/@contrail/loader/lib/pipeline/transform.spec.js +442 -0
  155. package/node_modules/@contrail/loader/lib/pipeline/types.d.ts +251 -0
  156. package/node_modules/@contrail/loader/lib/pipeline/types.js +140 -0
  157. package/node_modules/@contrail/loader/lib/pipeline/validate.d.ts +2 -0
  158. package/node_modules/@contrail/loader/lib/pipeline/validate.js +1217 -0
  159. package/node_modules/@contrail/loader/lib/pipeline/validate.spec.d.ts +1 -0
  160. package/node_modules/@contrail/loader/lib/pipeline/validate.spec.js +1214 -0
  161. package/node_modules/@contrail/loader/lib/processor-registry.d.ts +3 -0
  162. package/node_modules/@contrail/loader/lib/processor-registry.js +53 -0
  163. package/node_modules/@contrail/loader/lib/processor-registry.spec.d.ts +1 -0
  164. package/node_modules/@contrail/loader/lib/processor-registry.spec.js +8 -0
  165. package/node_modules/@contrail/loader/package.json +9 -11
  166. package/node_modules/@contrail/telemetry/CHANGELOG.md +24 -0
  167. package/node_modules/@contrail/telemetry/README.md +1 -0
  168. package/node_modules/@contrail/telemetry/lib/index.d.ts +1 -0
  169. package/node_modules/@contrail/telemetry/lib/index.js +17 -0
  170. package/node_modules/@contrail/telemetry/lib/logger/index.d.ts +3 -0
  171. package/node_modules/@contrail/telemetry/lib/logger/index.js +30 -0
  172. package/node_modules/@contrail/telemetry/package.json +44 -0
  173. package/node_modules/@pinojs/redact/.github/dependabot.yml +13 -0
  174. package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
  175. package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
  176. package/node_modules/@pinojs/redact/LICENSE +21 -0
  177. package/node_modules/@pinojs/redact/README.md +350 -0
  178. package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
  179. package/node_modules/@pinojs/redact/eslint.config.js +1 -0
  180. package/node_modules/@pinojs/redact/index.d.ts +52 -0
  181. package/node_modules/@pinojs/redact/index.js +529 -0
  182. package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
  183. package/node_modules/@pinojs/redact/package.json +37 -0
  184. package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
  185. package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
  186. package/node_modules/@pinojs/redact/test/index.test.js +824 -0
  187. package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
  188. package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
  189. package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
  190. package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
  191. package/node_modules/@pinojs/redact/tsconfig.json +19 -0
  192. package/node_modules/atomic-sleep/.travis.yml +11 -0
  193. package/node_modules/atomic-sleep/LICENSE +22 -0
  194. package/node_modules/atomic-sleep/index.js +38 -0
  195. package/node_modules/atomic-sleep/package.json +37 -0
  196. package/node_modules/atomic-sleep/readme.md +58 -0
  197. package/node_modules/atomic-sleep/test.js +47 -0
  198. package/node_modules/on-exit-leak-free/.github/dependabot.yml +12 -0
  199. package/node_modules/on-exit-leak-free/.github/workflows/ci.yml +46 -0
  200. package/node_modules/on-exit-leak-free/LICENSE +21 -0
  201. package/node_modules/on-exit-leak-free/README.md +54 -0
  202. package/node_modules/on-exit-leak-free/index.js +108 -0
  203. package/node_modules/on-exit-leak-free/package.json +37 -0
  204. package/node_modules/on-exit-leak-free/test/base.test.js +30 -0
  205. package/node_modules/on-exit-leak-free/test/event-emitter-leak.test.js +23 -0
  206. package/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js +33 -0
  207. package/node_modules/on-exit-leak-free/test/fixtures/close.js +21 -0
  208. package/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js +24 -0
  209. package/node_modules/on-exit-leak-free/test/fixtures/unregister.js +24 -0
  210. package/node_modules/pino/.nojekyll +0 -0
  211. package/node_modules/pino/.prettierignore +1 -0
  212. package/node_modules/pino/CNAME +1 -0
  213. package/node_modules/pino/CONTRIBUTING.md +30 -0
  214. package/node_modules/pino/LICENSE +21 -0
  215. package/node_modules/pino/README.md +177 -0
  216. package/node_modules/pino/SECURITY.md +87 -0
  217. package/node_modules/pino/benchmarks/basic.bench.js +95 -0
  218. package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
  219. package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
  220. package/node_modules/pino/benchmarks/child.bench.js +62 -0
  221. package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
  222. package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
  223. package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
  224. package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
  225. package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
  226. package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
  227. package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
  228. package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
  229. package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
  230. package/node_modules/pino/benchmarks/multistream.js +98 -0
  231. package/node_modules/pino/benchmarks/object.bench.js +82 -0
  232. package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
  233. package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
  234. package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
  235. package/node_modules/pino/bin.js +6 -0
  236. package/node_modules/pino/browser.js +547 -0
  237. package/node_modules/pino/build/sync-version.js +25 -0
  238. package/node_modules/pino/docs/api.md +1593 -0
  239. package/node_modules/pino/docs/asynchronous.md +40 -0
  240. package/node_modules/pino/docs/benchmarks.md +55 -0
  241. package/node_modules/pino/docs/browser.md +278 -0
  242. package/node_modules/pino/docs/bundling.md +40 -0
  243. package/node_modules/pino/docs/child-loggers.md +95 -0
  244. package/node_modules/pino/docs/diagnostics.md +16 -0
  245. package/node_modules/pino/docs/ecosystem.md +86 -0
  246. package/node_modules/pino/docs/help.md +345 -0
  247. package/node_modules/pino/docs/lts.md +64 -0
  248. package/node_modules/pino/docs/pretty.md +35 -0
  249. package/node_modules/pino/docs/redaction.md +135 -0
  250. package/node_modules/pino/docs/transports.md +1376 -0
  251. package/node_modules/pino/docs/web.md +309 -0
  252. package/node_modules/pino/eslint.config.js +28 -0
  253. package/node_modules/pino/examples/basic.js +43 -0
  254. package/node_modules/pino/examples/transport.js +68 -0
  255. package/node_modules/pino/favicon.ico +0 -0
  256. package/node_modules/pino/file.js +12 -0
  257. package/node_modules/pino/inc-version.sh +42 -0
  258. package/node_modules/pino/index.html +55 -0
  259. package/node_modules/pino/lib/caller.js +30 -0
  260. package/node_modules/pino/lib/constants.js +28 -0
  261. package/node_modules/pino/lib/deprecations.js +8 -0
  262. package/node_modules/pino/lib/levels.js +241 -0
  263. package/node_modules/pino/lib/meta.js +3 -0
  264. package/node_modules/pino/lib/multistream.js +203 -0
  265. package/node_modules/pino/lib/proto.js +256 -0
  266. package/node_modules/pino/lib/redaction.js +114 -0
  267. package/node_modules/pino/lib/symbols.js +74 -0
  268. package/node_modules/pino/lib/time.js +39 -0
  269. package/node_modules/pino/lib/tools.js +427 -0
  270. package/node_modules/pino/lib/transport-stream.js +56 -0
  271. package/node_modules/pino/lib/transport.js +289 -0
  272. package/node_modules/pino/lib/worker.js +194 -0
  273. package/node_modules/pino/package.json +120 -0
  274. package/node_modules/pino/pino.d.ts +908 -0
  275. package/node_modules/pino/pino.js +234 -0
  276. package/node_modules/pino/test/basic.test.js +886 -0
  277. package/node_modules/pino/test/broken-pipe.test.js +59 -0
  278. package/node_modules/pino/test/browser-child.test.js +132 -0
  279. package/node_modules/pino/test/browser-disabled.test.js +87 -0
  280. package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
  281. package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
  282. package/node_modules/pino/test/browser-levels.test.js +241 -0
  283. package/node_modules/pino/test/browser-serializers.test.js +352 -0
  284. package/node_modules/pino/test/browser-timestamp.test.js +88 -0
  285. package/node_modules/pino/test/browser-transmit.test.js +417 -0
  286. package/node_modules/pino/test/browser.test.js +698 -0
  287. package/node_modules/pino/test/complex-objects.test.js +36 -0
  288. package/node_modules/pino/test/crlf.test.js +34 -0
  289. package/node_modules/pino/test/custom-levels.test.js +267 -0
  290. package/node_modules/pino/test/diagnostics.test.js +107 -0
  291. package/node_modules/pino/test/error-key.test.js +37 -0
  292. package/node_modules/pino/test/error.test.js +403 -0
  293. package/node_modules/pino/test/escaping.test.js +93 -0
  294. package/node_modules/pino/test/esm/esm.mjs +14 -0
  295. package/node_modules/pino/test/esm/index.test.js +21 -0
  296. package/node_modules/pino/test/esm/named-exports.mjs +29 -0
  297. package/node_modules/pino/test/exit.test.js +79 -0
  298. package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
  299. package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
  300. package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
  301. package/node_modules/pino/test/fixtures/console-transport.js +13 -0
  302. package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
  303. package/node_modules/pino/test/fixtures/default-exit.js +8 -0
  304. package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
  305. package/node_modules/pino/test/fixtures/eval/index.js +13 -0
  306. package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
  307. package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
  308. package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
  309. package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
  310. package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
  311. package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
  312. package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
  313. package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
  314. package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
  315. package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
  316. package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
  317. package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
  318. package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
  319. package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
  320. package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
  321. package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
  322. package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
  323. package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
  324. package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
  325. package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
  326. package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
  327. package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
  328. package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
  329. package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
  330. package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
  331. package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
  332. package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
  333. package/node_modules/pino/test/fixtures/transport/index.js +12 -0
  334. package/node_modules/pino/test/fixtures/transport/package.json +5 -0
  335. package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
  336. package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
  337. package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
  338. package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
  339. package/node_modules/pino/test/fixtures/transport-main.js +9 -0
  340. package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
  341. package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
  342. package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
  343. package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
  344. package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
  345. package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
  346. package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
  347. package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
  348. package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
  349. package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
  350. package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
  351. package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
  352. package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
  353. package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
  354. package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
  355. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
  356. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
  357. package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
  358. package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
  359. package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
  360. package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
  361. package/node_modules/pino/test/formatters.test.js +364 -0
  362. package/node_modules/pino/test/helper.d.ts +4 -0
  363. package/node_modules/pino/test/helper.js +155 -0
  364. package/node_modules/pino/test/hooks.test.js +114 -0
  365. package/node_modules/pino/test/http.test.js +214 -0
  366. package/node_modules/pino/test/internals/version.test.js +17 -0
  367. package/node_modules/pino/test/is-level-enabled.test.js +179 -0
  368. package/node_modules/pino/test/jest/basic.spec.js +10 -0
  369. package/node_modules/pino/test/levels.test.js +810 -0
  370. package/node_modules/pino/test/metadata.test.js +120 -0
  371. package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
  372. package/node_modules/pino/test/mixin.test.js +241 -0
  373. package/node_modules/pino/test/multistream.test.js +729 -0
  374. package/node_modules/pino/test/redact.test.js +893 -0
  375. package/node_modules/pino/test/serializers.test.js +257 -0
  376. package/node_modules/pino/test/stdout-protection.test.js +41 -0
  377. package/node_modules/pino/test/syncfalse.test.js +186 -0
  378. package/node_modules/pino/test/timestamp-nano.test.js +37 -0
  379. package/node_modules/pino/test/timestamp.test.js +124 -0
  380. package/node_modules/pino/test/transport/big.test.js +42 -0
  381. package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
  382. package/node_modules/pino/test/transport/caller.test.js +24 -0
  383. package/node_modules/pino/test/transport/core.test.js +733 -0
  384. package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
  385. package/node_modules/pino/test/transport/crash.test.js +36 -0
  386. package/node_modules/pino/test/transport/module-link.test.js +241 -0
  387. package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
  388. package/node_modules/pino/test/transport/node-options.test.js +116 -0
  389. package/node_modules/pino/test/transport/pipeline.test.js +137 -0
  390. package/node_modules/pino/test/transport/preload.test.js +54 -0
  391. package/node_modules/pino/test/transport/repl.test.js +15 -0
  392. package/node_modules/pino/test/transport/sync-false.test.js +67 -0
  393. package/node_modules/pino/test/transport/sync-true.test.js +57 -0
  394. package/node_modules/pino/test/transport/targets.test.js +48 -0
  395. package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
  396. package/node_modules/pino/test/transport-stream.test.js +40 -0
  397. package/node_modules/pino/test/types/pino-import.test-d.cts +30 -0
  398. package/node_modules/pino/test/types/pino-multistream.test-d.ts +28 -0
  399. package/node_modules/pino/test/types/pino-top-export.test-d.ts +34 -0
  400. package/node_modules/pino/test/types/pino-transport.test-d.ts +156 -0
  401. package/node_modules/pino/test/types/pino-type-only.test-d.ts +75 -0
  402. package/node_modules/pino/test/types/pino.test-d.ts +683 -0
  403. package/node_modules/pino/test/types/pino.ts +91 -0
  404. package/node_modules/pino/tsconfig.json +14 -0
  405. package/node_modules/pino-abstract-transport/.github/dependabot.yml +13 -0
  406. package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +80 -0
  407. package/node_modules/pino-abstract-transport/.husky/pre-commit +4 -0
  408. package/node_modules/pino-abstract-transport/LICENSE +21 -0
  409. package/node_modules/pino-abstract-transport/README.md +171 -0
  410. package/node_modules/pino-abstract-transport/index.d.ts +122 -0
  411. package/node_modules/pino-abstract-transport/index.js +128 -0
  412. package/node_modules/pino-abstract-transport/package.json +41 -0
  413. package/node_modules/pino-abstract-transport/test/base.test.js +473 -0
  414. package/node_modules/pino-abstract-transport/test/fixtures/transport-async-iteration.js +22 -0
  415. package/node_modules/pino-abstract-transport/test/fixtures/transport-on-data.js +22 -0
  416. package/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js +24 -0
  417. package/node_modules/pino-abstract-transport/test/fixtures/worker-pipeline.js +15 -0
  418. package/node_modules/pino-abstract-transport/test/match.js +24 -0
  419. package/node_modules/pino-abstract-transport/test/types/index.test-d.ts +31 -0
  420. package/node_modules/pino-abstract-transport/test/worker.test.js +372 -0
  421. package/node_modules/pino-std-serializers/.editorconfig +13 -0
  422. package/node_modules/pino-std-serializers/.github/dependabot.yml +13 -0
  423. package/node_modules/pino-std-serializers/.github/workflows/ci.yml +81 -0
  424. package/node_modules/pino-std-serializers/LICENSE +7 -0
  425. package/node_modules/pino-std-serializers/Readme.md +182 -0
  426. package/node_modules/pino-std-serializers/eslint.config.js +7 -0
  427. package/node_modules/pino-std-serializers/index.d.ts +145 -0
  428. package/node_modules/pino-std-serializers/index.js +36 -0
  429. package/node_modules/pino-std-serializers/lib/err-helpers.js +118 -0
  430. package/node_modules/pino-std-serializers/lib/err-proto.js +48 -0
  431. package/node_modules/pino-std-serializers/lib/err-with-cause.js +48 -0
  432. package/node_modules/pino-std-serializers/lib/err.js +45 -0
  433. package/node_modules/pino-std-serializers/lib/req.js +100 -0
  434. package/node_modules/pino-std-serializers/lib/res.js +47 -0
  435. package/node_modules/pino-std-serializers/package.json +42 -0
  436. package/node_modules/pino-std-serializers/test/err-with-cause.test.js +187 -0
  437. package/node_modules/pino-std-serializers/test/err.test.js +200 -0
  438. package/node_modules/pino-std-serializers/test/req.test.js +477 -0
  439. package/node_modules/pino-std-serializers/test/res.test.js +120 -0
  440. package/node_modules/pino-std-serializers/test/types/index.test-d.ts +71 -0
  441. package/node_modules/pino-std-serializers/tsconfig.json +13 -0
  442. package/node_modules/process-warning/.gitattributes +2 -0
  443. package/node_modules/process-warning/.github/dependabot.yml +13 -0
  444. package/node_modules/process-warning/.github/workflows/ci.yml +22 -0
  445. package/node_modules/process-warning/LICENSE +21 -0
  446. package/node_modules/process-warning/README.md +118 -0
  447. package/node_modules/process-warning/benchmarks/warn.js +25 -0
  448. package/node_modules/process-warning/eslint.config.js +6 -0
  449. package/node_modules/process-warning/examples/example.js +11 -0
  450. package/node_modules/process-warning/index.js +124 -0
  451. package/node_modules/process-warning/package.json +73 -0
  452. package/node_modules/process-warning/test/emit-interpolated-string.test.js +34 -0
  453. package/node_modules/process-warning/test/emit-once-only.test.js +33 -0
  454. package/node_modules/process-warning/test/emit-reset.test.js +40 -0
  455. package/node_modules/process-warning/test/emit-set.test.js +35 -0
  456. package/node_modules/process-warning/test/emit-unlimited.test.js +42 -0
  457. package/node_modules/process-warning/test/index.test.js +99 -0
  458. package/node_modules/process-warning/test/issue-88.test.js +38 -0
  459. package/node_modules/process-warning/test/jest.test.js +24 -0
  460. package/node_modules/process-warning/test/no-warnings.test.js +80 -0
  461. package/node_modules/process-warning/test/promise.js +10 -0
  462. package/node_modules/process-warning/types/index.d.ts +37 -0
  463. package/node_modules/process-warning/types/index.test-d.ts +36 -0
  464. package/node_modules/quick-format-unescaped/.github/workflows/ci.yml +21 -0
  465. package/node_modules/quick-format-unescaped/LICENSE +21 -0
  466. package/node_modules/quick-format-unescaped/benchmark.js +24 -0
  467. package/node_modules/quick-format-unescaped/index.js +109 -0
  468. package/node_modules/quick-format-unescaped/package.json +29 -0
  469. package/node_modules/quick-format-unescaped/readme.md +66 -0
  470. package/node_modules/quick-format-unescaped/test/index.js +136 -0
  471. package/node_modules/real-require/LICENSE.md +21 -0
  472. package/node_modules/real-require/README.md +51 -0
  473. package/node_modules/real-require/package.json +49 -0
  474. package/node_modules/real-require/src/index.js +14 -0
  475. package/node_modules/safe-stable-stringify/LICENSE +21 -0
  476. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  477. package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
  478. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  479. package/node_modules/safe-stable-stringify/index.d.ts +22 -0
  480. package/node_modules/safe-stable-stringify/index.js +612 -0
  481. package/node_modules/safe-stable-stringify/package.json +65 -0
  482. package/node_modules/safe-stable-stringify/readme.md +177 -0
  483. package/node_modules/sonic-boom/.eslintignore +2 -0
  484. package/node_modules/sonic-boom/.taprc +3 -0
  485. package/node_modules/sonic-boom/LICENSE +21 -0
  486. package/node_modules/sonic-boom/README.md +153 -0
  487. package/node_modules/sonic-boom/bench.js +98 -0
  488. package/node_modules/sonic-boom/check.js +18 -0
  489. package/node_modules/sonic-boom/example.js +8 -0
  490. package/node_modules/sonic-boom/fixtures/firehose.js +22 -0
  491. package/node_modules/sonic-boom/index.js +733 -0
  492. package/node_modules/sonic-boom/package.json +52 -0
  493. package/node_modules/sonic-boom/test/destroy.test.js +49 -0
  494. package/node_modules/sonic-boom/test/end.test.js +98 -0
  495. package/node_modules/sonic-boom/test/flush-sync.test.js +140 -0
  496. package/node_modules/sonic-boom/test/flush.test.js +419 -0
  497. package/node_modules/sonic-boom/test/fsync.test.js +63 -0
  498. package/node_modules/sonic-boom/test/helper.js +42 -0
  499. package/node_modules/sonic-boom/test/minlength.test.js +35 -0
  500. package/node_modules/sonic-boom/test/mode.test.js +116 -0
  501. package/node_modules/sonic-boom/test/periodicflush.test.js +61 -0
  502. package/node_modules/sonic-boom/test/reopen.test.js +239 -0
  503. package/node_modules/sonic-boom/test/retry.test.js +414 -0
  504. package/node_modules/sonic-boom/test/sync.test.js +261 -0
  505. package/node_modules/sonic-boom/test/write.test.js +515 -0
  506. package/node_modules/sonic-boom/types/index.d.ts +63 -0
  507. package/node_modules/sonic-boom/types/tests/test.ts +4 -0
  508. package/node_modules/split2/LICENSE +13 -0
  509. package/node_modules/split2/README.md +85 -0
  510. package/node_modules/split2/bench.js +27 -0
  511. package/node_modules/split2/index.js +141 -0
  512. package/node_modules/split2/package.json +39 -0
  513. package/node_modules/split2/test.js +409 -0
  514. package/node_modules/thread-stream/.github/dependabot.yml +13 -0
  515. package/node_modules/thread-stream/.github/workflows/ci.yml +74 -0
  516. package/node_modules/thread-stream/.husky/pre-commit +4 -0
  517. package/node_modules/thread-stream/CLAUDE.md +53 -0
  518. package/node_modules/thread-stream/LICENSE +21 -0
  519. package/node_modules/thread-stream/README.md +135 -0
  520. package/node_modules/thread-stream/bench.js +85 -0
  521. package/node_modules/thread-stream/eslint.config.js +10 -0
  522. package/node_modules/thread-stream/index.d.ts +92 -0
  523. package/node_modules/thread-stream/index.js +541 -0
  524. package/node_modules/thread-stream/lib/indexes.js +9 -0
  525. package/node_modules/thread-stream/lib/wait.js +68 -0
  526. package/node_modules/thread-stream/lib/worker.js +179 -0
  527. package/node_modules/thread-stream/package.json +52 -0
  528. package/node_modules/thread-stream/test/base.test.js +259 -0
  529. package/node_modules/thread-stream/test/bench.test.js +38 -0
  530. package/node_modules/thread-stream/test/bundlers.test.js +59 -0
  531. package/node_modules/thread-stream/test/close-on-gc.js +37 -0
  532. package/node_modules/thread-stream/test/commonjs-fallback.test.js +75 -0
  533. package/node_modules/thread-stream/test/context.test.js +21 -0
  534. package/node_modules/thread-stream/test/create-and-exit.js +16 -0
  535. package/node_modules/thread-stream/test/custom-worker.js +9 -0
  536. package/node_modules/thread-stream/test/dir with spaces/test-package.zip +0 -0
  537. package/node_modules/thread-stream/test/emit-event.js +22 -0
  538. package/node_modules/thread-stream/test/end.test.js +56 -0
  539. package/node_modules/thread-stream/test/error.js +14 -0
  540. package/node_modules/thread-stream/test/esm.test.mjs +46 -0
  541. package/node_modules/thread-stream/test/event.test.js +24 -0
  542. package/node_modules/thread-stream/test/exit.js +14 -0
  543. package/node_modules/thread-stream/test/get-context.js +22 -0
  544. package/node_modules/thread-stream/test/helper.d.ts +1 -0
  545. package/node_modules/thread-stream/test/helper.js +26 -0
  546. package/node_modules/thread-stream/test/indexes.test.js +11 -0
  547. package/node_modules/thread-stream/test/multibyte-chars.test.mjs +75 -0
  548. package/node_modules/thread-stream/test/on-message.js +18 -0
  549. package/node_modules/thread-stream/test/pkg/index.js +37 -0
  550. package/node_modules/thread-stream/test/pkg/pkg.config.json +14 -0
  551. package/node_modules/thread-stream/test/pkg/pkg.test.js +45 -0
  552. package/node_modules/thread-stream/test/port.js +16 -0
  553. package/node_modules/thread-stream/test/post-message.test.js +23 -0
  554. package/node_modules/thread-stream/test/string-limit-2.test.js +35 -0
  555. package/node_modules/thread-stream/test/string-limit.test.js +37 -0
  556. package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
  557. package/node_modules/thread-stream/test/thread-management.test.js +138 -0
  558. package/node_modules/thread-stream/test/to-file-on-destroy.js +23 -0
  559. package/node_modules/thread-stream/test/to-file-on-final.js +24 -0
  560. package/node_modules/thread-stream/test/to-file.js +12 -0
  561. package/node_modules/thread-stream/test/to-file.mjs +8 -0
  562. package/node_modules/thread-stream/test/to-next.js +9 -0
  563. package/node_modules/thread-stream/test/transpiled.test.js +29 -0
  564. package/node_modules/thread-stream/test/ts/to-file.ts +10 -0
  565. package/node_modules/thread-stream/test/ts/transpile.sh +19 -0
  566. package/node_modules/thread-stream/test/ts-commonjs-default-export.zip +0 -0
  567. package/node_modules/thread-stream/test/ts-native.test.mjs +35 -0
  568. package/node_modules/thread-stream/test/ts-node-fallback.test.js +35 -0
  569. package/node_modules/thread-stream/test/uncaughtException.js +21 -0
  570. package/node_modules/thread-stream/test/unhandledRejection.js +21 -0
  571. package/node_modules/thread-stream/test/yarnrc.yml +7 -0
  572. package/node_modules/thread-stream/tsconfig.json +8 -0
  573. package/oclif.manifest.json +6 -7
  574. package/package.json +11 -3
  575. package/node_modules/@contrail/loader/lib/index.js.map +0 -1
@@ -0,0 +1,515 @@
1
+ 'use strict'
2
+
3
+ const { test } = require('tap')
4
+ const fs = require('fs')
5
+ const proxyquire = require('proxyquire')
6
+ const SonicBoom = require('../')
7
+ const { file, runTests } = require('./helper')
8
+
9
+ runTests(buildTests)
10
+
11
+ function buildTests (test, sync) {
12
+ // Reset the umask for testing
13
+ process.umask(0o000)
14
+
15
+ test('write things to a file descriptor', (t) => {
16
+ t.plan(6)
17
+
18
+ const dest = file()
19
+ const fd = fs.openSync(dest, 'w')
20
+ const stream = new SonicBoom({ fd, sync })
21
+
22
+ stream.on('ready', () => {
23
+ t.pass('ready emitted')
24
+ })
25
+
26
+ t.ok(stream.write('hello world\n'))
27
+ t.ok(stream.write('something else\n'))
28
+
29
+ stream.end()
30
+
31
+ stream.on('finish', () => {
32
+ fs.readFile(dest, 'utf8', (err, data) => {
33
+ t.error(err)
34
+ t.equal(data, 'hello world\nsomething else\n')
35
+ })
36
+ })
37
+ stream.on('close', () => {
38
+ t.pass('close emitted')
39
+ })
40
+ })
41
+
42
+ test('write things in a streaming fashion', (t) => {
43
+ t.plan(8)
44
+
45
+ const dest = file()
46
+ const fd = fs.openSync(dest, 'w')
47
+ const stream = new SonicBoom({ fd, sync })
48
+
49
+ stream.once('drain', () => {
50
+ fs.readFile(dest, 'utf8', (err, data) => {
51
+ t.error(err)
52
+ t.equal(data, 'hello world\n')
53
+ t.ok(stream.write('something else\n'))
54
+ })
55
+
56
+ stream.once('drain', () => {
57
+ fs.readFile(dest, 'utf8', (err, data) => {
58
+ t.error(err)
59
+ t.equal(data, 'hello world\nsomething else\n')
60
+ stream.end()
61
+ })
62
+ })
63
+ })
64
+
65
+ t.ok(stream.write('hello world\n'))
66
+
67
+ stream.on('finish', () => {
68
+ t.pass('finish emitted')
69
+ })
70
+ stream.on('close', () => {
71
+ t.pass('close emitted')
72
+ })
73
+ })
74
+
75
+ test('can be piped into', (t) => {
76
+ t.plan(4)
77
+
78
+ const dest = file()
79
+ const fd = fs.openSync(dest, 'w')
80
+ const stream = new SonicBoom({ fd, sync })
81
+ const source = fs.createReadStream(__filename, { encoding: 'utf8' })
82
+
83
+ source.pipe(stream)
84
+
85
+ stream.on('finish', () => {
86
+ fs.readFile(__filename, 'utf8', (err, expected) => {
87
+ t.error(err)
88
+ fs.readFile(dest, 'utf8', (err, data) => {
89
+ t.error(err)
90
+ t.equal(data, expected)
91
+ })
92
+ })
93
+ })
94
+ stream.on('close', () => {
95
+ t.pass('close emitted')
96
+ })
97
+ })
98
+
99
+ test('write things to a file', (t) => {
100
+ t.plan(6)
101
+
102
+ const dest = file()
103
+ const stream = new SonicBoom({ dest, sync })
104
+
105
+ stream.on('ready', () => {
106
+ t.pass('ready emitted')
107
+ })
108
+
109
+ t.ok(stream.write('hello world\n'))
110
+ t.ok(stream.write('something else\n'))
111
+
112
+ stream.end()
113
+
114
+ stream.on('finish', () => {
115
+ fs.readFile(dest, 'utf8', (err, data) => {
116
+ t.error(err)
117
+ t.equal(data, 'hello world\nsomething else\n')
118
+ })
119
+ })
120
+ stream.on('close', () => {
121
+ t.pass('close emitted')
122
+ })
123
+ })
124
+
125
+ test('minLength', (t) => {
126
+ t.plan(8)
127
+
128
+ const dest = file()
129
+ const stream = new SonicBoom({ dest, minLength: 4096, sync })
130
+
131
+ stream.on('ready', () => {
132
+ t.pass('ready emitted')
133
+ })
134
+
135
+ t.ok(stream.write('hello world\n'))
136
+ t.ok(stream.write('something else\n'))
137
+
138
+ const fail = t.fail
139
+ stream.on('drain', fail)
140
+
141
+ // bad use of timer
142
+ // TODO refactor
143
+ setTimeout(function () {
144
+ fs.readFile(dest, 'utf8', (err, data) => {
145
+ t.error(err)
146
+ t.equal(data, '')
147
+
148
+ stream.end()
149
+
150
+ stream.on('finish', () => {
151
+ fs.readFile(dest, 'utf8', (err, data) => {
152
+ t.error(err)
153
+ t.equal(data, 'hello world\nsomething else\n')
154
+ })
155
+ })
156
+ })
157
+ }, 100)
158
+
159
+ stream.on('close', () => {
160
+ t.pass('close emitted')
161
+ })
162
+ })
163
+
164
+ test('write later on recoverable error', (t) => {
165
+ t.plan(8)
166
+
167
+ const fakeFs = Object.create(fs)
168
+ const SonicBoom = proxyquire('../', {
169
+ fs: fakeFs
170
+ })
171
+
172
+ const dest = file()
173
+ const fd = fs.openSync(dest, 'w')
174
+ const stream = new SonicBoom({ fd, minLength: 0, sync })
175
+
176
+ stream.on('ready', () => {
177
+ t.pass('ready emitted')
178
+ })
179
+ stream.on('error', () => {
180
+ t.pass('error emitted')
181
+ })
182
+
183
+ if (sync) {
184
+ fakeFs.writeSync = function (fd, buf, enc) {
185
+ t.pass('fake fs.writeSync called')
186
+ throw new Error('recoverable error')
187
+ }
188
+ } else {
189
+ fakeFs.write = function (fd, buf, ...args) {
190
+ t.pass('fake fs.write called')
191
+ setTimeout(() => args.pop()(new Error('recoverable error')), 0)
192
+ }
193
+ }
194
+
195
+ t.ok(stream.write('hello world\n'))
196
+
197
+ setTimeout(() => {
198
+ if (sync) {
199
+ fakeFs.writeSync = fs.writeSync
200
+ } else {
201
+ fakeFs.write = fs.write
202
+ }
203
+
204
+ t.ok(stream.write('something else\n'))
205
+
206
+ stream.end()
207
+ stream.on('finish', () => {
208
+ fs.readFile(dest, 'utf8', (err, data) => {
209
+ t.error(err)
210
+ t.equal(data, 'hello world\nsomething else\n')
211
+ })
212
+ })
213
+ stream.on('close', () => {
214
+ t.pass('close emitted')
215
+ })
216
+ }, 0)
217
+ })
218
+
219
+ test('emit write events', (t) => {
220
+ t.plan(7)
221
+
222
+ const dest = file()
223
+ const stream = new SonicBoom({ dest, sync })
224
+
225
+ stream.on('ready', () => {
226
+ t.pass('ready emitted')
227
+ })
228
+
229
+ let length = 0
230
+ stream.on('write', (bytes) => {
231
+ length += bytes
232
+ })
233
+
234
+ t.ok(stream.write('hello world\n'))
235
+ t.ok(stream.write('something else\n'))
236
+
237
+ stream.end()
238
+
239
+ stream.on('finish', () => {
240
+ fs.readFile(dest, 'utf8', (err, data) => {
241
+ t.error(err)
242
+ t.equal(data, 'hello world\nsomething else\n')
243
+ t.equal(length, 27)
244
+ })
245
+ })
246
+ stream.on('close', () => {
247
+ t.pass('close emitted')
248
+ })
249
+ })
250
+
251
+ test('write multi-byte characters string over than maxWrite', (t) => {
252
+ const fakeFs = Object.create(fs)
253
+ const MAX_WRITE = 65535
254
+ fakeFs.write = function (fd, buf, ...args) {
255
+ // only write byteLength === MAX_WRITE
256
+ const _buf = Buffer.from(buf).subarray(0, MAX_WRITE)
257
+ fs.writeSync(fd, _buf)
258
+ setImmediate(args[args.length - 1], null, MAX_WRITE)
259
+ fakeFs.write = function (fd, buf, ...args) {
260
+ fs.write(fd, buf, ...args)
261
+ }
262
+ }
263
+ const SonicBoom = proxyquire('../', {
264
+ fs: fakeFs
265
+ })
266
+ const dest = file()
267
+ const fd = fs.openSync(dest, 'w')
268
+ const stream = new SonicBoom({ fd, minLength: 0, sync, maxWrite: MAX_WRITE })
269
+ let buf = Buffer.alloc(MAX_WRITE).fill('x')
270
+ buf = '🌲' + buf.toString()
271
+ stream.write(buf)
272
+ stream.end()
273
+
274
+ stream.on('finish', () => {
275
+ fs.readFile(dest, 'utf8', (err, data) => {
276
+ t.error(err)
277
+ t.equal(data, buf)
278
+ t.end()
279
+ })
280
+ })
281
+ stream.on('close', () => {
282
+ t.pass('close emitted')
283
+ })
284
+ stream.on('error', () => {
285
+ t.pass('error emitted')
286
+ })
287
+ })
288
+
289
+ test('partial writes must preserve split utf8 characters', (t) => {
290
+ t.plan(4)
291
+
292
+ const fakeFs = Object.create(fs)
293
+ const SonicBoom = proxyquire('../', {
294
+ fs: fakeFs
295
+ })
296
+
297
+ const dest = file()
298
+ const fd = fs.openSync(dest, 'w')
299
+ const stream = new SonicBoom({ fd, minLength: 0, sync })
300
+
301
+ const input = 'hello🌍world'
302
+ let calls = 0
303
+
304
+ if (sync) {
305
+ fakeFs.writeSync = function (fd, buf, enc) {
306
+ calls++
307
+ if (calls === 1) {
308
+ const first = Buffer.from(buf).subarray(0, 7)
309
+ fs.writeSync(fd, first)
310
+ return 7
311
+ }
312
+ return fs.writeSync(fd, buf)
313
+ }
314
+ } else {
315
+ fakeFs.write = function (fd, buf, ...args) {
316
+ calls++
317
+ const cb = args[args.length - 1]
318
+ if (calls === 1) {
319
+ const first = Buffer.from(buf).subarray(0, 7)
320
+ fs.write(fd, first, (err, n) => cb(err, n))
321
+ return
322
+ }
323
+ fs.write(fd, buf, cb)
324
+ }
325
+ }
326
+
327
+ stream.write(input)
328
+ stream.end()
329
+
330
+ stream.on('close', () => {
331
+ const data = fs.readFileSync(dest, 'utf8')
332
+ t.equal(calls, 2)
333
+ t.equal(data, input)
334
+ t.equal(data.includes('�'), false)
335
+ t.equal(data.includes('🌍'), true)
336
+ })
337
+ })
338
+ }
339
+
340
+ test('write buffers that are not totally written', (t) => {
341
+ t.plan(9)
342
+
343
+ const fakeFs = Object.create(fs)
344
+ fakeFs.write = function (fd, buf, ...args) {
345
+ t.pass('fake fs.write called')
346
+ fakeFs.write = function (fd, buf, ...args) {
347
+ t.pass('calling real fs.write, ' + buf)
348
+ fs.write(fd, buf, ...args)
349
+ }
350
+ process.nextTick(args[args.length - 1], null, 0)
351
+ }
352
+ const SonicBoom = proxyquire('../', {
353
+ fs: fakeFs
354
+ })
355
+
356
+ const dest = file()
357
+ const fd = fs.openSync(dest, 'w')
358
+ const stream = new SonicBoom({ fd, minLength: 0, sync: false })
359
+
360
+ stream.on('ready', () => {
361
+ t.pass('ready emitted')
362
+ })
363
+
364
+ t.ok(stream.write('hello world\n'))
365
+ t.ok(stream.write('something else\n'))
366
+
367
+ stream.end()
368
+
369
+ stream.on('finish', () => {
370
+ fs.readFile(dest, 'utf8', (err, data) => {
371
+ t.error(err)
372
+ t.equal(data, 'hello world\nsomething else\n')
373
+ })
374
+ })
375
+ stream.on('close', () => {
376
+ t.pass('close emitted')
377
+ })
378
+ })
379
+
380
+ test('write enormously large buffers async', (t) => {
381
+ t.plan(3)
382
+
383
+ const dest = file()
384
+ const fd = fs.openSync(dest, 'w')
385
+ const stream = new SonicBoom({ fd, minLength: 0, sync: false })
386
+
387
+ const buf = Buffer.alloc(1024).fill('x').toString() // 1 MB
388
+ let length = 0
389
+
390
+ for (let i = 0; i < 1024 * 512; i++) {
391
+ length += buf.length
392
+ stream.write(buf)
393
+ }
394
+
395
+ stream.end()
396
+
397
+ stream.on('finish', () => {
398
+ fs.stat(dest, (err, stat) => {
399
+ t.error(err)
400
+ t.equal(stat.size, length)
401
+ })
402
+ })
403
+ stream.on('close', () => {
404
+ t.pass('close emitted')
405
+ })
406
+ })
407
+
408
+ test('make sure `maxWrite` is passed', (t) => {
409
+ t.plan(1)
410
+ const dest = file()
411
+ const stream = new SonicBoom({ dest, maxLength: 65536 })
412
+ t.equal(stream.maxLength, 65536)
413
+ })
414
+
415
+ test('write enormously large buffers async atomicly', (t) => {
416
+ const fakeFs = Object.create(fs)
417
+ const SonicBoom = proxyquire('../', {
418
+ fs: fakeFs
419
+ })
420
+
421
+ const dest = file()
422
+ const fd = fs.openSync(dest, 'w')
423
+ const stream = new SonicBoom({ fd, minLength: 0, sync: false })
424
+
425
+ const buf = Buffer.alloc(1023).fill('x').toString()
426
+
427
+ fakeFs.write = function (fd, _buf, ...args) {
428
+ if (_buf.length % buf.length !== 0) {
429
+ t.fail('write called with wrong buffer size')
430
+ }
431
+
432
+ setImmediate(args[args.length - 1], null, _buf.length)
433
+ }
434
+
435
+ for (let i = 0; i < 1024 * 512; i++) {
436
+ stream.write(buf)
437
+ }
438
+
439
+ setImmediate(() => {
440
+ for (let i = 0; i < 1024 * 512; i++) {
441
+ stream.write(buf)
442
+ }
443
+
444
+ stream.end()
445
+ })
446
+
447
+ stream.on('close', () => {
448
+ t.pass('close emitted')
449
+ t.end()
450
+ })
451
+ })
452
+
453
+ test('write should not drop new data if buffer is not full', (t) => {
454
+ t.plan(2)
455
+ const fakeFs = Object.create(fs)
456
+ const SonicBoom = proxyquire('../', {
457
+ fs: fakeFs
458
+ })
459
+
460
+ const dest = file()
461
+ const fd = fs.openSync(dest, 'w')
462
+ const stream = new SonicBoom({ fd, minLength: 101, maxLength: 102, sync: false })
463
+
464
+ const buf = Buffer.alloc(100).fill('x').toString()
465
+
466
+ fakeFs.write = function (fd, _buf, ...args) {
467
+ t.equal(_buf.length, buf.length + 2)
468
+ setImmediate(args[args.length - 1], null, _buf.length)
469
+ fakeFs.write = () => t.error('shouldnt call write again')
470
+ stream.end()
471
+ }
472
+
473
+ stream.on('drop', (data) => {
474
+ t.error('should not drop')
475
+ })
476
+
477
+ stream.write(buf)
478
+ stream.write('aa')
479
+
480
+ stream.on('close', () => {
481
+ t.pass('close emitted')
482
+ })
483
+ })
484
+
485
+ test('write should drop new data if buffer is full', (t) => {
486
+ t.plan(3)
487
+ const fakeFs = Object.create(fs)
488
+ const SonicBoom = proxyquire('../', {
489
+ fs: fakeFs
490
+ })
491
+
492
+ const dest = file()
493
+ const fd = fs.openSync(dest, 'w')
494
+ const stream = new SonicBoom({ fd, minLength: 101, maxLength: 102, sync: false })
495
+
496
+ const buf = Buffer.alloc(100).fill('x').toString()
497
+
498
+ fakeFs.write = function (fd, _buf, ...args) {
499
+ t.equal(_buf.length, buf.length)
500
+ setImmediate(args[args.length - 1], null, _buf.length)
501
+ fakeFs.write = () => t.error('shouldnt call write more than once')
502
+ }
503
+
504
+ stream.on('drop', (data) => {
505
+ t.equal(data.length, 3)
506
+ stream.end()
507
+ })
508
+
509
+ stream.write(buf)
510
+ stream.write('aaa')
511
+
512
+ stream.on('close', () => {
513
+ t.pass('close emitted')
514
+ })
515
+ })
@@ -0,0 +1,63 @@
1
+ // Type definitions for sonic-boom 0.7
2
+ // Definitions by: Alex Ferrando <https://github.com/alferpal>
3
+ // Igor Savin <https://github.com/kibertoad>
4
+ /// <reference types="node"/>
5
+
6
+ import { EventEmitter } from 'events';
7
+
8
+ export default SonicBoom;
9
+ export type SonicBoomOpts = {
10
+ fd?: number | string | symbol
11
+ dest?: string | number
12
+ maxLength?: number
13
+ minLength?: number
14
+ maxWrite?: number
15
+ periodicFlush?: number
16
+ sync?: boolean
17
+ fsync?: boolean
18
+ append?: boolean
19
+ mode?: string | number
20
+ mkdir?: boolean
21
+ contentMode?: 'buffer' | 'utf8'
22
+ retryEAGAIN?: (err: Error, writeBufferLen: number, remainingBufferLen: number) => boolean
23
+ }
24
+
25
+ export class SonicBoom extends EventEmitter {
26
+ /**
27
+ * @param [fileDescriptor] File path or numerical file descriptor
28
+ * relative protocol is enabled. Default: process.stdout
29
+ * @returns a new sonic-boom instance
30
+ */
31
+ constructor(opts: SonicBoomOpts)
32
+
33
+ /**
34
+ * Writes the string to the file. It will return false to signal the producer to slow down.
35
+ */
36
+ write(string: string): boolean;
37
+
38
+ /**
39
+ * Writes the current buffer to the file if a write was not in progress.
40
+ * Do nothing if minLength is zero or if it is already writing.
41
+ */
42
+ flush(cb?: (err?: Error) => unknown): void;
43
+
44
+ /**
45
+ * Reopen the file in place, useful for log rotation.
46
+ */
47
+ reopen(fileDescriptor?: string | number): void;
48
+
49
+ /**
50
+ * Flushes the buffered data synchronously. This is a costly operation.
51
+ */
52
+ flushSync(): void;
53
+
54
+ /**
55
+ * Closes the stream, the data will be flushed down asynchronously
56
+ */
57
+ end(): void;
58
+
59
+ /**
60
+ * Closes the stream immediately, the data is not flushed.
61
+ */
62
+ destroy(): void;
63
+ }
@@ -0,0 +1,4 @@
1
+ import { SonicBoom } from '../../'
2
+
3
+ const sonic = new SonicBoom({ fd: process.stdout.fd })
4
+ sonic.write('hello sonic\n')
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2014-2018, Matteo Collina <hello@matteocollina.com>
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any
4
+ purpose with or without fee is hereby granted, provided that the above
5
+ copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
13
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,85 @@
1
+ # Split2(matcher, mapper, options)
2
+
3
+ ![ci](https://github.com/mcollina/split2/workflows/ci/badge.svg)
4
+
5
+ Break up a stream and reassemble it so that each line is a chunk.
6
+ `split2` is inspired by [@dominictarr](https://github.com/dominictarr) [`split`](https://github.com/dominictarr/split) module,
7
+ and it is totally API compatible with it.
8
+ However, it is based on Node.js core [`Transform`](https://nodejs.org/api/stream.html#stream_new_stream_transform_options).
9
+
10
+ `matcher` may be a `String`, or a `RegExp`. Example, read every line in a file ...
11
+
12
+ ``` js
13
+ fs.createReadStream(file)
14
+ .pipe(split2())
15
+ .on('data', function (line) {
16
+ //each chunk now is a separate line!
17
+ })
18
+
19
+ ```
20
+
21
+ `split` takes the same arguments as `string.split` except it defaults to '/\r?\n/', and the optional `limit` paremeter is ignored.
22
+ [String#split](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split)
23
+
24
+ `split` takes an optional options object on it's third argument, which
25
+ is directly passed as a
26
+ [Transform](https://nodejs.org/api/stream.html#stream_new_stream_transform_options)
27
+ option.
28
+
29
+ Additionally, the `.maxLength` and `.skipOverflow` options are implemented, which set limits on the internal
30
+ buffer size and the stream's behavior when the limit is exceeded. There is no limit unless `maxLength` is set. When
31
+ the internal buffer size exceeds `maxLength`, the stream emits an error by default. You may also set `skipOverflow` to
32
+ true to suppress the error and instead skip past any lines that cause the internal buffer to exceed `maxLength`.
33
+
34
+ Calling `.destroy` will make the stream emit `close`. Use this to perform cleanup logic
35
+
36
+ ``` js
37
+ var splitFile = function(filename) {
38
+ var file = fs.createReadStream(filename)
39
+
40
+ return file
41
+ .pipe(split2())
42
+ .on('close', function() {
43
+ // destroy the file stream in case the split stream was destroyed
44
+ file.destroy()
45
+ })
46
+ }
47
+
48
+ var stream = splitFile('my-file.txt')
49
+
50
+ stream.destroy() // will destroy the input file stream
51
+ ```
52
+
53
+ # NDJ - Newline Delimited Json
54
+
55
+ `split2` accepts a function which transforms each line.
56
+
57
+ ``` js
58
+ fs.createReadStream(file)
59
+ .pipe(split2(JSON.parse))
60
+ .on('data', function (obj) {
61
+ //each chunk now is a js object
62
+ })
63
+ .on("error", function(error) {
64
+ //handling parsing errors
65
+ })
66
+ ```
67
+
68
+ However, in [@dominictarr](https://github.com/dominictarr) [`split`](https://github.com/dominictarr/split) the mapper
69
+ is wrapped in a try-catch, while here it is not: if your parsing logic can throw, wrap it yourself. Otherwise, you can also use the stream error handling when mapper function throw.
70
+
71
+ # License
72
+
73
+ Copyright (c) 2014-2021, Matteo Collina <hello@matteocollina.com>
74
+
75
+ Permission to use, copy, modify, and/or distribute this software for any
76
+ purpose with or without fee is hereby granted, provided that the above
77
+ copyright notice and this permission notice appear in all copies.
78
+
79
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
80
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
81
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
82
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
83
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
84
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
85
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,27 @@
1
+ 'use strict'
2
+
3
+ const split = require('./')
4
+ const bench = require('fastbench')
5
+ const binarySplit = require('binary-split')
6
+ const fs = require('fs')
7
+
8
+ function benchSplit (cb) {
9
+ fs.createReadStream('package.json')
10
+ .pipe(split())
11
+ .on('end', cb)
12
+ .resume()
13
+ }
14
+
15
+ function benchBinarySplit (cb) {
16
+ fs.createReadStream('package.json')
17
+ .pipe(binarySplit())
18
+ .on('end', cb)
19
+ .resume()
20
+ }
21
+
22
+ const run = bench([
23
+ benchSplit,
24
+ benchBinarySplit
25
+ ], 10000)
26
+
27
+ run(run)