@proteinjs/reflection-build 1.4.0 → 1.4.2

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 (287) hide show
  1. package/dist/test/examples/source-repository/a/generated/index.js +1 -1
  2. package/dist/test/examples/source-repository/a/generated/index.js.map +1 -1
  3. package/dist/test/examples/source-repository/b/generated/index.js +1 -1
  4. package/dist/test/examples/source-repository/b/generated/index.js.map +1 -1
  5. package/package.json +4 -5
  6. package/test/examples/source-repository/a/dist/generated/index.js +1 -1
  7. package/test/examples/source-repository/a/dist/generated/index.js.map +1 -1
  8. package/test/examples/source-repository/a/generated/index.ts +33 -38
  9. package/test/examples/source-repository/a/node_modules/.package-lock.json +63 -6
  10. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/.eslintrc.js +20 -0
  11. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/.prettierignore +4 -0
  12. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/.prettierrc +8 -0
  13. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/CHANGELOG.md +58 -0
  14. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/index.d.ts +5 -0
  15. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/index.js +18 -0
  16. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/index.js.map +1 -0
  17. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.d.ts +19 -0
  18. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js +555 -0
  19. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js.map +1 -0
  20. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/Loadable.d.ts +3 -0
  21. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/Loadable.js +5 -0
  22. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/Loadable.js.map +1 -0
  23. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepository.d.ts +45 -0
  24. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js +176 -0
  25. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js.map +1 -0
  26. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.d.ts +11 -0
  27. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js +9 -0
  28. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js.map +1 -0
  29. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.d.ts +13 -0
  30. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js +19 -0
  31. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js.map +1 -0
  32. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/types.d.ts +221 -0
  33. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/types.js +234 -0
  34. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/types.js.map +1 -0
  35. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/index.ts +5 -0
  36. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/jest.config.js +9 -0
  37. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/package.json +42 -0
  38. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/FlattenedSourceGraph.ts +702 -0
  39. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/Loadable.ts +2 -0
  40. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/SourceRepository.ts +250 -0
  41. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/SourceRepositoryFilter.ts +15 -0
  42. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/sourceGraphTypes.ts +14 -0
  43. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/types.ts +236 -0
  44. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/tsconfig.json +19 -0
  45. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/types/@dagrejs/graphlib.d.ts +1 -0
  46. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/CHANGELOG.md +44 -0
  47. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.d.ts +1 -0
  48. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js +52 -17
  49. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  50. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +4 -4
  51. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +8 -20
  52. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  53. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +2 -2
  54. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/Fs.ts +47 -18
  55. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/PackageUtil.ts +4 -8
  56. package/test/examples/source-repository/a/node_modules/bindings/LICENSE.md +22 -0
  57. package/test/examples/source-repository/a/node_modules/bindings/README.md +98 -0
  58. package/test/examples/source-repository/a/node_modules/bindings/bindings.js +221 -0
  59. package/test/examples/source-repository/a/node_modules/bindings/package.json +28 -0
  60. package/test/examples/source-repository/a/node_modules/file-uri-to-path/.travis.yml +30 -0
  61. package/test/examples/source-repository/a/node_modules/file-uri-to-path/History.md +21 -0
  62. package/test/examples/source-repository/a/node_modules/file-uri-to-path/LICENSE +20 -0
  63. package/test/examples/source-repository/a/node_modules/file-uri-to-path/README.md +74 -0
  64. package/test/examples/source-repository/a/node_modules/file-uri-to-path/index.d.ts +2 -0
  65. package/test/examples/source-repository/a/node_modules/file-uri-to-path/index.js +66 -0
  66. package/test/examples/source-repository/a/node_modules/file-uri-to-path/package.json +32 -0
  67. package/test/examples/source-repository/a/node_modules/file-uri-to-path/test/test.js +24 -0
  68. package/test/examples/source-repository/a/node_modules/file-uri-to-path/test/tests.json +13 -0
  69. package/test/examples/source-repository/a/node_modules/fsevents/LICENSE +22 -0
  70. package/test/examples/source-repository/a/node_modules/fsevents/README.md +89 -0
  71. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.d.ts +46 -0
  72. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.js +83 -0
  73. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.node +0 -0
  74. package/test/examples/source-repository/a/node_modules/fsevents/package.json +62 -0
  75. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/.travis.yml +103 -0
  76. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/ISSUE_TEMPLATE.md +8 -0
  77. package/{LICENSE → test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/LICENSE} +6 -5
  78. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/Readme.md +78 -0
  79. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/binding.gyp +21 -0
  80. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/.target.mk +53 -0
  81. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +352 -0
  82. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/.node.d +1 -0
  83. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d.raw +79 -0
  84. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.node +0 -0
  85. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/binding.Makefile +6 -0
  86. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/fse.target.mk +191 -0
  87. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/gyp-mac-tool +766 -0
  88. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/fsevents.cc +88 -0
  89. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/fsevents.js +106 -0
  90. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/install.js +13 -0
  91. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/package.json +34 -0
  92. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/async.cc +43 -0
  93. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/constants.cc +110 -0
  94. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/methods.cc +44 -0
  95. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/storage.cc +27 -0
  96. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/thread.cc +71 -0
  97. package/test/examples/source-repository/a/node_modules/nan/CHANGELOG.md +557 -0
  98. package/test/examples/source-repository/a/node_modules/nan/CMakeLists.txt +138 -0
  99. package/test/examples/source-repository/a/node_modules/nan/LICENSE.md +9 -0
  100. package/test/examples/source-repository/a/node_modules/nan/README.md +456 -0
  101. package/test/examples/source-repository/a/node_modules/nan/doc/asyncworker.md +146 -0
  102. package/test/examples/source-repository/a/node_modules/nan/doc/buffers.md +54 -0
  103. package/test/examples/source-repository/a/node_modules/nan/doc/callback.md +76 -0
  104. package/test/examples/source-repository/a/node_modules/nan/doc/converters.md +41 -0
  105. package/test/examples/source-repository/a/node_modules/nan/doc/errors.md +226 -0
  106. package/test/examples/source-repository/a/node_modules/nan/doc/json.md +62 -0
  107. package/test/examples/source-repository/a/node_modules/nan/doc/maybe_types.md +583 -0
  108. package/test/examples/source-repository/a/node_modules/nan/doc/methods.md +672 -0
  109. package/test/examples/source-repository/a/node_modules/nan/doc/new.md +147 -0
  110. package/test/examples/source-repository/a/node_modules/nan/doc/node_misc.md +123 -0
  111. package/test/examples/source-repository/a/node_modules/nan/doc/object_wrappers.md +263 -0
  112. package/test/examples/source-repository/a/node_modules/nan/doc/persistent.md +296 -0
  113. package/test/examples/source-repository/a/node_modules/nan/doc/scopes.md +73 -0
  114. package/test/examples/source-repository/a/node_modules/nan/doc/script.md +58 -0
  115. package/test/examples/source-repository/a/node_modules/nan/doc/string_bytes.md +62 -0
  116. package/test/examples/source-repository/a/node_modules/nan/doc/v8_internals.md +199 -0
  117. package/test/examples/source-repository/a/node_modules/nan/doc/v8_misc.md +85 -0
  118. package/test/examples/source-repository/a/node_modules/nan/include_dirs.js +1 -0
  119. package/test/examples/source-repository/a/node_modules/nan/nan.h +2958 -0
  120. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks.h +92 -0
  121. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks_12_inl.h +520 -0
  122. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks_pre_12_inl.h +520 -0
  123. package/test/examples/source-repository/a/node_modules/nan/nan_converters.h +72 -0
  124. package/test/examples/source-repository/a/node_modules/nan/nan_converters_43_inl.h +68 -0
  125. package/test/examples/source-repository/a/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  126. package/test/examples/source-repository/a/node_modules/nan/nan_define_own_property_helper.h +29 -0
  127. package/test/examples/source-repository/a/node_modules/nan/nan_implementation_12_inl.h +430 -0
  128. package/test/examples/source-repository/a/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  129. package/test/examples/source-repository/a/node_modules/nan/nan_json.h +166 -0
  130. package/test/examples/source-repository/a/node_modules/nan/nan_maybe_43_inl.h +356 -0
  131. package/test/examples/source-repository/a/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  132. package/test/examples/source-repository/a/node_modules/nan/nan_new.h +340 -0
  133. package/test/examples/source-repository/a/node_modules/nan/nan_object_wrap.h +156 -0
  134. package/test/examples/source-repository/a/node_modules/nan/nan_persistent_12_inl.h +132 -0
  135. package/test/examples/source-repository/a/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  136. package/test/examples/source-repository/a/node_modules/nan/nan_private.h +73 -0
  137. package/test/examples/source-repository/a/node_modules/nan/nan_scriptorigin.h +76 -0
  138. package/test/examples/source-repository/a/node_modules/nan/nan_string_bytes.h +305 -0
  139. package/test/examples/source-repository/a/node_modules/nan/nan_typedarray_contents.h +96 -0
  140. package/test/examples/source-repository/a/node_modules/nan/nan_weak.h +437 -0
  141. package/test/examples/source-repository/a/node_modules/nan/package.json +38 -0
  142. package/test/examples/source-repository/a/node_modules/nan/tools/1to2.js +412 -0
  143. package/test/examples/source-repository/a/node_modules/nan/tools/README.md +14 -0
  144. package/test/examples/source-repository/a/node_modules/nan/tools/package.json +19 -0
  145. package/test/examples/source-repository/a/package-lock.json +12 -8
  146. package/test/examples/source-repository/a/package.json +3 -3
  147. package/test/examples/source-repository/b/dist/generated/index.js +1 -1
  148. package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
  149. package/test/examples/source-repository/b/generated/index.ts +11 -10
  150. package/test/examples/source-repository/b/node_modules/.package-lock.json +61 -4
  151. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.eslintrc.js +20 -0
  152. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.prettierignore +4 -0
  153. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.prettierrc +8 -0
  154. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/CHANGELOG.md +58 -0
  155. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.d.ts +5 -0
  156. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.js +18 -0
  157. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.js.map +1 -0
  158. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.d.ts +19 -0
  159. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js +555 -0
  160. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js.map +1 -0
  161. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.d.ts +3 -0
  162. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.js +5 -0
  163. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.js.map +1 -0
  164. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.d.ts +45 -0
  165. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js +176 -0
  166. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js.map +1 -0
  167. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.d.ts +11 -0
  168. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js +9 -0
  169. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js.map +1 -0
  170. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.d.ts +13 -0
  171. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js +19 -0
  172. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js.map +1 -0
  173. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.d.ts +221 -0
  174. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.js +234 -0
  175. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.js.map +1 -0
  176. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/index.ts +5 -0
  177. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/jest.config.js +9 -0
  178. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/package.json +42 -0
  179. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/FlattenedSourceGraph.ts +702 -0
  180. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/Loadable.ts +2 -0
  181. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/SourceRepository.ts +250 -0
  182. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/SourceRepositoryFilter.ts +15 -0
  183. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/sourceGraphTypes.ts +14 -0
  184. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/types.ts +236 -0
  185. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/tsconfig.json +19 -0
  186. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/types/@dagrejs/graphlib.d.ts +1 -0
  187. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +44 -0
  188. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.d.ts +1 -0
  189. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js +52 -17
  190. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  191. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +4 -4
  192. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +8 -20
  193. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  194. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +2 -2
  195. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/Fs.ts +47 -18
  196. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/PackageUtil.ts +4 -8
  197. package/test/examples/source-repository/b/node_modules/bindings/LICENSE.md +22 -0
  198. package/test/examples/source-repository/b/node_modules/bindings/README.md +98 -0
  199. package/test/examples/source-repository/b/node_modules/bindings/bindings.js +221 -0
  200. package/test/examples/source-repository/b/node_modules/bindings/package.json +28 -0
  201. package/test/examples/source-repository/b/node_modules/file-uri-to-path/.travis.yml +30 -0
  202. package/test/examples/source-repository/b/node_modules/file-uri-to-path/History.md +21 -0
  203. package/test/examples/source-repository/b/node_modules/file-uri-to-path/LICENSE +20 -0
  204. package/test/examples/source-repository/b/node_modules/file-uri-to-path/README.md +74 -0
  205. package/test/examples/source-repository/b/node_modules/file-uri-to-path/index.d.ts +2 -0
  206. package/test/examples/source-repository/b/node_modules/file-uri-to-path/index.js +66 -0
  207. package/test/examples/source-repository/b/node_modules/file-uri-to-path/package.json +32 -0
  208. package/test/examples/source-repository/b/node_modules/file-uri-to-path/test/test.js +24 -0
  209. package/test/examples/source-repository/b/node_modules/file-uri-to-path/test/tests.json +13 -0
  210. package/test/examples/source-repository/b/node_modules/fsevents/LICENSE +22 -0
  211. package/test/examples/source-repository/b/node_modules/fsevents/README.md +89 -0
  212. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.d.ts +46 -0
  213. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.js +83 -0
  214. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.node +0 -0
  215. package/test/examples/source-repository/b/node_modules/fsevents/package.json +62 -0
  216. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/.travis.yml +103 -0
  217. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/ISSUE_TEMPLATE.md +8 -0
  218. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/LICENSE +22 -0
  219. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/Readme.md +78 -0
  220. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/binding.gyp +21 -0
  221. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/.target.mk +53 -0
  222. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +352 -0
  223. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/.node.d +1 -0
  224. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d.raw +79 -0
  225. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.node +0 -0
  226. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/binding.Makefile +6 -0
  227. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/fse.target.mk +191 -0
  228. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/gyp-mac-tool +766 -0
  229. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/fsevents.cc +88 -0
  230. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/fsevents.js +106 -0
  231. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/install.js +13 -0
  232. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/package.json +34 -0
  233. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/async.cc +43 -0
  234. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/constants.cc +110 -0
  235. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/methods.cc +44 -0
  236. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/storage.cc +27 -0
  237. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/thread.cc +71 -0
  238. package/test/examples/source-repository/b/node_modules/nan/CHANGELOG.md +557 -0
  239. package/test/examples/source-repository/b/node_modules/nan/CMakeLists.txt +138 -0
  240. package/test/examples/source-repository/b/node_modules/nan/LICENSE.md +9 -0
  241. package/test/examples/source-repository/b/node_modules/nan/README.md +456 -0
  242. package/test/examples/source-repository/b/node_modules/nan/doc/asyncworker.md +146 -0
  243. package/test/examples/source-repository/b/node_modules/nan/doc/buffers.md +54 -0
  244. package/test/examples/source-repository/b/node_modules/nan/doc/callback.md +76 -0
  245. package/test/examples/source-repository/b/node_modules/nan/doc/converters.md +41 -0
  246. package/test/examples/source-repository/b/node_modules/nan/doc/errors.md +226 -0
  247. package/test/examples/source-repository/b/node_modules/nan/doc/json.md +62 -0
  248. package/test/examples/source-repository/b/node_modules/nan/doc/maybe_types.md +583 -0
  249. package/test/examples/source-repository/b/node_modules/nan/doc/methods.md +672 -0
  250. package/test/examples/source-repository/b/node_modules/nan/doc/new.md +147 -0
  251. package/test/examples/source-repository/b/node_modules/nan/doc/node_misc.md +123 -0
  252. package/test/examples/source-repository/b/node_modules/nan/doc/object_wrappers.md +263 -0
  253. package/test/examples/source-repository/b/node_modules/nan/doc/persistent.md +296 -0
  254. package/test/examples/source-repository/b/node_modules/nan/doc/scopes.md +73 -0
  255. package/test/examples/source-repository/b/node_modules/nan/doc/script.md +58 -0
  256. package/test/examples/source-repository/b/node_modules/nan/doc/string_bytes.md +62 -0
  257. package/test/examples/source-repository/b/node_modules/nan/doc/v8_internals.md +199 -0
  258. package/test/examples/source-repository/b/node_modules/nan/doc/v8_misc.md +85 -0
  259. package/test/examples/source-repository/b/node_modules/nan/include_dirs.js +1 -0
  260. package/test/examples/source-repository/b/node_modules/nan/nan.h +2958 -0
  261. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks.h +92 -0
  262. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks_12_inl.h +520 -0
  263. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks_pre_12_inl.h +520 -0
  264. package/test/examples/source-repository/b/node_modules/nan/nan_converters.h +72 -0
  265. package/test/examples/source-repository/b/node_modules/nan/nan_converters_43_inl.h +68 -0
  266. package/test/examples/source-repository/b/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  267. package/test/examples/source-repository/b/node_modules/nan/nan_define_own_property_helper.h +29 -0
  268. package/test/examples/source-repository/b/node_modules/nan/nan_implementation_12_inl.h +430 -0
  269. package/test/examples/source-repository/b/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  270. package/test/examples/source-repository/b/node_modules/nan/nan_json.h +166 -0
  271. package/test/examples/source-repository/b/node_modules/nan/nan_maybe_43_inl.h +356 -0
  272. package/test/examples/source-repository/b/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  273. package/test/examples/source-repository/b/node_modules/nan/nan_new.h +340 -0
  274. package/test/examples/source-repository/b/node_modules/nan/nan_object_wrap.h +156 -0
  275. package/test/examples/source-repository/b/node_modules/nan/nan_persistent_12_inl.h +132 -0
  276. package/test/examples/source-repository/b/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  277. package/test/examples/source-repository/b/node_modules/nan/nan_private.h +73 -0
  278. package/test/examples/source-repository/b/node_modules/nan/nan_scriptorigin.h +76 -0
  279. package/test/examples/source-repository/b/node_modules/nan/nan_string_bytes.h +305 -0
  280. package/test/examples/source-repository/b/node_modules/nan/nan_typedarray_contents.h +96 -0
  281. package/test/examples/source-repository/b/node_modules/nan/nan_weak.h +437 -0
  282. package/test/examples/source-repository/b/node_modules/nan/package.json +38 -0
  283. package/test/examples/source-repository/b/node_modules/nan/tools/1to2.js +412 -0
  284. package/test/examples/source-repository/b/node_modules/nan/tools/README.md +14 -0
  285. package/test/examples/source-repository/b/node_modules/nan/tools/package.json +19 -0
  286. package/test/examples/source-repository/b/package-lock.json +10 -6
  287. package/test/examples/source-repository/b/package.json +3 -3
