@dev-sergeev/datalab-kit 0.1.1 → 0.1.3

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 (339) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +26 -8
  3. package/THIRD_PARTY_NOTICES.md +6 -2
  4. package/dist/extension.js +8 -1
  5. package/dist/recap.d.ts +2 -0
  6. package/dist/recap.js +31 -0
  7. package/docs/adr/0002-package-delivery.md +2 -0
  8. package/node_modules/@gotgenes/pi-permission-system/src/authority/permission-prompt-component.ts +0 -11
  9. package/node_modules/@gotgenes/pi-permission-system/src/config/config-store.ts +0 -5
  10. package/node_modules/@gotgenes/pi-permission-system/src/index.ts +3 -15
  11. package/node_modules/@pi-plugins/elapsed/LICENSE +21 -0
  12. package/node_modules/@pi-plugins/elapsed/README.md +45 -0
  13. package/node_modules/@pi-plugins/elapsed/dist/index.d.mts +8 -0
  14. package/node_modules/@pi-plugins/elapsed/dist/index.d.mts.map +1 -0
  15. package/node_modules/@pi-plugins/elapsed/dist/index.mjs +47 -0
  16. package/node_modules/@pi-plugins/elapsed/dist/index.mjs.map +1 -0
  17. package/node_modules/@pi-plugins/elapsed/package.json +65 -0
  18. package/node_modules/@tifan/pi-recap/README.md +61 -0
  19. package/node_modules/@tifan/pi-recap/package.json +43 -0
  20. package/node_modules/@tifan/pi-recap/src/index.ts +584 -0
  21. package/node_modules/@tifan/pi-recap/src/model-picker.ts +233 -0
  22. package/node_modules/@tifan/pi-recap/src/models.ts +183 -0
  23. package/node_modules/@tifan/pi-recap/src/sanitize.ts +119 -0
  24. package/node_modules/@tifan/pi-recap/src/tui.ts +155 -0
  25. package/node_modules/@zigai/pi-extension-internals/README.md +24 -0
  26. package/node_modules/@zigai/pi-extension-internals/dist/editor-enhancer-registry.d.ts +21 -0
  27. package/node_modules/@zigai/pi-extension-internals/dist/editor-enhancer-registry.js +233 -0
  28. package/node_modules/@zigai/pi-extension-internals/dist/index.d.ts +6 -0
  29. package/node_modules/@zigai/pi-extension-internals/dist/index.js +3 -0
  30. package/node_modules/@zigai/pi-extension-internals/dist/linked-method-patch.d.ts +34 -0
  31. package/node_modules/@zigai/pi-extension-internals/dist/linked-method-patch.js +272 -0
  32. package/node_modules/@zigai/pi-extension-internals/dist/pi-internal-import.d.ts +11 -0
  33. package/node_modules/@zigai/pi-extension-internals/dist/pi-internal-import.js +139 -0
  34. package/node_modules/@zigai/pi-extension-internals/package.json +41 -0
  35. package/node_modules/@zigai/pi-extension-settings/LICENSE +21 -0
  36. package/node_modules/@zigai/pi-extension-settings/README.md +36 -0
  37. package/node_modules/@zigai/pi-extension-settings/dist/artifacts.d.ts +23 -0
  38. package/node_modules/@zigai/pi-extension-settings/dist/artifacts.d.ts.map +1 -0
  39. package/node_modules/@zigai/pi-extension-settings/dist/artifacts.js +75 -0
  40. package/node_modules/@zigai/pi-extension-settings/dist/artifacts.js.map +1 -0
  41. package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.d.ts +3 -0
  42. package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.d.ts.map +1 -0
  43. package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.js +5 -0
  44. package/node_modules/@zigai/pi-extension-settings/dist/cli-entry.js.map +1 -0
  45. package/node_modules/@zigai/pi-extension-settings/dist/cli.d.ts +6 -0
  46. package/node_modules/@zigai/pi-extension-settings/dist/cli.d.ts.map +1 -0
  47. package/node_modules/@zigai/pi-extension-settings/dist/cli.js +87 -0
  48. package/node_modules/@zigai/pi-extension-settings/dist/cli.js.map +1 -0
  49. package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.d.ts +2 -0
  50. package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.d.ts.map +1 -0
  51. package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.js +2 -0
  52. package/node_modules/@zigai/pi-extension-settings/dist/definition-marker.js.map +1 -0
  53. package/node_modules/@zigai/pi-extension-settings/dist/definition.d.ts +159 -0
  54. package/node_modules/@zigai/pi-extension-settings/dist/definition.d.ts.map +1 -0
  55. package/node_modules/@zigai/pi-extension-settings/dist/definition.js +248 -0
  56. package/node_modules/@zigai/pi-extension-settings/dist/definition.js.map +1 -0
  57. package/node_modules/@zigai/pi-extension-settings/dist/file-system.d.ts +10 -0
  58. package/node_modules/@zigai/pi-extension-settings/dist/file-system.d.ts.map +1 -0
  59. package/node_modules/@zigai/pi-extension-settings/dist/file-system.js +115 -0
  60. package/node_modules/@zigai/pi-extension-settings/dist/file-system.js.map +1 -0
  61. package/node_modules/@zigai/pi-extension-settings/dist/index.d.ts +2 -0
  62. package/node_modules/@zigai/pi-extension-settings/dist/index.d.ts.map +1 -0
  63. package/node_modules/@zigai/pi-extension-settings/dist/index.js +2 -0
  64. package/node_modules/@zigai/pi-extension-settings/dist/index.js.map +1 -0
  65. package/node_modules/@zigai/pi-extension-settings/dist/json-value.d.ts +18 -0
  66. package/node_modules/@zigai/pi-extension-settings/dist/json-value.d.ts.map +1 -0
  67. package/node_modules/@zigai/pi-extension-settings/dist/json-value.js +56 -0
  68. package/node_modules/@zigai/pi-extension-settings/dist/json-value.js.map +1 -0
  69. package/node_modules/@zigai/pi-extension-settings/dist/paths.d.ts +11 -0
  70. package/node_modules/@zigai/pi-extension-settings/dist/paths.d.ts.map +1 -0
  71. package/node_modules/@zigai/pi-extension-settings/dist/paths.js +23 -0
  72. package/node_modules/@zigai/pi-extension-settings/dist/paths.js.map +1 -0
  73. package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.d.ts +5 -0
  74. package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.d.ts.map +1 -0
  75. package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.js +21 -0
  76. package/node_modules/@zigai/pi-extension-settings/dist/pi-host-paths.js.map +1 -0
  77. package/node_modules/@zigai/pi-extension-settings/dist/pi.d.ts +106 -0
  78. package/node_modules/@zigai/pi-extension-settings/dist/pi.d.ts.map +1 -0
  79. package/node_modules/@zigai/pi-extension-settings/dist/pi.js +122 -0
  80. package/node_modules/@zigai/pi-extension-settings/dist/pi.js.map +1 -0
  81. package/node_modules/@zigai/pi-extension-settings/dist/pi.ts +2537 -0
  82. package/node_modules/@zigai/pi-extension-settings/dist/pi.ts.map +7 -0
  83. package/node_modules/@zigai/pi-extension-settings/dist/projects.d.ts +10 -0
  84. package/node_modules/@zigai/pi-extension-settings/dist/projects.d.ts.map +1 -0
  85. package/node_modules/@zigai/pi-extension-settings/dist/projects.js +177 -0
  86. package/node_modules/@zigai/pi-extension-settings/dist/projects.js.map +1 -0
  87. package/node_modules/@zigai/pi-extension-settings/dist/runtime.d.ts +40 -0
  88. package/node_modules/@zigai/pi-extension-settings/dist/runtime.d.ts.map +1 -0
  89. package/node_modules/@zigai/pi-extension-settings/dist/runtime.js +158 -0
  90. package/node_modules/@zigai/pi-extension-settings/dist/runtime.js.map +1 -0
  91. package/node_modules/@zigai/pi-extension-settings/dist/runtime.ts +158 -0
  92. package/node_modules/@zigai/pi-extension-settings/dist/runtime.ts.map +7 -0
  93. package/node_modules/@zigai/pi-extension-settings/dist/schema-document.d.ts +19 -0
  94. package/node_modules/@zigai/pi-extension-settings/dist/schema-document.d.ts.map +1 -0
  95. package/node_modules/@zigai/pi-extension-settings/dist/schema-document.js +168 -0
  96. package/node_modules/@zigai/pi-extension-settings/dist/schema-document.js.map +1 -0
  97. package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.d.ts +9 -0
  98. package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.d.ts.map +1 -0
  99. package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.js +242 -0
  100. package/node_modules/@zigai/pi-extension-settings/dist/settings-documentation.js.map +1 -0
  101. package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.d.ts +59 -0
  102. package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.d.ts.map +1 -0
  103. package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.js +98 -0
  104. package/node_modules/@zigai/pi-extension-settings/dist/settings-layer.js.map +1 -0
  105. package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.d.ts +80 -0
  106. package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.d.ts.map +1 -0
  107. package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.js +144 -0
  108. package/node_modules/@zigai/pi-extension-settings/dist/settings-loader.js.map +1 -0
  109. package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.d.ts +5 -0
  110. package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.d.ts.map +1 -0
  111. package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.js +30 -0
  112. package/node_modules/@zigai/pi-extension-settings/dist/settings-merge.js.map +1 -0
  113. package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.d.ts +10 -0
  114. package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.d.ts.map +1 -0
  115. package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.js +16 -0
  116. package/node_modules/@zigai/pi-extension-settings/dist/settings-revision.js.map +1 -0
  117. package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.d.ts +54 -0
  118. package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.d.ts.map +1 -0
  119. package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.js +202 -0
  120. package/node_modules/@zigai/pi-extension-settings/dist/settings-transaction.js.map +1 -0
  121. package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.d.ts +5 -0
  122. package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.d.ts.map +1 -0
  123. package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.js +9 -0
  124. package/node_modules/@zigai/pi-extension-settings/dist/typebox-runtime.js.map +1 -0
  125. package/node_modules/@zigai/pi-extension-settings/docs/generation.md +71 -0
  126. package/node_modules/@zigai/pi-extension-settings/docs/manual-setup.md +98 -0
  127. package/node_modules/@zigai/pi-extension-settings/docs/runtime.md +100 -0
  128. package/node_modules/@zigai/pi-extension-settings/docs/ui-controls.md +31 -0
  129. package/node_modules/@zigai/pi-extension-settings/package.json +97 -0
  130. package/node_modules/@zigai/pi-mention-anything/README.md +113 -0
  131. package/node_modules/@zigai/pi-mention-anything/config.schema.json +313 -0
  132. package/node_modules/@zigai/pi-mention-anything/docs/command-protocol.md +106 -0
  133. package/node_modules/@zigai/pi-mention-anything/docs/providers.md +128 -0
  134. package/node_modules/@zigai/pi-mention-anything/examples/query-command.mjs +96 -0
  135. package/node_modules/@zigai/pi-mention-anything/examples/recursive-tree.ts +28 -0
  136. package/node_modules/@zigai/pi-mention-anything/examples/static.ts +28 -0
  137. package/node_modules/@zigai/pi-mention-anything/examples/tmux.ts +90 -0
  138. package/node_modules/@zigai/pi-mention-anything/examples/tree-settings.json +25 -0
  139. package/node_modules/@zigai/pi-mention-anything/package.json +58 -0
  140. package/node_modules/@zigai/pi-mention-anything/src/api.ts +75 -0
  141. package/node_modules/@zigai/pi-mention-anything/src/autocomplete.ts +231 -0
  142. package/node_modules/@zigai/pi-mention-anything/src/chain-autocomplete.ts +596 -0
  143. package/node_modules/@zigai/pi-mention-anything/src/chain-syntax.ts +345 -0
  144. package/node_modules/@zigai/pi-mention-anything/src/command-provider.ts +291 -0
  145. package/node_modules/@zigai/pi-mention-anything/src/configured-source.ts +66 -0
  146. package/node_modules/@zigai/pi-mention-anything/src/editor.ts +180 -0
  147. package/node_modules/@zigai/pi-mention-anything/src/expand-mentions.ts +162 -0
  148. package/node_modules/@zigai/pi-mention-anything/src/index.ts +54 -0
  149. package/node_modules/@zigai/pi-mention-anything/src/initial-suggestions.ts +190 -0
  150. package/node_modules/@zigai/pi-mention-anything/src/list-provider.ts +71 -0
  151. package/node_modules/@zigai/pi-mention-anything/src/mention-hub.ts +307 -0
  152. package/node_modules/@zigai/pi-mention-anything/src/mention-resolution.ts +374 -0
  153. package/node_modules/@zigai/pi-mention-anything/src/mention-syntax.ts +105 -0
  154. package/node_modules/@zigai/pi-mention-anything/src/register-mention.ts +89 -0
  155. package/node_modules/@zigai/pi-mention-anything/src/rendering.ts +53 -0
  156. package/node_modules/@zigai/pi-mention-anything/src/selected-items.ts +21 -0
  157. package/node_modules/@zigai/pi-mention-anything/src/selection-history.ts +135 -0
  158. package/node_modules/@zigai/pi-mention-anything/src/settings-input.ts +317 -0
  159. package/node_modules/@zigai/pi-mention-anything/src/settings.prevalidated.ts +57 -0
  160. package/node_modules/@zigai/pi-mention-anything/src/settings.ts +52 -0
  161. package/node_modules/@zigai/pi-mention-anything/src/source-contract.ts +174 -0
  162. package/node_modules/@zigai/pi-mention-anything/src/source-controller.ts +1070 -0
  163. package/node_modules/@zigai/pi-mention-anything/src/source-runtime.ts +99 -0
  164. package/node_modules/@zigai/pi-mention-skill/README.md +60 -0
  165. package/node_modules/@zigai/pi-mention-skill/config.schema.json +81 -0
  166. package/node_modules/@zigai/pi-mention-skill/package.json +56 -0
  167. package/node_modules/@zigai/pi-mention-skill/src/index.ts +60 -0
  168. package/node_modules/@zigai/pi-mention-skill/src/settings-input.ts +74 -0
  169. package/node_modules/@zigai/pi-mention-skill/src/settings.prevalidated.ts +18 -0
  170. package/node_modules/@zigai/pi-mention-skill/src/settings.ts +54 -0
  171. package/node_modules/@zigai/pi-mention-skill/src/skill-commands.ts +18 -0
  172. package/node_modules/@zigai/pi-mention-skill/src/skill-content.ts +60 -0
  173. package/node_modules/@zigai/pi-mention-skill/src/skill-provider.ts +105 -0
  174. package/node_modules/@zigai/pi-mention-skill/src/slash-skill-filter.ts +29 -0
  175. package/node_modules/argparse/LICENSE +21 -0
  176. package/node_modules/argparse/README.md +257 -0
  177. package/node_modules/argparse/index.js +3 -0
  178. package/node_modules/argparse/lib/action/append/constant.js +47 -0
  179. package/node_modules/argparse/lib/action/append.js +53 -0
  180. package/node_modules/argparse/lib/action/count.js +40 -0
  181. package/node_modules/argparse/lib/action/help.js +47 -0
  182. package/node_modules/argparse/lib/action/store/constant.js +43 -0
  183. package/node_modules/argparse/lib/action/store/false.js +27 -0
  184. package/node_modules/argparse/lib/action/store/true.js +26 -0
  185. package/node_modules/argparse/lib/action/store.js +50 -0
  186. package/node_modules/argparse/lib/action/subparsers.js +149 -0
  187. package/node_modules/argparse/lib/action/version.js +47 -0
  188. package/node_modules/argparse/lib/action.js +146 -0
  189. package/node_modules/argparse/lib/action_container.js +482 -0
  190. package/node_modules/argparse/lib/argparse.js +14 -0
  191. package/node_modules/argparse/lib/argument/error.js +50 -0
  192. package/node_modules/argparse/lib/argument/exclusive.js +54 -0
  193. package/node_modules/argparse/lib/argument/group.js +75 -0
  194. package/node_modules/argparse/lib/argument_parser.js +1161 -0
  195. package/node_modules/argparse/lib/const.js +21 -0
  196. package/node_modules/argparse/lib/help/added_formatters.js +87 -0
  197. package/node_modules/argparse/lib/help/formatter.js +795 -0
  198. package/node_modules/argparse/lib/namespace.js +76 -0
  199. package/node_modules/argparse/lib/utils.js +57 -0
  200. package/node_modules/argparse/package.json +34 -0
  201. package/node_modules/esprima/LICENSE.BSD +21 -0
  202. package/node_modules/esprima/README.md +46 -0
  203. package/node_modules/esprima/bin/esparse.js +139 -0
  204. package/node_modules/esprima/bin/esvalidate.js +236 -0
  205. package/node_modules/esprima/dist/esprima.js +6709 -0
  206. package/node_modules/esprima/package.json +112 -0
  207. package/node_modules/extend-shallow/LICENSE +21 -0
  208. package/node_modules/extend-shallow/README.md +61 -0
  209. package/node_modules/extend-shallow/index.js +33 -0
  210. package/node_modules/extend-shallow/package.json +56 -0
  211. package/node_modules/graceful-fs/LICENSE +15 -0
  212. package/node_modules/graceful-fs/README.md +143 -0
  213. package/node_modules/graceful-fs/clone.js +23 -0
  214. package/node_modules/graceful-fs/graceful-fs.js +448 -0
  215. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  216. package/node_modules/graceful-fs/package.json +53 -0
  217. package/node_modules/graceful-fs/polyfills.js +355 -0
  218. package/node_modules/gray-matter/LICENSE +21 -0
  219. package/node_modules/gray-matter/README.md +565 -0
  220. package/node_modules/gray-matter/gray-matter.d.ts +114 -0
  221. package/node_modules/gray-matter/index.js +228 -0
  222. package/node_modules/gray-matter/lib/defaults.js +18 -0
  223. package/node_modules/gray-matter/lib/engine.js +30 -0
  224. package/node_modules/gray-matter/lib/engines.js +54 -0
  225. package/node_modules/gray-matter/lib/excerpt.js +32 -0
  226. package/node_modules/gray-matter/lib/parse.js +13 -0
  227. package/node_modules/gray-matter/lib/stringify.js +56 -0
  228. package/node_modules/gray-matter/lib/to-file.js +43 -0
  229. package/node_modules/gray-matter/lib/utils.js +66 -0
  230. package/node_modules/gray-matter/package.json +127 -0
  231. package/node_modules/is-extendable/LICENSE +21 -0
  232. package/node_modules/is-extendable/README.md +72 -0
  233. package/node_modules/is-extendable/index.js +13 -0
  234. package/node_modules/is-extendable/package.json +51 -0
  235. package/node_modules/js-yaml/LICENSE +21 -0
  236. package/node_modules/js-yaml/README.md +302 -0
  237. package/node_modules/js-yaml/bin/js-yaml.js +132 -0
  238. package/node_modules/js-yaml/dist/js-yaml.js +4024 -0
  239. package/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
  240. package/node_modules/js-yaml/index.js +7 -0
  241. package/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
  242. package/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
  243. package/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
  244. package/node_modules/js-yaml/lib/js-yaml/loader.js +1679 -0
  245. package/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
  246. package/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  247. package/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  248. package/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  249. package/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  250. package/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  251. package/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
  252. package/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
  253. package/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
  254. package/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
  255. package/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
  256. package/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
  257. package/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
  258. package/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  259. package/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  260. package/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  261. package/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
  262. package/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
  263. package/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
  264. package/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  265. package/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
  266. package/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  267. package/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
  268. package/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  269. package/node_modules/js-yaml/lib/js-yaml.js +39 -0
  270. package/node_modules/js-yaml/package.json +52 -0
  271. package/node_modules/kind-of/LICENSE +21 -0
  272. package/node_modules/kind-of/README.md +367 -0
  273. package/node_modules/kind-of/index.js +129 -0
  274. package/node_modules/kind-of/package.json +88 -0
  275. package/node_modules/pi-toggle-skills/README.md +213 -0
  276. package/node_modules/pi-toggle-skills/package.json +60 -0
  277. package/node_modules/pi-toggle-skills/src/index.ts +112 -0
  278. package/node_modules/pi-toggle-skills/src/skill-discovery.ts +258 -0
  279. package/node_modules/pi-toggle-skills/src/skill-selector.ts +435 -0
  280. package/node_modules/pi-toggle-skills/toggle-skills.ts +316 -0
  281. package/node_modules/pi-toggle-skills/vitest.config.ts +15 -0
  282. package/node_modules/proper-lockfile/LICENSE +21 -0
  283. package/node_modules/proper-lockfile/README.md +183 -0
  284. package/node_modules/proper-lockfile/index.js +40 -0
  285. package/node_modules/proper-lockfile/lib/adapter.js +85 -0
  286. package/node_modules/proper-lockfile/lib/lockfile.js +342 -0
  287. package/node_modules/proper-lockfile/lib/mtime-precision.js +55 -0
  288. package/node_modules/proper-lockfile/node_modules/retry/.npmignore +3 -0
  289. package/node_modules/proper-lockfile/node_modules/retry/.travis.yml +15 -0
  290. package/node_modules/proper-lockfile/node_modules/retry/License +21 -0
  291. package/node_modules/proper-lockfile/node_modules/retry/Makefile +18 -0
  292. package/node_modules/proper-lockfile/node_modules/retry/README.md +227 -0
  293. package/node_modules/proper-lockfile/node_modules/retry/equation.gif +0 -0
  294. package/node_modules/proper-lockfile/node_modules/retry/example/dns.js +31 -0
  295. package/node_modules/proper-lockfile/node_modules/retry/example/stop.js +40 -0
  296. package/node_modules/proper-lockfile/node_modules/retry/index.js +1 -0
  297. package/node_modules/proper-lockfile/node_modules/retry/lib/retry.js +100 -0
  298. package/node_modules/proper-lockfile/node_modules/retry/lib/retry_operation.js +158 -0
  299. package/node_modules/proper-lockfile/node_modules/retry/package.json +32 -0
  300. package/node_modules/proper-lockfile/node_modules/retry/test/common.js +10 -0
  301. package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-forever.js +24 -0
  302. package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-retry-operation.js +258 -0
  303. package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-retry-wrap.js +101 -0
  304. package/node_modules/proper-lockfile/node_modules/retry/test/integration/test-timeouts.js +69 -0
  305. package/node_modules/proper-lockfile/package.json +71 -0
  306. package/node_modules/section-matter/LICENSE +21 -0
  307. package/node_modules/section-matter/README.md +236 -0
  308. package/node_modules/section-matter/index.js +136 -0
  309. package/node_modules/section-matter/package.json +55 -0
  310. package/node_modules/signal-exit/LICENSE.txt +16 -0
  311. package/node_modules/signal-exit/README.md +39 -0
  312. package/node_modules/signal-exit/index.js +202 -0
  313. package/node_modules/signal-exit/package.json +38 -0
  314. package/node_modules/signal-exit/signals.js +53 -0
  315. package/node_modules/sprintf-js/.npmignore +1 -0
  316. package/node_modules/sprintf-js/LICENSE +24 -0
  317. package/node_modules/sprintf-js/README.md +88 -0
  318. package/node_modules/sprintf-js/bower.json +14 -0
  319. package/node_modules/sprintf-js/demo/angular.html +20 -0
  320. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  321. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  322. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  323. package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  324. package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  325. package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  326. package/node_modules/sprintf-js/gruntfile.js +36 -0
  327. package/node_modules/sprintf-js/package.json +22 -0
  328. package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  329. package/node_modules/sprintf-js/src/sprintf.js +208 -0
  330. package/node_modules/sprintf-js/test/test.js +82 -0
  331. package/node_modules/strip-bom-string/LICENSE +21 -0
  332. package/node_modules/strip-bom-string/README.md +66 -0
  333. package/node_modules/strip-bom-string/index.js +15 -0
  334. package/node_modules/strip-bom-string/package.json +60 -0
  335. package/package.json +13 -4
  336. package/dist/confirmation.d.ts +0 -33
  337. package/dist/confirmation.js +0 -64
  338. package/dist/yolo.d.ts +0 -6
  339. package/dist/yolo.js +0 -33
