open-agreements 0.7.6 → 0.7.7

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 (250) hide show
  1. package/README.md +1 -1
  2. package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
  3. package/content/templates/openagreements-due-diligence-request-list/template.md +1 -1
  4. package/dist/core/fill-pipeline.d.ts.map +1 -1
  5. package/dist/core/fill-pipeline.js +0 -8
  6. package/dist/core/fill-pipeline.js.map +1 -1
  7. package/dist/core/unified-pipeline.d.ts.map +1 -1
  8. package/dist/core/unified-pipeline.js +4 -6
  9. package/dist/core/unified-pipeline.js.map +1 -1
  10. package/gemini-extension.json +1 -1
  11. package/node_modules/@xmldom/xmldom/CHANGELOG.md +939 -0
  12. package/node_modules/@xmldom/xmldom/LICENSE +8 -0
  13. package/node_modules/@xmldom/xmldom/SECURITY.md +50 -0
  14. package/node_modules/@xmldom/xmldom/index.d.ts +1664 -0
  15. package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +3 -0
  16. package/node_modules/@xmldom/xmldom/lib/conventions.js +429 -0
  17. package/node_modules/@xmldom/xmldom/lib/dom-parser.js +586 -0
  18. package/node_modules/@xmldom/xmldom/lib/dom.js +3192 -0
  19. package/node_modules/@xmldom/xmldom/lib/entities.js +2171 -0
  20. package/node_modules/@xmldom/xmldom/lib/errors.js +202 -0
  21. package/node_modules/@xmldom/xmldom/lib/grammar.js +533 -0
  22. package/node_modules/@xmldom/xmldom/lib/index.js +41 -0
  23. package/node_modules/@xmldom/xmldom/lib/sax.js +929 -0
  24. package/node_modules/@xmldom/xmldom/package.json +74 -0
  25. package/node_modules/@xmldom/xmldom/readme.md +364 -0
  26. package/node_modules/core-util-is/LICENSE +19 -0
  27. package/node_modules/core-util-is/README.md +3 -0
  28. package/node_modules/core-util-is/lib/util.js +107 -0
  29. package/node_modules/core-util-is/package.json +38 -0
  30. package/node_modules/immediate/LICENSE.txt +20 -0
  31. package/node_modules/immediate/README.md +93 -0
  32. package/node_modules/immediate/dist/immediate.js +75 -0
  33. package/node_modules/immediate/dist/immediate.min.js +1 -0
  34. package/node_modules/immediate/lib/browser.js +69 -0
  35. package/node_modules/immediate/lib/index.js +73 -0
  36. package/node_modules/immediate/package.json +42 -0
  37. package/node_modules/inherits/LICENSE +16 -0
  38. package/node_modules/inherits/README.md +42 -0
  39. package/node_modules/inherits/inherits.js +9 -0
  40. package/node_modules/inherits/inherits_browser.js +27 -0
  41. package/node_modules/inherits/package.json +29 -0
  42. package/node_modules/isarray/.npmignore +1 -0
  43. package/node_modules/isarray/.travis.yml +4 -0
  44. package/node_modules/isarray/Makefile +6 -0
  45. package/node_modules/isarray/README.md +60 -0
  46. package/node_modules/isarray/component.json +19 -0
  47. package/node_modules/isarray/index.js +5 -0
  48. package/node_modules/isarray/package.json +45 -0
  49. package/node_modules/isarray/test.js +20 -0
  50. package/node_modules/jszip/.codeclimate.yml +16 -0
  51. package/node_modules/jszip/.editorconfig +8 -0
  52. package/node_modules/jszip/.eslintrc.js +43 -0
  53. package/node_modules/jszip/.github/workflows/pr.yaml +58 -0
  54. package/node_modules/jszip/.jekyll-metadata +0 -0
  55. package/node_modules/jszip/.travis.yml +17 -0
  56. package/node_modules/jszip/CHANGES.md +204 -0
  57. package/node_modules/jszip/LICENSE.markdown +651 -0
  58. package/node_modules/jszip/README.markdown +33 -0
  59. package/node_modules/jszip/deps.js +37 -0
  60. package/node_modules/jszip/dist/jszip.js +11577 -0
  61. package/node_modules/jszip/dist/jszip.min.js +13 -0
  62. package/node_modules/jszip/graph.svg +601 -0
  63. package/node_modules/jszip/index.d.ts +330 -0
  64. package/node_modules/jszip/lib/base64.js +106 -0
  65. package/node_modules/jszip/lib/compressedObject.js +74 -0
  66. package/node_modules/jszip/lib/compressions.js +14 -0
  67. package/node_modules/jszip/lib/crc32.js +77 -0
  68. package/node_modules/jszip/lib/defaults.js +11 -0
  69. package/node_modules/jszip/lib/external.js +18 -0
  70. package/node_modules/jszip/lib/flate.js +85 -0
  71. package/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
  72. package/node_modules/jszip/lib/generate/index.js +57 -0
  73. package/node_modules/jszip/lib/index.js +55 -0
  74. package/node_modules/jszip/lib/license_header.js +11 -0
  75. package/node_modules/jszip/lib/load.js +88 -0
  76. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
  77. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
  78. package/node_modules/jszip/lib/nodejsUtils.js +57 -0
  79. package/node_modules/jszip/lib/object.js +384 -0
  80. package/node_modules/jszip/lib/readable-stream-browser.js +10 -0
  81. package/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
  82. package/node_modules/jszip/lib/reader/DataReader.js +116 -0
  83. package/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
  84. package/node_modules/jszip/lib/reader/StringReader.js +38 -0
  85. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
  86. package/node_modules/jszip/lib/reader/readerFor.js +28 -0
  87. package/node_modules/jszip/lib/signature.js +7 -0
  88. package/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
  89. package/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
  90. package/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
  91. package/node_modules/jszip/lib/stream/DataWorker.js +116 -0
  92. package/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
  93. package/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
  94. package/node_modules/jszip/lib/support.js +38 -0
  95. package/node_modules/jszip/lib/utf8.js +275 -0
  96. package/node_modules/jszip/lib/utils.js +501 -0
  97. package/node_modules/jszip/lib/zipEntries.js +261 -0
  98. package/node_modules/jszip/lib/zipEntry.js +293 -0
  99. package/node_modules/jszip/lib/zipObject.js +133 -0
  100. package/node_modules/jszip/package.json +67 -0
  101. package/node_modules/jszip/sponsors.md +21 -0
  102. package/node_modules/jszip/tsconfig.json +101 -0
  103. package/node_modules/jszip/vendor/FileSaver.js +247 -0
  104. package/node_modules/lie/README.md +62 -0
  105. package/node_modules/lie/dist/lie.js +350 -0
  106. package/node_modules/lie/dist/lie.min.js +1 -0
  107. package/node_modules/lie/dist/lie.polyfill.js +358 -0
  108. package/node_modules/lie/dist/lie.polyfill.min.js +1 -0
  109. package/node_modules/lie/lib/browser.js +273 -0
  110. package/node_modules/lie/lib/index.js +298 -0
  111. package/node_modules/lie/license.md +7 -0
  112. package/node_modules/lie/lie.d.ts +244 -0
  113. package/node_modules/lie/package.json +69 -0
  114. package/node_modules/lie/polyfill.js +4 -0
  115. package/node_modules/pako/LICENSE +21 -0
  116. package/node_modules/pako/README.md +191 -0
  117. package/node_modules/pako/dist/pako.js +6818 -0
  118. package/node_modules/pako/dist/pako.min.js +1 -0
  119. package/node_modules/pako/dist/pako_deflate.js +3997 -0
  120. package/node_modules/pako/dist/pako_deflate.min.js +1 -0
  121. package/node_modules/pako/dist/pako_inflate.js +3300 -0
  122. package/node_modules/pako/dist/pako_inflate.min.js +1 -0
  123. package/node_modules/pako/index.js +14 -0
  124. package/node_modules/pako/lib/deflate.js +400 -0
  125. package/node_modules/pako/lib/inflate.js +423 -0
  126. package/node_modules/pako/lib/utils/common.js +105 -0
  127. package/node_modules/pako/lib/utils/strings.js +187 -0
  128. package/node_modules/pako/lib/zlib/README +59 -0
  129. package/node_modules/pako/lib/zlib/adler32.js +51 -0
  130. package/node_modules/pako/lib/zlib/constants.js +68 -0
  131. package/node_modules/pako/lib/zlib/crc32.js +59 -0
  132. package/node_modules/pako/lib/zlib/deflate.js +1874 -0
  133. package/node_modules/pako/lib/zlib/gzheader.js +58 -0
  134. package/node_modules/pako/lib/zlib/inffast.js +345 -0
  135. package/node_modules/pako/lib/zlib/inflate.js +1556 -0
  136. package/node_modules/pako/lib/zlib/inftrees.js +343 -0
  137. package/node_modules/pako/lib/zlib/messages.js +32 -0
  138. package/node_modules/pako/lib/zlib/trees.js +1222 -0
  139. package/node_modules/pako/lib/zlib/zstream.js +47 -0
  140. package/node_modules/pako/package.json +44 -0
  141. package/node_modules/process-nextick-args/index.js +45 -0
  142. package/node_modules/process-nextick-args/license.md +19 -0
  143. package/node_modules/process-nextick-args/package.json +25 -0
  144. package/node_modules/process-nextick-args/readme.md +18 -0
  145. package/node_modules/readable-stream/.travis.yml +34 -0
  146. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  147. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  148. package/node_modules/readable-stream/LICENSE +47 -0
  149. package/node_modules/readable-stream/README.md +58 -0
  150. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  151. package/node_modules/readable-stream/duplex-browser.js +1 -0
  152. package/node_modules/readable-stream/duplex.js +1 -0
  153. package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  154. package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  155. package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  156. package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  157. package/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  158. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  159. package/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  160. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  161. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  162. package/node_modules/readable-stream/package.json +52 -0
  163. package/node_modules/readable-stream/passthrough.js +1 -0
  164. package/node_modules/readable-stream/readable-browser.js +7 -0
  165. package/node_modules/readable-stream/readable.js +19 -0
  166. package/node_modules/readable-stream/transform.js +1 -0
  167. package/node_modules/readable-stream/writable-browser.js +1 -0
  168. package/node_modules/readable-stream/writable.js +8 -0
  169. package/node_modules/safe-buffer/LICENSE +21 -0
  170. package/node_modules/safe-buffer/README.md +584 -0
  171. package/node_modules/safe-buffer/index.d.ts +187 -0
  172. package/node_modules/safe-buffer/index.js +62 -0
  173. package/node_modules/safe-buffer/package.json +37 -0
  174. package/node_modules/setimmediate/LICENSE.txt +20 -0
  175. package/node_modules/setimmediate/package.json +30 -0
  176. package/node_modules/setimmediate/setImmediate.js +186 -0
  177. package/node_modules/string_decoder/.travis.yml +50 -0
  178. package/node_modules/string_decoder/LICENSE +48 -0
  179. package/node_modules/string_decoder/README.md +47 -0
  180. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  181. package/node_modules/string_decoder/package.json +31 -0
  182. package/node_modules/util-deprecate/History.md +16 -0
  183. package/node_modules/util-deprecate/LICENSE +24 -0
  184. package/node_modules/util-deprecate/README.md +53 -0
  185. package/node_modules/util-deprecate/browser.js +67 -0
  186. package/node_modules/util-deprecate/node.js +6 -0
  187. package/node_modules/util-deprecate/package.json +27 -0
  188. package/package.json +1 -1
  189. package/skills/client-email/SKILL.md +8 -6
  190. package/skills/employment-contract/SKILL.md +23 -6
  191. package/skills/non-compete-contract-explainer/content/alabama.md +251 -0
  192. package/skills/non-compete-contract-explainer/content/alaska.md +160 -0
  193. package/skills/non-compete-contract-explainer/content/american-samoa.md +187 -0
  194. package/skills/non-compete-contract-explainer/content/arizona.md +293 -0
  195. package/skills/non-compete-contract-explainer/content/arkansas.md +235 -0
  196. package/skills/non-compete-contract-explainer/content/california.md +270 -0
  197. package/skills/non-compete-contract-explainer/content/cnmi.md +168 -0
  198. package/skills/non-compete-contract-explainer/content/colorado.md +277 -0
  199. package/skills/non-compete-contract-explainer/content/connecticut.md +220 -0
  200. package/skills/non-compete-contract-explainer/content/delaware.md +222 -0
  201. package/skills/non-compete-contract-explainer/content/district-of-columbia.md +263 -0
  202. package/skills/non-compete-contract-explainer/content/florida.md +267 -0
  203. package/skills/non-compete-contract-explainer/content/georgia.md +323 -0
  204. package/skills/non-compete-contract-explainer/content/guam.md +180 -0
  205. package/skills/non-compete-contract-explainer/content/hawaii.md +236 -0
  206. package/skills/non-compete-contract-explainer/content/idaho.md +258 -0
  207. package/skills/non-compete-contract-explainer/content/illinois.md +266 -0
  208. package/skills/non-compete-contract-explainer/content/india.md +269 -0
  209. package/skills/non-compete-contract-explainer/content/indiana.md +253 -0
  210. package/skills/non-compete-contract-explainer/content/iowa.md +232 -0
  211. package/skills/non-compete-contract-explainer/content/kansas.md +227 -0
  212. package/skills/non-compete-contract-explainer/content/kentucky.md +201 -0
  213. package/skills/non-compete-contract-explainer/content/louisiana.md +272 -0
  214. package/skills/non-compete-contract-explainer/content/maine.md +178 -0
  215. package/skills/non-compete-contract-explainer/content/maryland.md +244 -0
  216. package/skills/non-compete-contract-explainer/content/massachusetts.md +272 -0
  217. package/skills/non-compete-contract-explainer/content/michigan.md +222 -0
  218. package/skills/non-compete-contract-explainer/content/minnesota.md +171 -0
  219. package/skills/non-compete-contract-explainer/content/mississippi.md +237 -0
  220. package/skills/non-compete-contract-explainer/content/missouri.md +219 -0
  221. package/skills/non-compete-contract-explainer/content/montana.md +202 -0
  222. package/skills/non-compete-contract-explainer/content/nebraska.md +206 -0
  223. package/skills/non-compete-contract-explainer/content/nevada.md +278 -0
  224. package/skills/non-compete-contract-explainer/content/new-hampshire.md +233 -0
  225. package/skills/non-compete-contract-explainer/content/new-jersey.md +277 -0
  226. package/skills/non-compete-contract-explainer/content/new-mexico.md +244 -0
  227. package/skills/non-compete-contract-explainer/content/new-york.md +226 -0
  228. package/skills/non-compete-contract-explainer/content/north-carolina.md +346 -0
  229. package/skills/non-compete-contract-explainer/content/north-dakota.md +187 -0
  230. package/skills/non-compete-contract-explainer/content/ohio.md +207 -0
  231. package/skills/non-compete-contract-explainer/content/oklahoma.md +196 -0
  232. package/skills/non-compete-contract-explainer/content/oregon.md +359 -0
  233. package/skills/non-compete-contract-explainer/content/pennsylvania.md +254 -0
  234. package/skills/non-compete-contract-explainer/content/philippines.md +211 -0
  235. package/skills/non-compete-contract-explainer/content/puerto-rico.md +163 -0
  236. package/skills/non-compete-contract-explainer/content/rhode-island.md +171 -0
  237. package/skills/non-compete-contract-explainer/content/singapore.md +229 -0
  238. package/skills/non-compete-contract-explainer/content/south-carolina.md +226 -0
  239. package/skills/non-compete-contract-explainer/content/south-dakota.md +222 -0
  240. package/skills/non-compete-contract-explainer/content/tennessee.md +251 -0
  241. package/skills/non-compete-contract-explainer/content/texas.md +297 -0
  242. package/skills/non-compete-contract-explainer/content/us-virgin-islands.md +193 -0
  243. package/skills/non-compete-contract-explainer/content/utah.md +250 -0
  244. package/skills/non-compete-contract-explainer/content/vermont.md +193 -0
  245. package/skills/non-compete-contract-explainer/content/virginia.md +213 -0
  246. package/skills/non-compete-contract-explainer/content/washington.md +296 -0
  247. package/skills/non-compete-contract-explainer/content/west-virginia.md +187 -0
  248. package/skills/non-compete-contract-explainer/content/wisconsin.md +293 -0
  249. package/skills/non-compete-contract-explainer/content/wyoming.md +55 -45
  250. package/skills/non-compete-contract-explainer/manifest.json +523 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Representation a of zip file in js