@@ -0,0 +1,88 @@
1
+ /*
2
+ ** © 2014 by Philipp Dunkel <pip@pipobscure.com>
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+ #include "nan.h"
7
+ #include "uv.h"
8
+ #include "v8.h"
9
+ #include "CoreFoundation/CoreFoundation.h"
10
+ #include "CoreServices/CoreServices.h"
11
+ #include <iostream>
12
+ #include <vector>
13
+
14
+ #include "src/storage.cc"
15
+ namespace fse {
16
+ class FSEvents : public Nan::ObjectWrap {
17
+ public:
18
+ explicit FSEvents(const char *path);
19
+ ~FSEvents();
20
+
21
+ uv_mutex_t mutex;
22
+
23
+ // async.cc
24
+ uv_async_t async;
25
+ void asyncStart();
26
+ void asyncTrigger();
27
+ void asyncStop();
28
+
29
+ // thread.cc
30
+ uv_thread_t thread;
31
+ CFRunLoopRef threadloop;
32
+ void threadStart();
33
+ static void threadRun(void *ctx);
34
+ void threadStop();
35
+
36
+ // methods.cc - internal
37
+ Nan::AsyncResource async_resource;
38
+ void emitEvent(const char *path, UInt32 flags, UInt64 id);
39
+
40
+ // Common
41
+ CFArrayRef paths;
42
+ std::vector<fse_event*> events;
43
+ static void Initialize(v8::Local<v8::Object> exports);
44
+
45
+ // methods.cc - exposed
46
+ static NAN_METHOD(New);
47
+ static NAN_METHOD(Stop);
48
+ static NAN_METHOD(Start);
49
+
50
+ };
51
+ }
52
+
53
+ using namespace fse;
54
+
55
+ FSEvents::FSEvents(const char *path)
56
+ : async_resource("fsevents:FSEvents") {
57
+ CFStringRef dirs[] = { CFStringCreateWithCString(NULL, path, kCFStringEncodingUTF8) };
58
+ paths = CFArrayCreate(NULL, (const void **)&dirs, 1, NULL);
59
+ threadloop = NULL;
60
+ if (uv_mutex_init(&mutex)) abort();
61
+ }
62
+ FSEvents::~FSEvents() {
63
+ CFRelease(paths);
64
+ uv_mutex_destroy(&mutex);
65
+ }
66
+
67
+ #ifndef kFSEventStreamEventFlagItemCreated
68
+ #define kFSEventStreamEventFlagItemCreated 0x00000010
69
+ #endif
70
+
71
+ #include "src/async.cc"
72
+ #include "src/thread.cc"
73
+ #include "src/constants.cc"
74
+ #include "src/methods.cc"
75
+
76
+ void FSEvents::Initialize(v8::Local<v8::Object> exports) {
77
+ v8::Isolate* isolate = exports->GetIsolate();
78
+ v8::Local<v8::Context> context = isolate->GetCurrentContext();
79
+ v8::Local<v8::FunctionTemplate> tpl = Nan::New<v8::FunctionTemplate>(FSEvents::New);
80
+ tpl->SetClassName(Nan::New<v8::String>("FSEvents").ToLocalChecked());
81
+ tpl->InstanceTemplate()->SetInternalFieldCount(1);
82
+ Nan::SetPrototypeTemplate(tpl, "start", Nan::New<v8::FunctionTemplate>(FSEvents::Start));
83
+ Nan::SetPrototypeTemplate(tpl, "stop", Nan::New<v8::FunctionTemplate>(FSEvents::Stop));
84
+ Nan::Set(exports, Nan::New<v8::String>("Constants").ToLocalChecked(), Constants());
85
+ Nan::Set(exports, Nan::New<v8::String>("FSEvents").ToLocalChecked(), tpl->GetFunction(context).ToLocalChecked());
86
+ }
87
+
88
+ NODE_MODULE(fse, FSEvents::Initialize)
@@ -0,0 +1,106 @@
1
+ /*
2
+ ** © 2014 by Philipp Dunkel <pip@pipobscure.com>
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+ /* jshint node:true */
7
+ 'use strict';
8
+
9
+ if (process.platform !== 'darwin')
10
+ throw new Error('Module \'fsevents\' is not compatible with platform \'' + process.platform + '\'');
11
+
12
+ var Native = require("bindings")("fse");
13
+
14
+ var EventEmitter = require('events').EventEmitter;
15
+ var fs = require('fs');
16
+ var inherits = require('util').inherits;
17
+
18
+ function FSEvents(path, handler) {
19
+ EventEmitter.call(this);
20
+
21
+ Object.defineProperty(this, '_impl', {
22
+ value: new Native.FSEvents(String(path || ''), handler),
23
+ enumerable: false,
24
+ writable: false
25
+ });
26
+ }
27
+
28
+ inherits(FSEvents, EventEmitter);
29
+ proxies(FSEvents, Native.FSEvents);
30
+
31
+ module.exports = watch;
32
+ module.exports.getInfo = getInfo;
33
+ module.exports.FSEvents = Native.FSEvents;
34
+ module.exports.Constants = Native.Constants;
35
+
36
+ var defer = global.setImmediate || process.nextTick;
37
+
38
+ function watch(path) {
39
+ var fse = new FSEvents(String(path || ''), handler);
40
+ EventEmitter.call(fse);
41
+ return fse;
42
+
43
+ function handler(path, flags, id) {
44
+ defer(function() {
45
+ fse.emit('fsevent', path, flags, id);
46
+ var info = getInfo(path, flags);
47
+ info.id = id;
48
+ if (info.event === 'moved') {
49
+ fs.stat(info.path, function(err, stat) {
50
+ info.event = (err || !stat) ? 'moved-out' : 'moved-in';
51
+ fse.emit('change', path, info);
52
+ fse.emit(info.event, path, info);
53
+ });
54
+ } else {
55
+ fse.emit('change', path, info);
56
+ fse.emit(info.event, path, info);
57
+ }
58
+ });
59
+ }
60
+ }
61
+
62
+ function proxies(ctor, target) {
63
+ Object.keys(target.prototype).filter(function(key) {
64
+ return typeof target.prototype[key] === 'function';
65
+ }).forEach(function(key) {
66
+ ctor.prototype[key] = function() {
67
+ this._impl[key].apply(this._impl, arguments);
68
+ return this;
69
+ }
70
+ });
71
+ }
72
+
73
+ function getFileType(flags) {
74
+ if (Native.Constants.kFSEventStreamEventFlagItemIsFile & flags) return 'file';
75
+ if (Native.Constants.kFSEventStreamEventFlagItemIsDir & flags) return 'directory';
76
+ if (Native.Constants.kFSEventStreamEventFlagItemIsSymlink & flags) return 'symlink';
77
+ }
78
+
79
+ function getEventType(flags) {
80
+ if (Native.Constants.kFSEventStreamEventFlagItemRemoved & flags) return 'deleted';
81
+ if (Native.Constants.kFSEventStreamEventFlagItemRenamed & flags) return 'moved';
82
+ if (Native.Constants.kFSEventStreamEventFlagItemCreated & flags) return 'created';
83
+ if (Native.Constants.kFSEventStreamEventFlagItemModified & flags) return 'modified';
84
+ if (Native.Constants.kFSEventStreamEventFlagRootChanged & flags) return 'root-changed';
85
+
86
+ return 'unknown';
87
+ }
88
+
89
+ function getFileChanges(flags) {
90
+ return {
91
+ inode: !! (Native.Constants.kFSEventStreamEventFlagItemInodeMetaMod & flags),
92
+ finder: !! (Native.Constants.kFSEventStreamEventFlagItemFinderInfoMod & flags),
93
+ access: !! (Native.Constants.kFSEventStreamEventFlagItemChangeOwner & flags),
94
+ xattrs: !! (Native.Constants.kFSEventStreamEventFlagItemXattrMod & flags)
95
+ };
96
+ }
97
+
98
+ function getInfo(path, flags) {
99
+ return {
100
+ path: path,
101
+ event: getEventType(flags),
102
+ type: getFileType(flags),
103
+ changes: getFileChanges(flags),
104
+ flags: flags
105
+ };
106
+ }
@@ -0,0 +1,13 @@
1
+ const { spawn } = require('child_process');
2
+
3
+ const rebuildIfDarwin = () => {
4
+ if (process.platform !== 'darwin') {
5
+ console.log();
6
+ console.log(`Skipping 'fsevents' build as platform ${process.platform} is not supported`);
7
+ process.exit(0);
8
+ } else {
9
+ spawn('node-gyp', ['rebuild'], { stdio: 'inherit' });
10
+ }
11
+ };
12
+
13
+ rebuildIfDarwin();
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "fsevents",
3
+ "version": "1.2.13",
4
+ "description": "Native Access to Mac OS-X FSEvents",
5
+ "main": "fsevents.js",
6
+ "dependencies": {
7
+ "bindings": "^1.5.0",
8
+ "nan": "^2.12.1"
9
+ },
10
+ "os": [
11
+ "darwin"
12
+ ],
13
+ "engines": {
14
+ "node": ">= 4.0"
15
+ },
16
+ "scripts": {
17
+ "test": "node ./test/fsevents.js && node ./test/function.js 2> /dev/null",
18
+ "install": "node install.js"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/strongloop/fsevents.git"
23
+ },
24
+ "keywords": [
25
+ "fsevents",
26
+ "mac"
27
+ ],
28
+ "author": "Philipp Dunkel <pip@pipobscure.com>",
29
+ "license": "MIT",
30
+ "bugs": {
31
+ "url": "https://github.com/strongloop/fsevents/issues"
32
+ },
33
+ "homepage": "https://github.com/strongloop/fsevents"
34
+ }
@@ -0,0 +1,43 @@
1
+ /*
2
+ ** © 2014 by Philipp Dunkel <pip@pipobscure.com>
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+
7
+ void async_propagate(uv_async_t *async) {
8
+ if (!async->data) return;
9
+ FSEvents *fse = (FSEvents *)async->data;
10
+ CFIndex idx, cnt;
11
+ fse_event *event;
12
+ char pathbuf[1024];
13
+ const char *pathptr = NULL;
14
+ uv_mutex_lock(&fse->mutex);
15
+ cnt = fse->events.size();
16
+ for (idx=0; idx<cnt; idx++) {
17
+ event = fse->events.at(idx);
18
+ if (event == NULL) continue;
19
+ pathptr = CFStringGetCStringPtr(event->path, kCFStringEncodingUTF8);
20
+ if (!pathptr) CFStringGetCString(event->path, pathbuf, 1024, kCFStringEncodingUTF8);
21
+ fse->emitEvent(pathptr ? pathptr : pathbuf, event->flags, event->id);
22
+ delete event;
23
+ }
24
+ if (cnt>0) fse->events.clear();
25
+ uv_mutex_unlock(&fse->mutex);
26
+ }
27
+
28
+ void FSEvents::asyncStart() {
29
+ if (async.data == this) return;
30
+ async.data = this;
31
+ uv_async_init(uv_default_loop(), &async, (uv_async_cb) async_propagate);
32
+ }
33
+
34
+ void FSEvents::asyncTrigger() {
35
+ if (async.data != this) return;
36
+ uv_async_send(&async);
37
+ }
38
+
39
+ void FSEvents::asyncStop() {
40
+ if (async.data != this) return;
41
+ async.data = NULL;
42
+ uv_close((uv_handle_t *) &async, NULL);
43
+ }
@@ -0,0 +1,110 @@
1
+ /*
2
+ ** © 2014 by Philipp Dunkel <pip@pipobscure.com>
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+ // constants from https://developer.apple.com/library/mac/documentation/Darwin/Reference/FSEvents_Ref/index.html#//apple_ref/doc/constant_group/FSEventStreamEventFlags
7
+ #ifndef kFSEventStreamEventFlagNone
8
+ #define kFSEventStreamEventFlagNone 0x00000000
9
+ #endif
10
+
11
+ #ifndef kFSEventStreamEventFlagMustScanSubDirs
12
+ #define kFSEventStreamEventFlagMustScanSubDirs 0x00000001
13
+ #endif
14
+
15
+ #ifndef kFSEventStreamEventFlagUserDropped
16
+ #define kFSEventStreamEventFlagUserDropped 0x00000002
17
+ #endif
18
+
19
+ #ifndef kFSEventStreamEventFlagKernelDropped
20
+ #define kFSEventStreamEventFlagKernelDropped 0x00000004
21
+ #endif
22
+
23
+ #ifndef kFSEventStreamEventFlagEventIdsWrapped
24
+ #define kFSEventStreamEventFlagEventIdsWrapped 0x00000008
25
+ #endif
26
+
27
+ #ifndef kFSEventStreamEventFlagHistoryDone
28
+ #define kFSEventStreamEventFlagHistoryDone 0x00000010
29
+ #endif
30
+
31
+ #ifndef kFSEventStreamEventFlagRootChanged
32
+ #define kFSEventStreamEventFlagRootChanged 0x00000020
33
+ #endif
34
+
35
+ #ifndef kFSEventStreamEventFlagMount
36
+ #define kFSEventStreamEventFlagMount 0x00000040
37
+ #endif
38
+
39
+ #ifndef kFSEventStreamEventFlagUnmount
40
+ #define kFSEventStreamEventFlagUnmount 0x00000080
41
+ #endif
42
+
43
+ #ifndef kFSEventStreamEventFlagItemCreated
44
+ #define kFSEventStreamEventFlagItemCreated 0x00000100
45
+ #endif
46
+
47
+ #ifndef kFSEventStreamEventFlagItemRemoved
48
+ #define kFSEventStreamEventFlagItemRemoved 0x00000200
49
+ #endif
50
+
51
+ #ifndef kFSEventStreamEventFlagItemInodeMetaMod
52
+ #define kFSEventStreamEventFlagItemInodeMetaMod 0x00000400
53
+ #endif
54
+
55
+ #ifndef kFSEventStreamEventFlagItemRenamed
56
+ #define kFSEventStreamEventFlagItemRenamed 0x00000800
57
+ #endif
58
+
59
+ #ifndef kFSEventStreamEventFlagItemModified
60
+ #define kFSEventStreamEventFlagItemModified 0x00001000
61
+ #endif
62
+
63
+ #ifndef kFSEventStreamEventFlagItemFinderInfoMod
64
+ #define kFSEventStreamEventFlagItemFinderInfoMod 0x00002000
65
+ #endif
66
+
67
+ #ifndef kFSEventStreamEventFlagItemChangeOwner
68
+ #define kFSEventStreamEventFlagItemChangeOwner 0x00004000
69
+ #endif
70
+
71
+ #ifndef kFSEventStreamEventFlagItemXattrMod
72
+ #define kFSEventStreamEventFlagItemXattrMod 0x00008000
73
+ #endif
74
+
75
+ #ifndef kFSEventStreamEventFlagItemIsFile
76
+ #define kFSEventStreamEventFlagItemIsFile 0x00010000
77
+ #endif
78
+
79
+ #ifndef kFSEventStreamEventFlagItemIsDir
80
+ #define kFSEventStreamEventFlagItemIsDir 0x00020000
81
+ #endif
82
+
83
+ #ifndef kFSEventStreamEventFlagItemIsSymlink
84
+ #define kFSEventStreamEventFlagItemIsSymlink 0x00040000
85
+ #endif
86
+
87
+ static v8::Local<v8::Object> Constants() {
88
+ v8::Local<v8::Object> object = Nan::New<v8::Object>();
89
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagNone").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagNone));
90
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagMustScanSubDirs").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagMustScanSubDirs));
91
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagUserDropped").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagUserDropped));
92
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagKernelDropped").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagKernelDropped));
93
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagEventIdsWrapped").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagEventIdsWrapped));
94
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagHistoryDone").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagHistoryDone));
95
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagRootChanged").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagRootChanged));
96
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagMount").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagMount));
97
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagUnmount").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagUnmount));
98
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemCreated").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemCreated));
99
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemRemoved").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemRemoved));
100
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemInodeMetaMod").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemInodeMetaMod));
101
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemRenamed").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemRenamed));
102
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemModified").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemModified));
103
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemFinderInfoMod").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemFinderInfoMod));
104
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemChangeOwner").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemChangeOwner));
105
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemXattrMod").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemXattrMod));
106
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemIsFile").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemIsFile));
107
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemIsDir").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemIsDir));
108
+ Nan::Set(object, Nan::New<v8::String>("kFSEventStreamEventFlagItemIsSymlink").ToLocalChecked(), Nan::New<v8::Integer>(kFSEventStreamEventFlagItemIsSymlink));
109
+ return object;
110
+ }
@@ -0,0 +1,44 @@
1
+ /*
2
+ ** © 2014 by Philipp Dunkel <pip@pipobscure.com>
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+ void FSEvents::emitEvent(const char *path, UInt32 flags, UInt64 id) {
7
+ Nan::HandleScope handle_scope;
8
+ v8::Local<v8::Object> object = handle();
9
+ v8::Local<v8::Value> key = Nan::New<v8::String>("handler").ToLocalChecked();
10
+ Nan::Callback handler(Nan::To<v8::Function>(Nan::Get(object, key).ToLocalChecked()).ToLocalChecked());
11
+ v8::Local<v8::Value> argv[] = {
12
+ Nan::New<v8::String>(path).ToLocalChecked(),
13
+ Nan::New<v8::Number>(flags),
14
+ Nan::New<v8::Number>(id)
15
+ };
16
+ handler.Call(3, argv, &async_resource);
17
+ }
18
+
19
+ NAN_METHOD(FSEvents::New) {
20
+ Nan::Utf8String path(info[0]);
21
+
22
+ FSEvents *fse = new FSEvents(*path);
23
+ fse->Wrap(info.This());
24
+ Nan::Set(info.This(), Nan::New<v8::String>("handler").ToLocalChecked(), info[1]);
25
+
26
+ info.GetReturnValue().Set(info.This());
27
+ }
28
+
29
+ NAN_METHOD(FSEvents::Stop) {
30
+ FSEvents* fse = Nan::ObjectWrap::Unwrap<FSEvents>(info.This());
31
+
32
+ fse->threadStop();
33
+ fse->asyncStop();
34
+
35
+ info.GetReturnValue().Set(info.This());
36
+ }
37
+
38
+ NAN_METHOD(FSEvents::Start) {
39
+ FSEvents* fse = Nan::ObjectWrap::Unwrap<FSEvents>(info.This());
40
+ fse->asyncStart();
41
+ fse->threadStart();
42
+
43
+ info.GetReturnValue().Set(info.This());
44
+ }
@@ -0,0 +1,27 @@
1
+ /*
2
+ ** © 2014 by Philipp Dunkel <pip@pipobscure.com>
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+ struct fse_event {
7
+ UInt64 id;
8
+ UInt32 flags;
9
+ CFStringRef path;
10
+
11
+ fse_event(CFStringRef eventPath, UInt32 eventFlag, UInt64 eventId) {
12
+ this->path = eventPath;
13
+ this->flags = eventFlag;
14
+ this->id = eventId;
15
+ if (this->path != NULL)
16
+ CFRetain(this->path);
17
+ }
18
+
19
+ ~fse_event() {
20
+ if (this->path != NULL)
21
+ CFRelease(this->path);
22
+ }
23
+
24
+ private:
25
+ fse_event(const fse_event&);
26
+ void operator=(const fse_event&);
27
+ };
@@ -0,0 +1,71 @@
1
+ /*
2
+ ** © 2014 by Philipp Dunkel <pip@pipobscure.com>
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+ // constants from https://developer.apple.com/library/mac/documentation/Darwin/Reference/FSEvents_Ref/index.html#//apple_ref/doc/constant_group/FSEventStreamCreateFlags
7
+ #ifndef kFSEventStreamCreateFlagNone
8
+ #define kFSEventStreamCreateFlagNone 0x00000000
9
+ #endif
10
+
11
+ #ifndef kFSEventStreamCreateFlagUseCFTypes
12
+ #define kFSEventStreamCreateFlagUseCFTypes 0x00000001
13
+ #endif
14
+
15
+ #ifndef kFSEventStreamCreateFlagNoDefer
16
+ #define kFSEventStreamCreateFlagNoDefer 0x00000002
17
+ #endif
18
+
19
+ #ifndef kFSEventStreamCreateFlagWatchRoot
20
+ #define kFSEventStreamCreateFlagWatchRoot 0x00000004
21
+ #endif
22
+
23
+ #ifndef kFSEventStreamCreateFlagIgnoreSelf
24
+ #define kFSEventStreamCreateFlagIgnoreSelf 0x00000008
25
+ #endif
26
+
27
+ #ifndef kFSEventStreamCreateFlagFileEvents
28
+ #define kFSEventStreamCreateFlagFileEvents 0x00000010
29
+ #endif
30
+
31
+ void FSEvents::threadStart() {
32
+ if (threadloop) return;
33
+ if (uv_thread_create(&thread, &FSEvents::threadRun, this)) abort();
34
+ }
35
+
36
+ void HandleStreamEvents(ConstFSEventStreamRef stream, void *ctx, size_t numEvents, void *eventPaths, const FSEventStreamEventFlags eventFlags[], const FSEventStreamEventId eventIds[]) {
37
+ FSEvents * fse = (FSEvents *)ctx;
38
+ size_t idx;
39
+ uv_mutex_lock(&fse->mutex);
40
+ for (idx=0; idx < numEvents; idx++) {
41
+ fse_event *event = new fse_event(
42
+ (CFStringRef)CFArrayGetValueAtIndex((CFArrayRef)eventPaths, idx),
43
+ eventFlags[idx],
44
+ eventIds[idx]
45
+ );
46
+ fse->events.push_back(event);
47
+ }
48
+ fse->asyncTrigger();
49
+ uv_mutex_unlock(&fse->mutex);
50
+ }
51
+
52
+ void FSEvents::threadRun(void *ctx) {
53
+ FSEvents *fse = (FSEvents*)ctx;
54
+ FSEventStreamContext context = { 0, ctx, NULL, NULL, NULL };
55
+ fse->threadloop = CFRunLoopGetCurrent();
56
+ FSEventStreamRef stream = FSEventStreamCreate(NULL, &HandleStreamEvents, &context, fse->paths, kFSEventStreamEventIdSinceNow, (CFAbsoluteTime) 0.1, kFSEventStreamCreateFlagNone | kFSEventStreamCreateFlagWatchRoot | kFSEventStreamCreateFlagFileEvents | kFSEventStreamCreateFlagUseCFTypes);
57
+ FSEventStreamScheduleWithRunLoop(stream, fse->threadloop, kCFRunLoopDefaultMode);
58
+ FSEventStreamStart(stream);
59
+ CFRunLoopRun();
60
+ FSEventStreamStop(stream);
61
+ FSEventStreamUnscheduleFromRunLoop(stream, fse->threadloop, kCFRunLoopDefaultMode);
62
+ FSEventStreamInvalidate(stream);
63
+ FSEventStreamRelease(stream);
64
+ fse->threadloop = NULL;
65
+ }
66
+
67
+ void FSEvents::threadStop() {
68
+ if (!threadloop) return;
69
+ CFRunLoopStop(threadloop);
70
+ if (uv_thread_join(&thread)) abort();
71
+ }