@@ -0,0 +1,173 @@
1
+ 'use strict';
2
+
3
+ var common = require('../common');
4
+ var Type = require('../type');
5
+
6
+ function isHexCode(c) {
7
+ return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) ||
8
+ ((0x41/* A */ <= c) && (c <= 0x46/* F */)) ||
9
+ ((0x61/* a */ <= c) && (c <= 0x66/* f */));
10
+ }
11
+
12
+ function isOctCode(c) {
13
+ return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */));
14
+ }
15
+
16
+ function isDecCode(c) {
17
+ return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */));
18
+ }
19
+
20
+ function resolveYamlInteger(data) {
21
+ if (data === null) return false;
22
+
23
+ var max = data.length,
24
+ index = 0,
25
+ hasDigits = false,
26
+ ch;
27
+
28
+ if (!max) return false;
29
+
30
+ ch = data[index];
31
+
32
+ // sign
33
+ if (ch === '-' || ch === '+') {
34
+ ch = data[++index];
35
+ }
36
+
37
+ if (ch === '0') {
38
+ // 0
39
+ if (index + 1 === max) return true;
40
+ ch = data[++index];
41
+
42
+ // base 2, base 8, base 16
43
+
44
+ if (ch === 'b') {
45
+ // base 2
46
+ index++;
47
+
48
+ for (; index < max; index++) {
49
+ ch = data[index];
50
+ if (ch === '_') continue;
51
+ if (ch !== '0' && ch !== '1') return false;
52
+ hasDigits = true;
53
+ }
54
+ return hasDigits && ch !== '_';
55
+ }
56
+
57
+
58
+ if (ch === 'x') {
59
+ // base 16
60
+ index++;
61
+
62
+ for (; index < max; index++) {
63
+ ch = data[index];
64
+ if (ch === '_') continue;
65
+ if (!isHexCode(data.charCodeAt(index))) return false;
66
+ hasDigits = true;
67
+ }
68
+ return hasDigits && ch !== '_';
69
+ }
70
+
71
+ // base 8
72
+ for (; index < max; index++) {
73
+ ch = data[index];
74
+ if (ch === '_') continue;
75
+ if (!isOctCode(data.charCodeAt(index))) return false;
76
+ hasDigits = true;
77
+ }
78
+ return hasDigits && ch !== '_';
79
+ }
80
+
81
+ // base 10 (except 0) or base 60
82
+
83
+ // value should not start with `_`;
84
+ if (ch === '_') return false;
85
+
86
+ for (; index < max; index++) {
87
+ ch = data[index];
88
+ if (ch === '_') continue;
89
+ if (ch === ':') break;
90
+ if (!isDecCode(data.charCodeAt(index))) {
91
+ return false;
92
+ }
93
+ hasDigits = true;
94
+ }
95
+
96
+ // Should have digits and should not end with `_`
97
+ if (!hasDigits || ch === '_') return false;
98
+
99
+ // if !base60 - done;
100
+ if (ch !== ':') return true;
101
+
102
+ // base60 almost not used, no needs to optimize
103
+ return /^(:[0-5]?[0-9])+$/.test(data.slice(index));
104
+ }
105
+
106
+ function constructYamlInteger(data) {
107
+ var value = data, sign = 1, ch, base, digits = [];
108
+
109
+ if (value.indexOf('_') !== -1) {
110
+ value = value.replace(/_/g, '');
111
+ }
112
+
113
+ ch = value[0];
114
+
115
+ if (ch === '-' || ch === '+') {
116
+ if (ch === '-') sign = -1;
117
+ value = value.slice(1);
118
+ ch = value[0];
119
+ }
120
+
121
+ if (value === '0') return 0;
122
+
123
+ if (ch === '0') {
124
+ if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);
125
+ if (value[1] === 'x') return sign * parseInt(value, 16);
126
+ return sign * parseInt(value, 8);
127
+ }
128
+
129
+ if (value.indexOf(':') !== -1) {
130
+ value.split(':').forEach(function (v) {
131
+ digits.unshift(parseInt(v, 10));
132
+ });
133
+
134
+ value = 0;
135
+ base = 1;
136
+
137
+ digits.forEach(function (d) {
138
+ value += (d * base);
139
+ base *= 60;
140
+ });
141
+
142
+ return sign * value;
143
+
144
+ }
145
+
146
+ return sign * parseInt(value, 10);
147
+ }
148
+
149
+ function isInteger(object) {
150
+ return (Object.prototype.toString.call(object)) === '[object Number]' &&
151
+ (object % 1 === 0 && !common.isNegativeZero(object));
152
+ }
153
+
154
+ module.exports = new Type('tag:yaml.org,2002:int', {
155
+ kind: 'scalar',
156
+ resolve: resolveYamlInteger,
157
+ construct: constructYamlInteger,
158
+ predicate: isInteger,
159
+ represent: {
160
+ binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); },
161
+ octal: function (obj) { return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1); },
162
+ decimal: function (obj) { return obj.toString(10); },
163
+ /* eslint-disable max-len */
164
+ hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); }
165
+ },
166
+ defaultStyle: 'decimal',
167
+ styleAliases: {
168
+ binary: [ 2, 'bin' ],
169
+ octal: [ 8, 'oct' ],
170
+ decimal: [ 10, 'dec' ],
171
+ hexadecimal: [ 16, 'hex' ]
172
+ }
173
+ });
@@ -0,0 +1,93 @@
1
+ 'use strict';
2
+
3
+ var esprima;
4
+
5
+ // Browserified version does not have esprima
6
+ //
7
+ // 1. For node.js just require module as deps
8
+ // 2. For browser try to require mudule via external AMD system.
9
+ // If not found - try to fallback to window.esprima. If not
10
+ // found too - then fail to parse.
11
+ //
12
+ try {
13
+ // workaround to exclude package from browserify list.
14
+ var _require = require;
15
+ esprima = _require('esprima');
16
+ } catch (_) {
17
+ /* eslint-disable no-redeclare */
18
+ /* global window */
19
+ if (typeof window !== 'undefined') esprima = window.esprima;
20
+ }
21
+
22
+ var Type = require('../../type');
23
+
24
+ function resolveJavascriptFunction(data) {
25
+ if (data === null) return false;
26
+
27
+ try {
28
+ var source = '(' + data + ')',
29
+ ast = esprima.parse(source, { range: true });
30
+
31
+ if (ast.type !== 'Program' ||
32
+ ast.body.length !== 1 ||
33
+ ast.body[0].type !== 'ExpressionStatement' ||
34
+ (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
35
+ ast.body[0].expression.type !== 'FunctionExpression')) {
36
+ return false;
37
+ }
38
+
39
+ return true;
40
+ } catch (err) {
41
+ return false;
42
+ }
43
+ }
44
+
45
+ function constructJavascriptFunction(data) {
46
+ /*jslint evil:true*/
47
+
48
+ var source = '(' + data + ')',
49
+ ast = esprima.parse(source, { range: true }),
50
+ params = [],
51
+ body;
52
+
53
+ if (ast.type !== 'Program' ||
54
+ ast.body.length !== 1 ||
55
+ ast.body[0].type !== 'ExpressionStatement' ||
56
+ (ast.body[0].expression.type !== 'ArrowFunctionExpression' &&
57
+ ast.body[0].expression.type !== 'FunctionExpression')) {
58
+ throw new Error('Failed to resolve function');
59
+ }
60
+
61
+ ast.body[0].expression.params.forEach(function (param) {
62
+ params.push(param.name);
63
+ });
64
+
65
+ body = ast.body[0].expression.body.range;
66
+
67
+ // Esprima's ranges include the first '{' and the last '}' characters on
68
+ // function expressions. So cut them out.
69
+ if (ast.body[0].expression.body.type === 'BlockStatement') {
70
+ /*eslint-disable no-new-func*/
71
+ return new Function(params, source.slice(body[0] + 1, body[1] - 1));
72
+ }
73
+ // ES6 arrow functions can omit the BlockStatement. In that case, just return
74
+ // the body.
75
+ /*eslint-disable no-new-func*/
76
+ return new Function(params, 'return ' + source.slice(body[0], body[1]));
77
+ }
78
+
79
+ function representJavascriptFunction(object /*, style*/) {
80
+ return object.toString();
81
+ }
82
+
83
+ function isFunction(object) {
84
+ return Object.prototype.toString.call(object) === '[object Function]';
85
+ }
86
+
87
+ module.exports = new Type('tag:yaml.org,2002:js/function', {
88
+ kind: 'scalar',
89
+ resolve: resolveJavascriptFunction,
90
+ construct: constructJavascriptFunction,
91
+ predicate: isFunction,
92
+ represent: representJavascriptFunction
93
+ });
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../../type');
4
+
5
+ function resolveJavascriptRegExp(data) {
6
+ if (data === null) return false;
7
+ if (data.length === 0) return false;
8
+
9
+ var regexp = data,
10
+ tail = /\/([gim]*)$/.exec(data),
11
+ modifiers = '';
12
+
13
+ // if regexp starts with '/' it can have modifiers and must be properly closed
14
+ // `/foo/gim` - modifiers tail can be maximum 3 chars
15
+ if (regexp[0] === '/') {
16
+ if (tail) modifiers = tail[1];
17
+
18
+ if (modifiers.length > 3) return false;
19
+ // if expression starts with /, is should be properly terminated
20
+ if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;
21
+ }
22
+
23
+ return true;
24
+ }
25
+
26
+ function constructJavascriptRegExp(data) {
27
+ var regexp = data,
28
+ tail = /\/([gim]*)$/.exec(data),
29
+ modifiers = '';
30
+
31
+ // `/foo/gim` - tail can be maximum 4 chars
32
+ if (regexp[0] === '/') {
33
+ if (tail) modifiers = tail[1];
34
+ regexp = regexp.slice(1, regexp.length - modifiers.length - 1);
35
+ }
36
+
37
+ return new RegExp(regexp, modifiers);
38
+ }
39
+
40
+ function representJavascriptRegExp(object /*, style*/) {
41
+ var result = '/' + object.source + '/';
42
+
43
+ if (object.global) result += 'g';
44
+ if (object.multiline) result += 'm';
45
+ if (object.ignoreCase) result += 'i';
46
+
47
+ return result;
48
+ }
49
+
50
+ function isRegExp(object) {
51
+ return Object.prototype.toString.call(object) === '[object RegExp]';
52
+ }
53
+
54
+ module.exports = new Type('tag:yaml.org,2002:js/regexp', {
55
+ kind: 'scalar',
56
+ resolve: resolveJavascriptRegExp,
57
+ construct: constructJavascriptRegExp,
58
+ predicate: isRegExp,
59
+ represent: representJavascriptRegExp
60
+ });
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../../type');
4
+
5
+ function resolveJavascriptUndefined() {
6
+ return true;
7
+ }
8
+
9
+ function constructJavascriptUndefined() {
10
+ /*eslint-disable no-undefined*/
11
+ return undefined;
12
+ }
13
+
14
+ function representJavascriptUndefined() {
15
+ return '';
16
+ }
17
+
18
+ function isUndefined(object) {
19
+ return typeof object === 'undefined';
20
+ }
21
+
22
+ module.exports = new Type('tag:yaml.org,2002:js/undefined', {
23
+ kind: 'scalar',
24
+ resolve: resolveJavascriptUndefined,
25
+ construct: constructJavascriptUndefined,
26
+ predicate: isUndefined,
27
+ represent: representJavascriptUndefined
28
+ });
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ module.exports = new Type('tag:yaml.org,2002:map', {
6
+ kind: 'mapping',
7
+ construct: function (data) { return data !== null ? data : {}; }
8
+ });
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ function resolveYamlMerge(data) {
6
+ return data === '<<' || data === null;
7
+ }
8
+
9
+ module.exports = new Type('tag:yaml.org,2002:merge', {
10
+ kind: 'scalar',
11
+ resolve: resolveYamlMerge
12
+ });
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ function resolveYamlNull(data) {
6
+ if (data === null) return true;
7
+
8
+ var max = data.length;
9
+
10
+ return (max === 1 && data === '~') ||
11
+ (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL'));
12
+ }
13
+
14
+ function constructYamlNull() {
15
+ return null;
16
+ }
17
+
18
+ function isNull(object) {
19
+ return object === null;
20
+ }
21
+
22
+ module.exports = new Type('tag:yaml.org,2002:null', {
23
+ kind: 'scalar',
24
+ resolve: resolveYamlNull,
25
+ construct: constructYamlNull,
26
+ predicate: isNull,
27
+ represent: {
28
+ canonical: function () { return '~'; },
29
+ lowercase: function () { return 'null'; },
30
+ uppercase: function () { return 'NULL'; },
31
+ camelcase: function () { return 'Null'; }
32
+ },
33
+ defaultStyle: 'lowercase'
34
+ });
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ var _hasOwnProperty = Object.prototype.hasOwnProperty;
6
+ var _toString = Object.prototype.toString;
7
+
8
+ function resolveYamlOmap(data) {
9
+ if (data === null) return true;
10
+
11
+ var objectKeys = {}, index, length, pair, pairKey, pairHasKey,
12
+ object = data;
13
+
14
+ for (index = 0, length = object.length; index < length; index += 1) {
15
+ pair = object[index];
16
+ pairHasKey = false;
17
+
18
+ if (_toString.call(pair) !== '[object Object]') return false;
19
+
20
+ for (pairKey in pair) {
21
+ if (_hasOwnProperty.call(pair, pairKey)) {
22
+ if (!pairHasKey) pairHasKey = true;
23
+ else return false;
24
+ }
25
+ }
26
+
27
+ if (!pairHasKey) return false;
28
+
29
+ if (_hasOwnProperty.call(objectKeys, pairKey)) return false;
30
+ Object.defineProperty(objectKeys, pairKey, { value: true });
31
+ }
32
+
33
+ return true;
34
+ }
35
+
36
+ function constructYamlOmap(data) {
37
+ return data !== null ? data : [];
38
+ }
39
+
40
+ module.exports = new Type('tag:yaml.org,2002:omap', {
41
+ kind: 'sequence',
42
+ resolve: resolveYamlOmap,
43
+ construct: constructYamlOmap
44
+ });
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ var _toString = Object.prototype.toString;
6
+
7
+ function resolveYamlPairs(data) {
8
+ if (data === null) return true;
9
+
10
+ var index, length, pair, keys, result,
11
+ object = data;
12
+
13
+ result = new Array(object.length);
14
+
15
+ for (index = 0, length = object.length; index < length; index += 1) {
16
+ pair = object[index];
17
+
18
+ if (_toString.call(pair) !== '[object Object]') return false;
19
+
20
+ keys = Object.keys(pair);
21
+
22
+ if (keys.length !== 1) return false;
23
+
24
+ result[index] = [ keys[0], pair[keys[0]] ];
25
+ }
26
+
27
+ return true;
28
+ }
29
+
30
+ function constructYamlPairs(data) {
31
+ if (data === null) return [];
32
+
33
+ var index, length, pair, keys, result,
34
+ object = data;
35
+
36
+ result = new Array(object.length);
37
+
38
+ for (index = 0, length = object.length; index < length; index += 1) {
39
+ pair = object[index];
40
+
41
+ keys = Object.keys(pair);
42
+
43
+ result[index] = [ keys[0], pair[keys[0]] ];
44
+ }
45
+
46
+ return result;
47
+ }
48
+
49
+ module.exports = new Type('tag:yaml.org,2002:pairs', {
50
+ kind: 'sequence',
51
+ resolve: resolveYamlPairs,
52
+ construct: constructYamlPairs
53
+ });
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ module.exports = new Type('tag:yaml.org,2002:seq', {
6
+ kind: 'sequence',
7
+ construct: function (data) { return data !== null ? data : []; }
8
+ });
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ var _hasOwnProperty = Object.prototype.hasOwnProperty;
6
+
7
+ function resolveYamlSet(data) {
8
+ if (data === null) return true;
9
+
10
+ var key, object = data;
11
+
12
+ for (key in object) {
13
+ if (_hasOwnProperty.call(object, key)) {
14
+ if (object[key] !== null) return false;
15
+ }
16
+ }
17
+
18
+ return true;
19
+ }
20
+
21
+ function constructYamlSet(data) {
22
+ return data !== null ? data : {};
23
+ }
24
+
25
+ module.exports = new Type('tag:yaml.org,2002:set', {
26
+ kind: 'mapping',
27
+ resolve: resolveYamlSet,
28
+ construct: constructYamlSet
29
+ });
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ module.exports = new Type('tag:yaml.org,2002:str', {
6
+ kind: 'scalar',
7
+ construct: function (data) { return data !== null ? data : ''; }
8
+ });
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ var Type = require('../type');
4
+
5
+ var YAML_DATE_REGEXP = new RegExp(
6
+ '^([0-9][0-9][0-9][0-9])' + // [1] year
7
+ '-([0-9][0-9])' + // [2] month
8
+ '-([0-9][0-9])$'); // [3] day
9
+
10
+ var YAML_TIMESTAMP_REGEXP = new RegExp(
11
+ '^([0-9][0-9][0-9][0-9])' + // [1] year
12
+ '-([0-9][0-9]?)' + // [2] month
13
+ '-([0-9][0-9]?)' + // [3] day
14
+ '(?:[Tt]|[ \\t]+)' + // ...
15
+ '([0-9][0-9]?)' + // [4] hour
16
+ ':([0-9][0-9])' + // [5] minute
17
+ ':([0-9][0-9])' + // [6] second
18
+ '(?:\\.([0-9]*))?' + // [7] fraction
19
+ '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour
20
+ '(?::([0-9][0-9]))?))?$'); // [11] tz_minute
21
+
22
+ function resolveYamlTimestamp(data) {
23
+ if (data === null) return false;
24
+ if (YAML_DATE_REGEXP.exec(data) !== null) return true;
25
+ if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
26
+ return false;
27
+ }
28
+
29
+ function constructYamlTimestamp(data) {
30
+ var match, year, month, day, hour, minute, second, fraction = 0,
31
+ delta = null, tz_hour, tz_minute, date;
32
+
33
+ match = YAML_DATE_REGEXP.exec(data);
34
+ if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
35
+
36
+ if (match === null) throw new Error('Date resolve error');
37
+
38
+ // match: [1] year [2] month [3] day
39
+
40
+ year = +(match[1]);
41
+ month = +(match[2]) - 1; // JS month starts with 0
42
+ day = +(match[3]);
43
+
44
+ if (!match[4]) { // no hour
45
+ return new Date(Date.UTC(year, month, day));
46
+ }
47
+
48
+ // match: [4] hour [5] minute [6] second [7] fraction
49
+
50
+ hour = +(match[4]);
51
+ minute = +(match[5]);
52
+ second = +(match[6]);
53
+
54
+ if (match[7]) {
55
+ fraction = match[7].slice(0, 3);
56
+ while (fraction.length < 3) { // milli-seconds
57
+ fraction += '0';
58
+ }
59
+ fraction = +fraction;
60
+ }
61
+
62
+ // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute
63
+
64
+ if (match[9]) {
65
+ tz_hour = +(match[10]);
66
+ tz_minute = +(match[11] || 0);
67
+ delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds
68
+ if (match[9] === '-') delta = -delta;
69
+ }
70
+
71
+ date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
72
+
73
+ if (delta) date.setTime(date.getTime() - delta);
74
+
75
+ return date;
76
+ }
77
+
78
+ function representYamlTimestamp(object /*, style*/) {
79
+ return object.toISOString();
80
+ }
81
+
82
+ module.exports = new Type('tag:yaml.org,2002:timestamp', {
83
+ kind: 'scalar',
84
+ resolve: resolveYamlTimestamp,
85
+ construct: constructYamlTimestamp,
86
+ instanceOf: Date,
87
+ represent: representYamlTimestamp
88
+ });