5
+ * @constructor
6
+ */
7
+ function JSZip() {
8
+ // if this constructor is used without `new`, it adds `new` before itself:
9
+ if(!(this instanceof JSZip)) {
10
+ return new JSZip();
11
+ }
12
+
13
+ if(arguments.length) {
14
+ throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
15
+ }
16
+
17
+ // object containing the files :
18
+ // {
19
+ // "folder/" : {...},
20
+ // "folder/data.txt" : {...}
21
+ // }
22
+ // NOTE: we use a null prototype because we do not
23
+ // want filenames like "toString" coming from a zip file
24
+ // to overwrite methods and attributes in a normal Object.
25
+ this.files = Object.create(null);
26
+
27
+ this.comment = null;
28
+
29
+ // Where we are in the hierarchy
30
+ this.root = "";
31
+ this.clone = function() {
32
+ var newObj = new JSZip();
33
+ for (var i in this) {
34
+ if (typeof this[i] !== "function") {
35
+ newObj[i] = this[i];
36
+ }
37
+ }
38
+ return newObj;
39
+ };
40
+ }
41
+ JSZip.prototype = require("./object");
42
+ JSZip.prototype.loadAsync = require("./load");
43
+ JSZip.support = require("./support");
44
+ JSZip.defaults = require("./defaults");
45
+
46
+ // TODO find a better way to handle this version,
47
+ // a require('package.json').version doesn't work with webpack, see #327
48
+ JSZip.version = "3.10.1";
49
+
50
+ JSZip.loadAsync = function (content, options) {
51
+ return new JSZip().loadAsync(content, options);
52
+ };
53
+
54
+ JSZip.external = require("./external");
55
+ module.exports = JSZip;
@@ -0,0 +1,11 @@
1
+ /*!
2
+
3
+ JSZip v__VERSION__ - A JavaScript class for generating and reading zip files
4
+ <http://stuartk.com/jszip>
5
+
6
+ (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
7
+ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
8
+
9
+ JSZip uses the library pako released under the MIT license :
10
+ https://github.com/nodeca/pako/blob/main/LICENSE
11
+ */
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var utils = require("./utils");
3
+ var external = require("./external");
4
+ var utf8 = require("./utf8");
5
+ var ZipEntries = require("./zipEntries");
6
+ var Crc32Probe = require("./stream/Crc32Probe");
7
+ var nodejsUtils = require("./nodejsUtils");
8
+
9
+ /**
10
+ * Check the CRC32 of an entry.
11
+ * @param {ZipEntry} zipEntry the zip entry to check.
12
+ * @return {Promise} the result.
13
+ */
14
+ function checkEntryCRC32(zipEntry) {
15
+ return new external.Promise(function (resolve, reject) {
16
+ var worker = zipEntry.decompressed.getContentWorker().pipe(new Crc32Probe());
17
+ worker.on("error", function (e) {
18
+ reject(e);
19
+ })
20
+ .on("end", function () {
21
+ if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) {
22
+ reject(new Error("Corrupted zip : CRC32 mismatch"));
23
+ } else {
24
+ resolve();
25
+ }
26
+ })
27
+ .resume();
28
+ });
29
+ }
30
+
31
+ module.exports = function (data, options) {
32
+ var zip = this;
33
+ options = utils.extend(options || {}, {
34
+ base64: false,
35
+ checkCRC32: false,
36
+ optimizedBinaryString: false,
37
+ createFolders: false,
38
+ decodeFileName: utf8.utf8decode
39
+ });
40
+
41
+ if (nodejsUtils.isNode && nodejsUtils.isStream(data)) {
42
+ return external.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file."));
43
+ }
44
+
45
+ return utils.prepareContent("the loaded zip file", data, true, options.optimizedBinaryString, options.base64)
46
+ .then(function (data) {
47
+ var zipEntries = new ZipEntries(options);
48
+ zipEntries.load(data);
49
+ return zipEntries;
50
+ }).then(function checkCRC32(zipEntries) {
51
+ var promises = [external.Promise.resolve(zipEntries)];
52
+ var files = zipEntries.files;
53
+ if (options.checkCRC32) {
54
+ for (var i = 0; i < files.length; i++) {
55
+ promises.push(checkEntryCRC32(files[i]));
56
+ }
57
+ }
58
+ return external.Promise.all(promises);
59
+ }).then(function addFiles(results) {
60
+ var zipEntries = results.shift();
61
+ var files = zipEntries.files;
62
+ for (var i = 0; i < files.length; i++) {
63
+ var input = files[i];
64
+
65
+ var unsafeName = input.fileNameStr;
66
+ var safeName = utils.resolve(input.fileNameStr);
67
+
68
+ zip.file(safeName, input.decompressed, {
69
+ binary: true,
70
+ optimizedBinaryString: true,
71
+ date: input.date,
72
+ dir: input.dir,
73
+ comment: input.fileCommentStr.length ? input.fileCommentStr : null,
74
+ unixPermissions: input.unixPermissions,
75
+ dosPermissions: input.dosPermissions,
76
+ createFolders: options.createFolders
77
+ });
78
+ if (!input.dir) {
79
+ zip.file(safeName).unsafeOriginalName = unsafeName;
80
+ }
81
+ }
82
+ if (zipEntries.zipComment.length) {
83
+ zip.comment = zipEntries.zipComment;
84
+ }
85
+
86
+ return zip;
87
+ });
88
+ };
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var utils = require("../utils");
4
+ var GenericWorker = require("../stream/GenericWorker");
5
+
6
+ /**
7
+ * A worker that use a nodejs stream as source.
8
+ * @constructor
9
+ * @param {String} filename the name of the file entry for this stream.
10
+ * @param {Readable} stream the nodejs stream.
11
+ */
12
+ function NodejsStreamInputAdapter(filename, stream) {
13
+ GenericWorker.call(this, "Nodejs stream input adapter for " + filename);
14
+ this._upstreamEnded = false;
15
+ this._bindStream(stream);
16
+ }
17
+
18
+ utils.inherits(NodejsStreamInputAdapter, GenericWorker);
19
+
20
+ /**
21
+ * Prepare the stream and bind the callbacks on it.
22
+ * Do this ASAP on node 0.10 ! A lazy binding doesn't always work.
23
+ * @param {Stream} stream the nodejs stream to use.
24
+ */
25
+ NodejsStreamInputAdapter.prototype._bindStream = function (stream) {
26
+ var self = this;
27
+ this._stream = stream;
28
+ stream.pause();
29
+ stream
30
+ .on("data", function (chunk) {
31
+ self.push({
32
+ data: chunk,
33
+ meta : {
34
+ percent : 0
35
+ }
36
+ });
37
+ })
38
+ .on("error", function (e) {
39
+ if(self.isPaused) {
40
+ this.generatedError = e;
41
+ } else {
42
+ self.error(e);
43
+ }
44
+ })
45
+ .on("end", function () {
46
+ if(self.isPaused) {
47
+ self._upstreamEnded = true;
48
+ } else {
49
+ self.end();
50
+ }
51
+ });
52
+ };
53
+ NodejsStreamInputAdapter.prototype.pause = function () {
54
+ if(!GenericWorker.prototype.pause.call(this)) {
55
+ return false;
56
+ }
57
+ this._stream.pause();
58
+ return true;
59
+ };
60
+ NodejsStreamInputAdapter.prototype.resume = function () {
61
+ if(!GenericWorker.prototype.resume.call(this)) {
62
+ return false;
63
+ }
64
+
65
+ if(this._upstreamEnded) {
66
+ this.end();
67
+ } else {
68
+ this._stream.resume();
69
+ }
70
+
71
+ return true;
72
+ };
73
+
74
+ module.exports = NodejsStreamInputAdapter;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var Readable = require("readable-stream").Readable;
4
+
5
+ var utils = require("../utils");
6
+ utils.inherits(NodejsStreamOutputAdapter, Readable);
7
+
8
+ /**
9
+ * A nodejs stream using a worker as source.
10
+ * @see the SourceWrapper in http://nodejs.org/api/stream.html
11
+ * @constructor
12
+ * @param {StreamHelper} helper the helper wrapping the worker
13
+ * @param {Object} options the nodejs stream options
14
+ * @param {Function} updateCb the update callback.
15
+ */
16
+ function NodejsStreamOutputAdapter(helper, options, updateCb) {
17
+ Readable.call(this, options);
18
+ this._helper = helper;
19
+
20
+ var self = this;
21
+ helper.on("data", function (data, meta) {
22
+ if (!self.push(data)) {
23
+ self._helper.pause();
24
+ }
25
+ if(updateCb) {
26
+ updateCb(meta);
27
+ }
28
+ })
29
+ .on("error", function(e) {
30
+ self.emit("error", e);
31
+ })
32
+ .on("end", function () {
33
+ self.push(null);
34
+ });
35
+ }
36
+
37
+
38
+ NodejsStreamOutputAdapter.prototype._read = function() {
39
+ this._helper.resume();
40
+ };
41
+
42
+ module.exports = NodejsStreamOutputAdapter;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ module.exports = {
4
+ /**
5
+ * True if this is running in Nodejs, will be undefined in a browser.
6
+ * In a browser, browserify won't include this file and the whole module
7
+ * will be resolved an empty object.
8
+ */
9
+ isNode : typeof Buffer !== "undefined",
10
+ /**
11
+ * Create a new nodejs Buffer from an existing content.
12
+ * @param {Object} data the data to pass to the constructor.
13
+ * @param {String} encoding the encoding to use.
14
+ * @return {Buffer} a new Buffer.
15
+ */
16
+ newBufferFrom: function(data, encoding) {
17
+ if (Buffer.from && Buffer.from !== Uint8Array.from) {
18
+ return Buffer.from(data, encoding);
19
+ } else {
20
+ if (typeof data === "number") {
21
+ // Safeguard for old Node.js versions. On newer versions,
22
+ // Buffer.from(number) / Buffer(number, encoding) already throw.
23
+ throw new Error("The \"data\" argument must not be a number");
24
+ }
25
+ return new Buffer(data, encoding);
26
+ }
27
+ },
28
+ /**
29
+ * Create a new nodejs Buffer with the specified size.
30
+ * @param {Integer} size the size of the buffer.
31
+ * @return {Buffer} a new Buffer.
32
+ */
33
+ allocBuffer: function (size) {
34
+ if (Buffer.alloc) {
35
+ return Buffer.alloc(size);
36
+ } else {
37
+ var buf = new Buffer(size);
38
+ buf.fill(0);
39
+ return buf;
40
+ }
41
+ },
42
+ /**
43
+ * Find out if an object is a Buffer.
44
+ * @param {Object} b the object to test.
45
+ * @return {Boolean} true if the object is a Buffer, false otherwise.
46
+ */
47
+ isBuffer : function(b){
48
+ return Buffer.isBuffer(b);
49
+ },
50
+
51
+ isStream : function (obj) {
52
+ return obj &&
53
+ typeof obj.on === "function" &&
54
+ typeof obj.pause === "function" &&
55
+ typeof obj.resume === "function";
56
+ }
57
+ };