graphql 0.0.1-test.1

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 (390) hide show
  1. package/LICENSE +21 -0
  2. package/NotSupportedTSVersion.d.ts +1 -0
  3. package/README.md +158 -0
  4. package/error/GraphQLError.d.ts +142 -0
  5. package/error/GraphQLError.js +267 -0
  6. package/error/GraphQLError.mjs +253 -0
  7. package/error/index.d.ts +7 -0
  8. package/error/index.js +41 -0
  9. package/error/index.mjs +3 -0
  10. package/error/locatedError.d.ts +13 -0
  11. package/error/locatedError.js +40 -0
  12. package/error/locatedError.mjs +32 -0
  13. package/error/syntaxError.d.ts +11 -0
  14. package/error/syntaxError.js +21 -0
  15. package/error/syntaxError.mjs +11 -0
  16. package/execution/collectFields.d.ts +45 -0
  17. package/execution/collectFields.js +229 -0
  18. package/execution/collectFields.mjs +213 -0
  19. package/execution/execute.d.ts +185 -0
  20. package/execution/execute.js +1016 -0
  21. package/execution/execute.mjs +988 -0
  22. package/execution/index.d.ts +14 -0
  23. package/execution/index.js +67 -0
  24. package/execution/index.mjs +9 -0
  25. package/execution/mapAsyncIterator.d.ts +9 -0
  26. package/execution/mapAsyncIterator.js +68 -0
  27. package/execution/mapAsyncIterator.mjs +61 -0
  28. package/execution/subscribe.d.ts +68 -0
  29. package/execution/subscribe.js +261 -0
  30. package/execution/subscribe.mjs +239 -0
  31. package/execution/values.d.ts +81 -0
  32. package/execution/values.js +292 -0
  33. package/execution/values.mjs +255 -0
  34. package/graphql.d.ts +67 -0
  35. package/graphql.js +96 -0
  36. package/graphql.mjs +122 -0
  37. package/index.d.ts +411 -0
  38. package/index.js +1263 -0
  39. package/index.mjs +254 -0
  40. package/jsutils/Maybe.d.ts +2 -0
  41. package/jsutils/Maybe.js +5 -0
  42. package/jsutils/Maybe.mjs +1 -0
  43. package/jsutils/ObjMap.d.ts +16 -0
  44. package/jsutils/ObjMap.js +5 -0
  45. package/jsutils/ObjMap.mjs +1 -0
  46. package/jsutils/Path.d.ts +20 -0
  47. package/jsutils/Path.js +33 -0
  48. package/jsutils/Path.mjs +25 -0
  49. package/jsutils/PromiseOrValue.d.ts +1 -0
  50. package/jsutils/PromiseOrValue.js +5 -0
  51. package/jsutils/PromiseOrValue.mjs +1 -0
  52. package/jsutils/devAssert.d.ts +1 -0
  53. package/jsutils/devAssert.js +14 -0
  54. package/jsutils/devAssert.mjs +7 -0
  55. package/jsutils/didYouMean.d.ts +8 -0
  56. package/jsutils/didYouMean.js +38 -0
  57. package/jsutils/didYouMean.mjs +32 -0
  58. package/jsutils/groupBy.d.ts +7 -0
  59. package/jsutils/groupBy.js +26 -0
  60. package/jsutils/groupBy.mjs +19 -0
  61. package/jsutils/identityFunc.d.ts +4 -0
  62. package/jsutils/identityFunc.js +13 -0
  63. package/jsutils/identityFunc.mjs +6 -0
  64. package/jsutils/inspect.d.ts +4 -0
  65. package/jsutils/inspect.js +121 -0
  66. package/jsutils/inspect.mjs +115 -0
  67. package/jsutils/instanceOf.d.ts +16 -0
  68. package/jsutils/instanceOf.js +60 -0
  69. package/jsutils/instanceOf.mjs +52 -0
  70. package/jsutils/invariant.d.ts +4 -0
  71. package/jsutils/invariant.js +16 -0
  72. package/jsutils/invariant.mjs +9 -0
  73. package/jsutils/isAsyncIterable.d.ts +7 -0
  74. package/jsutils/isAsyncIterable.js +18 -0
  75. package/jsutils/isAsyncIterable.mjs +11 -0
  76. package/jsutils/isIterableObject.d.ts +20 -0
  77. package/jsutils/isIterableObject.js +32 -0
  78. package/jsutils/isIterableObject.mjs +25 -0
  79. package/jsutils/isObjectLike.d.ts +7 -0
  80. package/jsutils/isObjectLike.js +14 -0
  81. package/jsutils/isObjectLike.mjs +7 -0
  82. package/jsutils/isPromise.d.ts +5 -0
  83. package/jsutils/isPromise.js +17 -0
  84. package/jsutils/isPromise.mjs +10 -0
  85. package/jsutils/keyMap.d.ts +32 -0
  86. package/jsutils/keyMap.js +43 -0
  87. package/jsutils/keyMap.mjs +36 -0
  88. package/jsutils/keyValMap.d.ts +23 -0
  89. package/jsutils/keyValMap.js +33 -0
  90. package/jsutils/keyValMap.mjs +26 -0
  91. package/jsutils/mapValue.d.ts +9 -0
  92. package/jsutils/mapValue.js +20 -0
  93. package/jsutils/mapValue.mjs +13 -0
  94. package/jsutils/memoize3.d.ts +9 -0
  95. package/jsutils/memoize3.js +41 -0
  96. package/jsutils/memoize3.mjs +34 -0
  97. package/jsutils/naturalCompare.d.ts +8 -0
  98. package/jsutils/naturalCompare.js +69 -0
  99. package/jsutils/naturalCompare.mjs +61 -0
  100. package/jsutils/printPathArray.d.ts +6 -0
  101. package/jsutils/printPathArray.js +17 -0
  102. package/jsutils/printPathArray.mjs +10 -0
  103. package/jsutils/promiseForObject.d.ts +11 -0
  104. package/jsutils/promiseForObject.js +25 -0
  105. package/jsutils/promiseForObject.mjs +18 -0
  106. package/jsutils/promiseReduce.d.ts +13 -0
  107. package/jsutils/promiseReduce.js +27 -0
  108. package/jsutils/promiseReduce.mjs +20 -0
  109. package/jsutils/suggestionList.d.ts +8 -0
  110. package/jsutils/suggestionList.js +139 -0
  111. package/jsutils/suggestionList.mjs +130 -0
  112. package/jsutils/toError.d.ts +4 -0
  113. package/jsutils/toError.js +25 -0
  114. package/jsutils/toError.mjs +18 -0
  115. package/jsutils/toObjMap.d.ts +5 -0
  116. package/jsutils/toObjMap.js +24 -0
  117. package/jsutils/toObjMap.mjs +17 -0
  118. package/language/ast.d.ts +536 -0
  119. package/language/ast.js +224 -0
  120. package/language/ast.mjs +206 -0
  121. package/language/blockString.d.ts +28 -0
  122. package/language/blockString.js +195 -0
  123. package/language/blockString.mjs +178 -0
  124. package/language/characterClasses.d.ts +47 -0
  125. package/language/characterClasses.js +75 -0
  126. package/language/characterClasses.mjs +64 -0
  127. package/language/directiveLocation.d.ts +32 -0
  128. package/language/directiveLocation.js +40 -0
  129. package/language/directiveLocation.mjs +31 -0
  130. package/language/index.d.ts +97 -0
  131. package/language/index.js +215 -0
  132. package/language/index.mjs +29 -0
  133. package/language/kinds.d.ts +65 -0
  134. package/language/kinds.js +64 -0
  135. package/language/kinds.mjs +55 -0
  136. package/language/lexer.d.ts +45 -0
  137. package/language/lexer.js +1006 -0
  138. package/language/lexer.mjs +902 -0
  139. package/language/location.d.ts +16 -0
  140. package/language/location.js +38 -0
  141. package/language/location.mjs +30 -0
  142. package/language/parser.d.ts +554 -0
  143. package/language/parser.js +1567 -0
  144. package/language/parser.mjs +1524 -0
  145. package/language/predicates.d.ts +33 -0
  146. package/language/predicates.js +109 -0
  147. package/language/predicates.mjs +81 -0
  148. package/language/printLocation.d.ts +14 -0
  149. package/language/printLocation.js +74 -0
  150. package/language/printLocation.mjs +66 -0
  151. package/language/printString.d.ts +5 -0
  152. package/language/printString.js +183 -0
  153. package/language/printString.mjs +176 -0
  154. package/language/printer.d.ts +6 -0
  155. package/language/printer.js +351 -0
  156. package/language/printer.mjs +339 -0
  157. package/language/source.d.ts +25 -0
  158. package/language/source.js +65 -0
  159. package/language/source.mjs +50 -0
  160. package/language/tokenKind.d.ts +34 -0
  161. package/language/tokenKind.js +44 -0
  162. package/language/tokenKind.mjs +35 -0
  163. package/language/visitor.d.ts +194 -0
  164. package/language/visitor.js +377 -0
  165. package/language/visitor.mjs +361 -0
  166. package/package.json +40 -0
  167. package/subscription/index.d.ts +19 -0
  168. package/subscription/index.js +19 -0
  169. package/subscription/index.mjs +19 -0
  170. package/type/assertName.d.ts +10 -0
  171. package/type/assertName.js +59 -0
  172. package/type/assertName.mjs +44 -0
  173. package/type/definition.d.ts +917 -0
  174. package/type/definition.js +1329 -0
  175. package/type/definition.mjs +1167 -0
  176. package/type/directives.d.ts +86 -0
  177. package/type/directives.js +224 -0
  178. package/type/directives.mjs +190 -0
  179. package/type/index.d.ts +150 -0
  180. package/type/index.js +547 -0
  181. package/type/index.mjs +103 -0
  182. package/type/introspection.d.ts +29 -0
  183. package/type/introspection.js +617 -0
  184. package/type/introspection.mjs +550 -0
  185. package/type/scalars.d.ts +19 -0
  186. package/type/scalars.js +359 -0
  187. package/type/scalars.mjs +299 -0
  188. package/type/schema.d.ts +170 -0
  189. package/type/schema.js +402 -0
  190. package/type/schema.mjs +381 -0
  191. package/type/validate.d.ts +17 -0
  192. package/type/validate.js +672 -0
  193. package/type/validate.mjs +647 -0
  194. package/utilities/TypeInfo.d.ts +67 -0
  195. package/utilities/TypeInfo.js +418 -0
  196. package/utilities/TypeInfo.mjs +395 -0
  197. package/utilities/assertValidName.d.ts +13 -0
  198. package/utilities/assertValidName.js +51 -0
  199. package/utilities/assertValidName.mjs +40 -0
  200. package/utilities/astFromValue.d.ts +28 -0
  201. package/utilities/astFromValue.js +190 -0
  202. package/utilities/astFromValue.mjs +177 -0
  203. package/utilities/buildASTSchema.d.ts +35 -0
  204. package/utilities/buildASTSchema.js +115 -0
  205. package/utilities/buildASTSchema.mjs +97 -0
  206. package/utilities/buildClientSchema.d.ts +19 -0
  207. package/utilities/buildClientSchema.js +386 -0
  208. package/utilities/buildClientSchema.mjs +363 -0
  209. package/utilities/coerceInputValue.d.ts +16 -0
  210. package/utilities/coerceInputValue.js +191 -0
  211. package/utilities/coerceInputValue.mjs +172 -0
  212. package/utilities/concatAST.d.ts +9 -0
  213. package/utilities/concatAST.js +26 -0
  214. package/utilities/concatAST.mjs +19 -0
  215. package/utilities/extendSchema.d.ts +40 -0
  216. package/utilities/extendSchema.js +798 -0
  217. package/utilities/extendSchema.mjs +789 -0
  218. package/utilities/findBreakingChanges.d.ts +51 -0
  219. package/utilities/findBreakingChanges.js +547 -0
  220. package/utilities/findBreakingChanges.mjs +516 -0
  221. package/utilities/getIntrospectionQuery.d.ts +182 -0
  222. package/utilities/getIntrospectionQuery.js +134 -0
  223. package/utilities/getIntrospectionQuery.mjs +127 -0
  224. package/utilities/getOperationAST.d.ts +11 -0
  225. package/utilities/getOperationAST.js +43 -0
  226. package/utilities/getOperationAST.mjs +36 -0
  227. package/utilities/getOperationRootType.d.ts +15 -0
  228. package/utilities/getOperationRootType.js +59 -0
  229. package/utilities/getOperationRootType.mjs +52 -0
  230. package/utilities/index.d.ts +61 -0
  231. package/utilities/index.js +233 -0
  232. package/utilities/index.mjs +55 -0
  233. package/utilities/introspectionFromSchema.d.ts +18 -0
  234. package/utilities/introspectionFromSchema.js +42 -0
  235. package/utilities/introspectionFromSchema.mjs +30 -0
  236. package/utilities/lexicographicSortSchema.d.ts +9 -0
  237. package/utilities/lexicographicSortSchema.js +177 -0
  238. package/utilities/lexicographicSortSchema.mjs +172 -0
  239. package/utilities/printSchema.d.ts +5 -0
  240. package/utilities/printSchema.js +333 -0
  241. package/utilities/printSchema.mjs +309 -0
  242. package/utilities/separateOperations.d.ts +11 -0
  243. package/utilities/separateOperations.js +88 -0
  244. package/utilities/separateOperations.mjs +80 -0
  245. package/utilities/sortValueNode.d.ts +9 -0
  246. package/utilities/sortValueNode.js +47 -0
  247. package/utilities/sortValueNode.mjs +39 -0
  248. package/utilities/stripIgnoredCharacters.d.ts +62 -0
  249. package/utilities/stripIgnoredCharacters.js +121 -0
  250. package/utilities/stripIgnoredCharacters.mjs +104 -0
  251. package/utilities/typeComparators.d.ts +32 -0
  252. package/utilities/typeComparators.js +116 -0
  253. package/utilities/typeComparators.mjs +106 -0
  254. package/utilities/typeFromAST.d.ts +32 -0
  255. package/utilities/typeFromAST.js +27 -0
  256. package/utilities/typeFromAST.mjs +18 -0
  257. package/utilities/typedQueryDocumentNode.d.ts +22 -0
  258. package/utilities/typedQueryDocumentNode.js +5 -0
  259. package/utilities/typedQueryDocumentNode.mjs +1 -0
  260. package/utilities/valueFromAST.d.ts +29 -0
  261. package/utilities/valueFromAST.js +185 -0
  262. package/utilities/valueFromAST.mjs +172 -0
  263. package/utilities/valueFromASTUntyped.d.ts +23 -0
  264. package/utilities/valueFromASTUntyped.js +61 -0
  265. package/utilities/valueFromASTUntyped.mjs +53 -0
  266. package/validation/ValidationContext.d.ts +95 -0
  267. package/validation/ValidationContext.js +232 -0
  268. package/validation/ValidationContext.mjs +212 -0
  269. package/validation/index.d.ts +40 -0
  270. package/validation/index.js +317 -0
  271. package/validation/index.mjs +68 -0
  272. package/validation/rules/ExecutableDefinitionsRule.d.ts +13 -0
  273. package/validation/rules/ExecutableDefinitionsRule.js +44 -0
  274. package/validation/rules/ExecutableDefinitionsRule.mjs +35 -0
  275. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +13 -0
  276. package/validation/rules/FieldsOnCorrectTypeRule.js +143 -0
  277. package/validation/rules/FieldsOnCorrectTypeRule.mjs +125 -0
  278. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +14 -0
  279. package/validation/rules/FragmentsOnCompositeTypesRule.js +65 -0
  280. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +49 -0
  281. package/validation/rules/KnownArgumentNamesRule.d.ts +23 -0
  282. package/validation/rules/KnownArgumentNamesRule.js +116 -0
  283. package/validation/rules/KnownArgumentNamesRule.mjs +98 -0
  284. package/validation/rules/KnownDirectivesRule.d.ts +16 -0
  285. package/validation/rules/KnownDirectivesRule.js +163 -0
  286. package/validation/rules/KnownDirectivesRule.mjs +146 -0
  287. package/validation/rules/KnownFragmentNamesRule.d.ts +13 -0
  288. package/validation/rules/KnownFragmentNamesRule.js +34 -0
  289. package/validation/rules/KnownFragmentNamesRule.mjs +24 -0
  290. package/validation/rules/KnownTypeNamesRule.d.ts +16 -0
  291. package/validation/rules/KnownTypeNamesRule.js +87 -0
  292. package/validation/rules/KnownTypeNamesRule.mjs +75 -0
  293. package/validation/rules/LoneAnonymousOperationRule.d.ts +13 -0
  294. package/validation/rules/LoneAnonymousOperationRule.js +40 -0
  295. package/validation/rules/LoneAnonymousOperationRule.mjs +32 -0
  296. package/validation/rules/LoneSchemaDefinitionRule.d.ts +10 -0
  297. package/validation/rules/LoneSchemaDefinitionRule.js +63 -0
  298. package/validation/rules/LoneSchemaDefinitionRule.mjs +53 -0
  299. package/validation/rules/NoFragmentCyclesRule.d.ts +13 -0
  300. package/validation/rules/NoFragmentCyclesRule.js +83 -0
  301. package/validation/rules/NoFragmentCyclesRule.mjs +76 -0
  302. package/validation/rules/NoUndefinedVariablesRule.d.ts +13 -0
  303. package/validation/rules/NoUndefinedVariablesRule.js +50 -0
  304. package/validation/rules/NoUndefinedVariablesRule.mjs +43 -0
  305. package/validation/rules/NoUnusedFragmentsRule.d.ts +13 -0
  306. package/validation/rules/NoUnusedFragmentsRule.js +59 -0
  307. package/validation/rules/NoUnusedFragmentsRule.mjs +52 -0
  308. package/validation/rules/NoUnusedVariablesRule.d.ts +13 -0
  309. package/validation/rules/NoUnusedVariablesRule.js +55 -0
  310. package/validation/rules/NoUnusedVariablesRule.mjs +48 -0
  311. package/validation/rules/OverlappingFieldsCanBeMergedRule-old.js +805 -0
  312. package/validation/rules/OverlappingFieldsCanBeMergedRule-old.mjs +788 -0
  313. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +14 -0
  314. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +805 -0
  315. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +788 -0
  316. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +12 -0
  317. package/validation/rules/PossibleFragmentSpreadsRule.js +91 -0
  318. package/validation/rules/PossibleFragmentSpreadsRule.mjs +69 -0
  319. package/validation/rules/PossibleTypeExtensionsRule.d.ts +10 -0
  320. package/validation/rules/PossibleTypeExtensionsRule.js +167 -0
  321. package/validation/rules/PossibleTypeExtensionsRule.mjs +147 -0
  322. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +20 -0
  323. package/validation/rules/ProvidedRequiredArgumentsRule.js +158 -0
  324. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +138 -0
  325. package/validation/rules/ScalarLeafsRule.d.ts +9 -0
  326. package/validation/rules/ScalarLeafsRule.js +51 -0
  327. package/validation/rules/ScalarLeafsRule.mjs +42 -0
  328. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +13 -0
  329. package/validation/rules/SingleFieldSubscriptionsRule.js +82 -0
  330. package/validation/rules/SingleFieldSubscriptionsRule.mjs +73 -0
  331. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +11 -0
  332. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +90 -0
  333. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +79 -0
  334. package/validation/rules/UniqueArgumentNamesRule.d.ts +13 -0
  335. package/validation/rules/UniqueArgumentNamesRule.js +53 -0
  336. package/validation/rules/UniqueArgumentNamesRule.mjs +42 -0
  337. package/validation/rules/UniqueDirectiveNamesRule.d.ts +10 -0
  338. package/validation/rules/UniqueDirectiveNamesRule.js +50 -0
  339. package/validation/rules/UniqueDirectiveNamesRule.mjs +43 -0
  340. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +16 -0
  341. package/validation/rules/UniqueDirectivesPerLocationRule.js +93 -0
  342. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +83 -0
  343. package/validation/rules/UniqueEnumValueNamesRule.d.ts +10 -0
  344. package/validation/rules/UniqueEnumValueNamesRule.js +71 -0
  345. package/validation/rules/UniqueEnumValueNamesRule.mjs +60 -0
  346. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +10 -0
  347. package/validation/rules/UniqueFieldDefinitionNamesRule.js +83 -0
  348. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +75 -0
  349. package/validation/rules/UniqueFragmentNamesRule.d.ts +12 -0
  350. package/validation/rules/UniqueFragmentNamesRule.js +39 -0
  351. package/validation/rules/UniqueFragmentNamesRule.mjs +32 -0
  352. package/validation/rules/UniqueInputFieldNamesRule.d.ts +13 -0
  353. package/validation/rules/UniqueInputFieldNamesRule.js +52 -0
  354. package/validation/rules/UniqueInputFieldNamesRule.mjs +44 -0
  355. package/validation/rules/UniqueOperationNamesRule.d.ts +12 -0
  356. package/validation/rules/UniqueOperationNamesRule.js +41 -0
  357. package/validation/rules/UniqueOperationNamesRule.mjs +34 -0
  358. package/validation/rules/UniqueOperationTypesRule.d.ts +10 -0
  359. package/validation/rules/UniqueOperationTypesRule.js +67 -0
  360. package/validation/rules/UniqueOperationTypesRule.mjs +60 -0
  361. package/validation/rules/UniqueTypeNamesRule.d.ts +10 -0
  362. package/validation/rules/UniqueTypeNamesRule.js +53 -0
  363. package/validation/rules/UniqueTypeNamesRule.mjs +46 -0
  364. package/validation/rules/UniqueVariableNamesRule.d.ts +10 -0
  365. package/validation/rules/UniqueVariableNamesRule.js +47 -0
  366. package/validation/rules/UniqueVariableNamesRule.mjs +39 -0
  367. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +13 -0
  368. package/validation/rules/ValuesOfCorrectTypeRule.js +183 -0
  369. package/validation/rules/ValuesOfCorrectTypeRule.mjs +164 -0
  370. package/validation/rules/VariablesAreInputTypesRule.d.ts +13 -0
  371. package/validation/rules/VariablesAreInputTypesRule.js +44 -0
  372. package/validation/rules/VariablesAreInputTypesRule.mjs +31 -0
  373. package/validation/rules/VariablesInAllowedPositionRule.d.ts +12 -0
  374. package/validation/rules/VariablesInAllowedPositionRule.js +114 -0
  375. package/validation/rules/VariablesInAllowedPositionRule.mjs +95 -0
  376. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +15 -0
  377. package/validation/rules/custom/NoDeprecatedCustomRule.js +121 -0
  378. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +107 -0
  379. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +15 -0
  380. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +39 -0
  381. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +30 -0
  382. package/validation/specifiedRules.d.ts +12 -0
  383. package/validation/specifiedRules.js +160 -0
  384. package/validation/specifiedRules.mjs +123 -0
  385. package/validation/validate.d.ts +61 -0
  386. package/validation/validate.js +151 -0
  387. package/validation/validate.mjs +133 -0
  388. package/version.d.ts +13 -0
  389. package/version.js +25 -0
  390. package/version.mjs +17 -0
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Creates a keyed JS object from an array, given a function to produce the keys
3
+ * for each value in the array.
4
+ *
5
+ * This provides a convenient lookup for the array items if the key function
6
+ * produces unique results.
7
+ * ```ts
8
+ * const phoneBook = [
9
+ * { name: 'Jon', num: '555-1234' },
10
+ * { name: 'Jenny', num: '867-5309' }
11
+ * ]
12
+ *
13
+ * const entriesByName = keyMap(
14
+ * phoneBook,
15
+ * entry => entry.name
16
+ * )
17
+ *
18
+ * // {
19
+ * // Jon: { name: 'Jon', num: '555-1234' },
20
+ * // Jenny: { name: 'Jenny', num: '867-5309' }
21
+ * // }
22
+ *
23
+ * const jennyEntry = entriesByName['Jenny']
24
+ *
25
+ * // { name: 'Jenny', num: '857-6309' }
26
+ * ```
27
+ */
28
+ export function keyMap(list, keyFn) {
29
+ const result = Object.create(null);
30
+
31
+ for (const item of list) {
32
+ result[keyFn(item)] = item;
33
+ }
34
+
35
+ return result;
36
+ }
@@ -0,0 +1,23 @@
1
+ import type { ObjMap } from './ObjMap';
2
+ /**
3
+ * Creates a keyed JS object from an array, given a function to produce the keys
4
+ * and a function to produce the values from each item in the array.
5
+ * ```ts
6
+ * const phoneBook = [
7
+ * { name: 'Jon', num: '555-1234' },
8
+ * { name: 'Jenny', num: '867-5309' }
9
+ * ]
10
+ *
11
+ * // { Jon: '555-1234', Jenny: '867-5309' }
12
+ * const phonesByName = keyValMap(
13
+ * phoneBook,
14
+ * entry => entry.name,
15
+ * entry => entry.num
16
+ * )
17
+ * ```
18
+ */
19
+ export declare function keyValMap<T, V>(
20
+ list: ReadonlyArray<T>,
21
+ keyFn: (item: T) => string,
22
+ valFn: (item: T) => V,
23
+ ): ObjMap<V>;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.keyValMap = keyValMap;
7
+
8
+ /**
9
+ * Creates a keyed JS object from an array, given a function to produce the keys
10
+ * and a function to produce the values from each item in the array.
11
+ * ```ts
12
+ * const phoneBook = [
13
+ * { name: 'Jon', num: '555-1234' },
14
+ * { name: 'Jenny', num: '867-5309' }
15
+ * ]
16
+ *
17
+ * // { Jon: '555-1234', Jenny: '867-5309' }
18
+ * const phonesByName = keyValMap(
19
+ * phoneBook,
20
+ * entry => entry.name,
21
+ * entry => entry.num
22
+ * )
23
+ * ```
24
+ */
25
+ function keyValMap(list, keyFn, valFn) {
26
+ const result = Object.create(null);
27
+
28
+ for (const item of list) {
29
+ result[keyFn(item)] = valFn(item);
30
+ }
31
+
32
+ return result;
33
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Creates a keyed JS object from an array, given a function to produce the keys
3
+ * and a function to produce the values from each item in the array.
4
+ * ```ts
5
+ * const phoneBook = [
6
+ * { name: 'Jon', num: '555-1234' },
7
+ * { name: 'Jenny', num: '867-5309' }
8
+ * ]
9
+ *
10
+ * // { Jon: '555-1234', Jenny: '867-5309' }
11
+ * const phonesByName = keyValMap(
12
+ * phoneBook,
13
+ * entry => entry.name,
14
+ * entry => entry.num
15
+ * )
16
+ * ```
17
+ */
18
+ export function keyValMap(list, keyFn, valFn) {
19
+ const result = Object.create(null);
20
+
21
+ for (const item of list) {
22
+ result[keyFn(item)] = valFn(item);
23
+ }
24
+
25
+ return result;
26
+ }
@@ -0,0 +1,9 @@
1
+ import type { ObjMap, ReadOnlyObjMap } from './ObjMap';
2
+ /**
3
+ * Creates an object map with the same keys as `map` and values generated by
4
+ * running each value of `map` thru `fn`.
5
+ */
6
+ export declare function mapValue<T, V>(
7
+ map: ReadOnlyObjMap<T>,
8
+ fn: (value: T, key: string) => V,
9
+ ): ObjMap<V>;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.mapValue = mapValue;
7
+
8
+ /**
9
+ * Creates an object map with the same keys as `map` and values generated by
10
+ * running each value of `map` thru `fn`.
11
+ */
12
+ function mapValue(map, fn) {
13
+ const result = Object.create(null);
14
+
15
+ for (const key of Object.keys(map)) {
16
+ result[key] = fn(map[key], key);
17
+ }
18
+
19
+ return result;
20
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Creates an object map with the same keys as `map` and values generated by
3
+ * running each value of `map` thru `fn`.
4
+ */
5
+ export function mapValue(map, fn) {
6
+ const result = Object.create(null);
7
+
8
+ for (const key of Object.keys(map)) {
9
+ result[key] = fn(map[key], key);
10
+ }
11
+
12
+ return result;
13
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Memoizes the provided three-argument function.
3
+ */
4
+ export declare function memoize3<
5
+ A1 extends object,
6
+ A2 extends object,
7
+ A3 extends object,
8
+ R,
9
+ >(fn: (a1: A1, a2: A2, a3: A3) => R): (a1: A1, a2: A2, a3: A3) => R;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.memoize3 = memoize3;
7
+
8
+ /**
9
+ * Memoizes the provided three-argument function.
10
+ */
11
+ function memoize3(fn) {
12
+ let cache0;
13
+ return function memoized(a1, a2, a3) {
14
+ if (cache0 === undefined) {
15
+ cache0 = new WeakMap();
16
+ }
17
+
18
+ let cache1 = cache0.get(a1);
19
+
20
+ if (cache1 === undefined) {
21
+ cache1 = new WeakMap();
22
+ cache0.set(a1, cache1);
23
+ }
24
+
25
+ let cache2 = cache1.get(a2);
26
+
27
+ if (cache2 === undefined) {
28
+ cache2 = new WeakMap();
29
+ cache1.set(a2, cache2);
30
+ }
31
+
32
+ let fnResult = cache2.get(a3);
33
+
34
+ if (fnResult === undefined) {
35
+ fnResult = fn(a1, a2, a3);
36
+ cache2.set(a3, fnResult);
37
+ }
38
+
39
+ return fnResult;
40
+ };
41
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Memoizes the provided three-argument function.
3
+ */
4
+ export function memoize3(fn) {
5
+ let cache0;
6
+ return function memoized(a1, a2, a3) {
7
+ if (cache0 === undefined) {
8
+ cache0 = new WeakMap();
9
+ }
10
+
11
+ let cache1 = cache0.get(a1);
12
+
13
+ if (cache1 === undefined) {
14
+ cache1 = new WeakMap();
15
+ cache0.set(a1, cache1);
16
+ }
17
+
18
+ let cache2 = cache1.get(a2);
19
+
20
+ if (cache2 === undefined) {
21
+ cache2 = new WeakMap();
22
+ cache1.set(a2, cache2);
23
+ }
24
+
25
+ let fnResult = cache2.get(a3);
26
+
27
+ if (fnResult === undefined) {
28
+ fnResult = fn(a1, a2, a3);
29
+ cache2.set(a3, fnResult);
30
+ }
31
+
32
+ return fnResult;
33
+ };
34
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns a number indicating whether a reference string comes before, or after,
3
+ * or is the same as the given string in natural sort order.
4
+ *
5
+ * See: https://en.wikipedia.org/wiki/Natural_sort_order
6
+ *
7
+ */
8
+ export declare function naturalCompare(aStr: string, bStr: string): number;
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.naturalCompare = naturalCompare;
7
+
8
+ /**
9
+ * Returns a number indicating whether a reference string comes before, or after,
10
+ * or is the same as the given string in natural sort order.
11
+ *
12
+ * See: https://en.wikipedia.org/wiki/Natural_sort_order
13
+ *
14
+ */
15
+ function naturalCompare(aStr, bStr) {
16
+ let aIndex = 0;
17
+ let bIndex = 0;
18
+
19
+ while (aIndex < aStr.length && bIndex < bStr.length) {
20
+ let aChar = aStr.charCodeAt(aIndex);
21
+ let bChar = bStr.charCodeAt(bIndex);
22
+
23
+ if (isDigit(aChar) && isDigit(bChar)) {
24
+ let aNum = 0;
25
+
26
+ do {
27
+ ++aIndex;
28
+ aNum = aNum * 10 + aChar - DIGIT_0;
29
+ aChar = aStr.charCodeAt(aIndex);
30
+ } while (isDigit(aChar) && aNum > 0);
31
+
32
+ let bNum = 0;
33
+
34
+ do {
35
+ ++bIndex;
36
+ bNum = bNum * 10 + bChar - DIGIT_0;
37
+ bChar = bStr.charCodeAt(bIndex);
38
+ } while (isDigit(bChar) && bNum > 0);
39
+
40
+ if (aNum < bNum) {
41
+ return -1;
42
+ }
43
+
44
+ if (aNum > bNum) {
45
+ return 1;
46
+ }
47
+ } else {
48
+ if (aChar < bChar) {
49
+ return -1;
50
+ }
51
+
52
+ if (aChar > bChar) {
53
+ return 1;
54
+ }
55
+
56
+ ++aIndex;
57
+ ++bIndex;
58
+ }
59
+ }
60
+
61
+ return aStr.length - bStr.length;
62
+ }
63
+
64
+ const DIGIT_0 = 48;
65
+ const DIGIT_9 = 57;
66
+
67
+ function isDigit(code) {
68
+ return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9;
69
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Returns a number indicating whether a reference string comes before, or after,
3
+ * or is the same as the given string in natural sort order.
4
+ *
5
+ * See: https://en.wikipedia.org/wiki/Natural_sort_order
6
+ *
7
+ */
8
+ export function naturalCompare(aStr, bStr) {
9
+ let aIndex = 0;
10
+ let bIndex = 0;
11
+
12
+ while (aIndex < aStr.length && bIndex < bStr.length) {
13
+ let aChar = aStr.charCodeAt(aIndex);
14
+ let bChar = bStr.charCodeAt(bIndex);
15
+
16
+ if (isDigit(aChar) && isDigit(bChar)) {
17
+ let aNum = 0;
18
+
19
+ do {
20
+ ++aIndex;
21
+ aNum = aNum * 10 + aChar - DIGIT_0;
22
+ aChar = aStr.charCodeAt(aIndex);
23
+ } while (isDigit(aChar) && aNum > 0);
24
+
25
+ let bNum = 0;
26
+
27
+ do {
28
+ ++bIndex;
29
+ bNum = bNum * 10 + bChar - DIGIT_0;
30
+ bChar = bStr.charCodeAt(bIndex);
31
+ } while (isDigit(bChar) && bNum > 0);
32
+
33
+ if (aNum < bNum) {
34
+ return -1;
35
+ }
36
+
37
+ if (aNum > bNum) {
38
+ return 1;
39
+ }
40
+ } else {
41
+ if (aChar < bChar) {
42
+ return -1;
43
+ }
44
+
45
+ if (aChar > bChar) {
46
+ return 1;
47
+ }
48
+
49
+ ++aIndex;
50
+ ++bIndex;
51
+ }
52
+ }
53
+
54
+ return aStr.length - bStr.length;
55
+ }
56
+ const DIGIT_0 = 48;
57
+ const DIGIT_9 = 57;
58
+
59
+ function isDigit(code) {
60
+ return !isNaN(code) && DIGIT_0 <= code && code <= DIGIT_9;
61
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Build a string describing the path.
3
+ */
4
+ export declare function printPathArray(
5
+ path: ReadonlyArray<string | number>,
6
+ ): string;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.printPathArray = printPathArray;
7
+
8
+ /**
9
+ * Build a string describing the path.
10
+ */
11
+ function printPathArray(path) {
12
+ return path
13
+ .map((key) =>
14
+ typeof key === 'number' ? '[' + key.toString() + ']' : '.' + key,
15
+ )
16
+ .join('');
17
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Build a string describing the path.
3
+ */
4
+ export function printPathArray(path) {
5
+ return path
6
+ .map((key) =>
7
+ typeof key === 'number' ? '[' + key.toString() + ']' : '.' + key,
8
+ )
9
+ .join('');
10
+ }
@@ -0,0 +1,11 @@
1
+ import type { ObjMap } from './ObjMap';
2
+ /**
3
+ * This function transforms a JS object `ObjMap<Promise<T>>` into
4
+ * a `Promise<ObjMap<T>>`
5
+ *
6
+ * This is akin to bluebird's `Promise.props`, but implemented only using
7
+ * `Promise.all` so it will work with any implementation of ES6 promises.
8
+ */
9
+ export declare function promiseForObject<T>(
10
+ object: ObjMap<Promise<T>>,
11
+ ): Promise<ObjMap<T>>;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.promiseForObject = promiseForObject;
7
+
8
+ /**
9
+ * This function transforms a JS object `ObjMap<Promise<T>>` into
10
+ * a `Promise<ObjMap<T>>`
11
+ *
12
+ * This is akin to bluebird's `Promise.props`, but implemented only using
13
+ * `Promise.all` so it will work with any implementation of ES6 promises.
14
+ */
15
+ function promiseForObject(object) {
16
+ return Promise.all(Object.values(object)).then((resolvedValues) => {
17
+ const resolvedObject = Object.create(null);
18
+
19
+ for (const [i, key] of Object.keys(object).entries()) {
20
+ resolvedObject[key] = resolvedValues[i];
21
+ }
22
+
23
+ return resolvedObject;
24
+ });
25
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This function transforms a JS object `ObjMap<Promise<T>>` into
3
+ * a `Promise<ObjMap<T>>`
4
+ *
5
+ * This is akin to bluebird's `Promise.props`, but implemented only using
6
+ * `Promise.all` so it will work with any implementation of ES6 promises.
7
+ */
8
+ export function promiseForObject(object) {
9
+ return Promise.all(Object.values(object)).then((resolvedValues) => {
10
+ const resolvedObject = Object.create(null);
11
+
12
+ for (const [i, key] of Object.keys(object).entries()) {
13
+ resolvedObject[key] = resolvedValues[i];
14
+ }
15
+
16
+ return resolvedObject;
17
+ });
18
+ }
@@ -0,0 +1,13 @@
1
+ import type { PromiseOrValue } from './PromiseOrValue';
2
+ /**
3
+ * Similar to Array.prototype.reduce(), however the reducing callback may return
4
+ * a Promise, in which case reduction will continue after each promise resolves.
5
+ *
6
+ * If the callback does not return a Promise, then this function will also not
7
+ * return a Promise.
8
+ */
9
+ export declare function promiseReduce<T, U>(
10
+ values: Iterable<T>,
11
+ callbackFn: (accumulator: U, currentValue: T) => PromiseOrValue<U>,
12
+ initialValue: PromiseOrValue<U>,
13
+ ): PromiseOrValue<U>;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', {
4
+ value: true,
5
+ });
6
+ exports.promiseReduce = promiseReduce;
7
+
8
+ var _isPromise = require('./isPromise.js');
9
+
10
+ /**
11
+ * Similar to Array.prototype.reduce(), however the reducing callback may return
12
+ * a Promise, in which case reduction will continue after each promise resolves.
13
+ *
14
+ * If the callback does not return a Promise, then this function will also not
15
+ * return a Promise.
16
+ */
17
+ function promiseReduce(values, callbackFn, initialValue) {
18
+ let accumulator = initialValue;
19
+
20
+ for (const value of values) {
21
+ accumulator = (0, _isPromise.isPromise)(accumulator)
22
+ ? accumulator.then((resolved) => callbackFn(resolved, value))
23
+ : callbackFn(accumulator, value);
24
+ }
25
+
26
+ return accumulator;
27
+ }
@@ -0,0 +1,20 @@
1
+ import { isPromise } from './isPromise.mjs';
2
+
3
+ /**
4
+ * Similar to Array.prototype.reduce(), however the reducing callback may return
5
+ * a Promise, in which case reduction will continue after each promise resolves.
6
+ *
7
+ * If the callback does not return a Promise, then this function will also not
8
+ * return a Promise.
9
+ */
10
+ export function promiseReduce(values, callbackFn, initialValue) {
11
+ let accumulator = initialValue;
12
+
13
+ for (const value of values) {
14
+ accumulator = isPromise(accumulator)
15
+ ? accumulator.then((resolved) => callbackFn(resolved, value))
16
+ : callbackFn(accumulator, value);
17
+ }
18
+
19
+ return accumulator;
20
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Given an invalid input string and a list of valid options, returns a filtered
3
+ * list of valid options sorted based on their similarity with the input.
4
+ */
5
+ export declare function suggestionList(
6
+ input: string,
7
+ options: ReadonlyArray<string>,
8
+ ): Array<string>;