@osdk/faux 0.1.0-beta.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 (401) hide show
  1. package/CHANGELOG.md +1047 -0
  2. package/build/browser/BaseError.js +21 -0
  3. package/build/browser/BaseError.js.map +1 -0
  4. package/build/browser/FauxFoundry/BaseOsdkObjectType.js +2 -0
  5. package/build/browser/FauxFoundry/BaseOsdkObjectType.js.map +1 -0
  6. package/build/browser/FauxFoundry/BaseServerObject.js +30 -0
  7. package/build/browser/FauxFoundry/BaseServerObject.js.map +1 -0
  8. package/build/browser/FauxFoundry/FauxActionImpl.js +2 -0
  9. package/build/browser/FauxFoundry/FauxActionImpl.js.map +1 -0
  10. package/build/browser/FauxFoundry/FauxAttachmentStore.js +60 -0
  11. package/build/browser/FauxFoundry/FauxAttachmentStore.js.map +1 -0
  12. package/build/browser/FauxFoundry/FauxDataStore.js +470 -0
  13. package/build/browser/FauxFoundry/FauxDataStore.js.map +1 -0
  14. package/build/browser/FauxFoundry/FauxDataStore.test.js +190 -0
  15. package/build/browser/FauxFoundry/FauxDataStore.test.js.map +1 -0
  16. package/build/browser/FauxFoundry/FauxDataStoreBatch.js +125 -0
  17. package/build/browser/FauxFoundry/FauxDataStoreBatch.js.map +1 -0
  18. package/build/browser/FauxFoundry/FauxFoundry.js +87 -0
  19. package/build/browser/FauxFoundry/FauxFoundry.js.map +1 -0
  20. package/build/browser/FauxFoundry/FauxOntology.js +228 -0
  21. package/build/browser/FauxFoundry/FauxOntology.js.map +1 -0
  22. package/build/browser/FauxFoundry/FauxQueryImpl.js +2 -0
  23. package/build/browser/FauxFoundry/FauxQueryImpl.js.map +1 -0
  24. package/build/browser/FauxFoundry/ObjectLocator.js +29 -0
  25. package/build/browser/FauxFoundry/ObjectLocator.js.map +1 -0
  26. package/build/browser/FauxFoundry/filterObjects.js +122 -0
  27. package/build/browser/FauxFoundry/filterObjects.js.map +1 -0
  28. package/build/browser/FauxFoundry/filterTimeSeriesData.js +70 -0
  29. package/build/browser/FauxFoundry/filterTimeSeriesData.js.map +1 -0
  30. package/build/browser/FauxFoundry/filterTimeSeriesData.test.js +116 -0
  31. package/build/browser/FauxFoundry/filterTimeSeriesData.test.js.map +1 -0
  32. package/build/browser/FauxFoundry/getObjectsFromSet.js +217 -0
  33. package/build/browser/FauxFoundry/getObjectsFromSet.js.map +1 -0
  34. package/build/browser/FauxFoundry/typeHelpers/ActionTypeBuilder.js +64 -0
  35. package/build/browser/FauxFoundry/typeHelpers/ActionTypeBuilder.js.map +1 -0
  36. package/build/browser/FauxFoundry/typeHelpers/JustProps.js +2 -0
  37. package/build/browser/FauxFoundry/typeHelpers/JustProps.js.map +1 -0
  38. package/build/browser/FauxFoundry/typeHelpers/TH_ActionDefinition.js +2 -0
  39. package/build/browser/FauxFoundry/typeHelpers/TH_ActionDefinition.js.map +1 -0
  40. package/build/browser/FauxFoundry/typeHelpers/TH_ActionParameterV2.js +25 -0
  41. package/build/browser/FauxFoundry/typeHelpers/TH_ActionParameterV2.js.map +1 -0
  42. package/build/browser/FauxFoundry/typeHelpers/TH_ActionTypeV2.js +35 -0
  43. package/build/browser/FauxFoundry/typeHelpers/TH_ActionTypeV2.js.map +1 -0
  44. package/build/browser/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js +2 -0
  45. package/build/browser/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js.map +1 -0
  46. package/build/browser/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js +2 -0
  47. package/build/browser/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js.map +1 -0
  48. package/build/browser/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js +2 -0
  49. package/build/browser/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js.map +1 -0
  50. package/build/browser/FauxFoundry/typeHelpers/index.js +20 -0
  51. package/build/browser/FauxFoundry/typeHelpers/index.js.map +1 -0
  52. package/build/browser/FauxFoundry/validateAction.js +245 -0
  53. package/build/browser/FauxFoundry/validateAction.js.map +1 -0
  54. package/build/browser/defaultOntologyForConjure.js +25 -0
  55. package/build/browser/defaultOntologyForConjure.js.map +1 -0
  56. package/build/browser/defaultOntologyMetadata.js +23 -0
  57. package/build/browser/defaultOntologyMetadata.js.map +1 -0
  58. package/build/browser/errors.js +134 -0
  59. package/build/browser/errors.js.map +1 -0
  60. package/build/browser/filterObjects.js +86 -0
  61. package/build/browser/filterObjects.js.map +1 -0
  62. package/build/browser/handlers/authHandlerMiddleware.js +41 -0
  63. package/build/browser/handlers/authHandlerMiddleware.js.map +1 -0
  64. package/build/browser/handlers/createActionHandlers.js +49 -0
  65. package/build/browser/handlers/createActionHandlers.js.map +1 -0
  66. package/build/browser/handlers/createAttachmentHandlers.js +88 -0
  67. package/build/browser/handlers/createAttachmentHandlers.js.map +1 -0
  68. package/build/browser/handlers/createFauxFoundryHandlers.js +29 -0
  69. package/build/browser/handlers/createFauxFoundryHandlers.js.map +1 -0
  70. package/build/browser/handlers/createLoadObjectsHandlers.js +91 -0
  71. package/build/browser/handlers/createLoadObjectsHandlers.js.map +1 -0
  72. package/build/browser/handlers/createMediaRefHandlers.js +70 -0
  73. package/build/browser/handlers/createMediaRefHandlers.js.map +1 -0
  74. package/build/browser/handlers/createMultipassServerHandlers.js +67 -0
  75. package/build/browser/handlers/createMultipassServerHandlers.js.map +1 -0
  76. package/build/browser/handlers/createObjectSetHandlers.js +50 -0
  77. package/build/browser/handlers/createObjectSetHandlers.js.map +1 -0
  78. package/build/browser/handlers/createOntologyHandlers.js +122 -0
  79. package/build/browser/handlers/createOntologyHandlers.js.map +1 -0
  80. package/build/browser/handlers/createQueryHandlers.js +38 -0
  81. package/build/browser/handlers/createQueryHandlers.js.map +1 -0
  82. package/build/browser/handlers/createTimeseriesAndGeotimeHandlers.js +95 -0
  83. package/build/browser/handlers/createTimeseriesAndGeotimeHandlers.js.map +1 -0
  84. package/build/browser/handlers/util/getPaginationParams.js +33 -0
  85. package/build/browser/handlers/util/getPaginationParams.js.map +1 -0
  86. package/build/browser/handlers/util/handleOpenApiCall.js +85 -0
  87. package/build/browser/handlers/util/handleOpenApiCall.js.map +1 -0
  88. package/build/browser/handlers/util/loadAll.js +24 -0
  89. package/build/browser/handlers/util/loadAll.js.map +1 -0
  90. package/build/browser/handlers/util/pageThroughResponseSearchParams.js +39 -0
  91. package/build/browser/handlers/util/pageThroughResponseSearchParams.js.map +1 -0
  92. package/build/browser/handlers/util/requireParam.js +29 -0
  93. package/build/browser/handlers/util/requireParam.js.map +1 -0
  94. package/build/browser/handlers/util/requireSearchParams.js +29 -0
  95. package/build/browser/handlers/util/requireSearchParams.js.map +1 -0
  96. package/build/browser/index.js +29 -0
  97. package/build/browser/index.js.map +1 -0
  98. package/build/browser/mock/OntologiesV2/ActionTypesV2.js +21 -0
  99. package/build/browser/mock/OntologiesV2/ActionTypesV2.js.map +1 -0
  100. package/build/browser/mock/OntologiesV2/Actions.js +21 -0
  101. package/build/browser/mock/OntologiesV2/Actions.js.map +1 -0
  102. package/build/browser/mock/OntologiesV2/AttachmentPropertiesV2.js +21 -0
  103. package/build/browser/mock/OntologiesV2/AttachmentPropertiesV2.js.map +1 -0
  104. package/build/browser/mock/OntologiesV2/Attachments.js +22 -0
  105. package/build/browser/mock/OntologiesV2/Attachments.js.map +1 -0
  106. package/build/browser/mock/OntologiesV2/LinkedObjectsV2.js +21 -0
  107. package/build/browser/mock/OntologiesV2/LinkedObjectsV2.js.map +1 -0
  108. package/build/browser/mock/OntologiesV2/MediaReferenceProperties.js +22 -0
  109. package/build/browser/mock/OntologiesV2/MediaReferenceProperties.js.map +1 -0
  110. package/build/browser/mock/OntologiesV2/ObjectTypesV2.js +24 -0
  111. package/build/browser/mock/OntologiesV2/ObjectTypesV2.js.map +1 -0
  112. package/build/browser/mock/OntologiesV2/OntologiesV2.js +27 -0
  113. package/build/browser/mock/OntologiesV2/OntologiesV2.js.map +1 -0
  114. package/build/browser/mock/OntologiesV2/OntologyInterfaces.js +21 -0
  115. package/build/browser/mock/OntologiesV2/OntologyInterfaces.js.map +1 -0
  116. package/build/browser/mock/OntologiesV2/OntologyObjectSets.js +22 -0
  117. package/build/browser/mock/OntologiesV2/OntologyObjectSets.js.map +1 -0
  118. package/build/browser/mock/OntologiesV2/OntologyObjectsV2.js +21 -0
  119. package/build/browser/mock/OntologiesV2/OntologyObjectsV2.js.map +1 -0
  120. package/build/browser/mock/OntologiesV2/Queries.js +20 -0
  121. package/build/browser/mock/OntologiesV2/Queries.js.map +1 -0
  122. package/build/browser/mock/OntologiesV2/QueryTypes.js +21 -0
  123. package/build/browser/mock/OntologiesV2/QueryTypes.js.map +1 -0
  124. package/build/browser/mock/OntologiesV2/TimeSeriesPropertiesV2.js +22 -0
  125. package/build/browser/mock/OntologiesV2/TimeSeriesPropertiesV2.js.map +1 -0
  126. package/build/browser/mock/OntologiesV2/TimeSeriesValueBankProperties.js +21 -0
  127. package/build/browser/mock/OntologiesV2/TimeSeriesValueBankProperties.js.map +1 -0
  128. package/build/browser/mock/OntologiesV2/index.js +32 -0
  129. package/build/browser/mock/OntologiesV2/index.js.map +1 -0
  130. package/build/browser/mock/index.js +18 -0
  131. package/build/browser/mock/index.js.map +1 -0
  132. package/build/browser/withoutRid.js +24 -0
  133. package/build/browser/withoutRid.js.map +1 -0
  134. package/build/cjs/index.cjs +2983 -0
  135. package/build/cjs/index.cjs.map +1 -0
  136. package/build/cjs/index.d.cts +562 -0
  137. package/build/esm/BaseError.js +21 -0
  138. package/build/esm/BaseError.js.map +1 -0
  139. package/build/esm/FauxFoundry/BaseOsdkObjectType.js +2 -0
  140. package/build/esm/FauxFoundry/BaseOsdkObjectType.js.map +1 -0
  141. package/build/esm/FauxFoundry/BaseServerObject.js +30 -0
  142. package/build/esm/FauxFoundry/BaseServerObject.js.map +1 -0
  143. package/build/esm/FauxFoundry/FauxActionImpl.js +2 -0
  144. package/build/esm/FauxFoundry/FauxActionImpl.js.map +1 -0
  145. package/build/esm/FauxFoundry/FauxAttachmentStore.js +60 -0
  146. package/build/esm/FauxFoundry/FauxAttachmentStore.js.map +1 -0
  147. package/build/esm/FauxFoundry/FauxDataStore.js +470 -0
  148. package/build/esm/FauxFoundry/FauxDataStore.js.map +1 -0
  149. package/build/esm/FauxFoundry/FauxDataStore.test.js +190 -0
  150. package/build/esm/FauxFoundry/FauxDataStore.test.js.map +1 -0
  151. package/build/esm/FauxFoundry/FauxDataStoreBatch.js +125 -0
  152. package/build/esm/FauxFoundry/FauxDataStoreBatch.js.map +1 -0
  153. package/build/esm/FauxFoundry/FauxFoundry.js +87 -0
  154. package/build/esm/FauxFoundry/FauxFoundry.js.map +1 -0
  155. package/build/esm/FauxFoundry/FauxOntology.js +228 -0
  156. package/build/esm/FauxFoundry/FauxOntology.js.map +1 -0
  157. package/build/esm/FauxFoundry/FauxQueryImpl.js +2 -0
  158. package/build/esm/FauxFoundry/FauxQueryImpl.js.map +1 -0
  159. package/build/esm/FauxFoundry/ObjectLocator.js +29 -0
  160. package/build/esm/FauxFoundry/ObjectLocator.js.map +1 -0
  161. package/build/esm/FauxFoundry/filterObjects.js +122 -0
  162. package/build/esm/FauxFoundry/filterObjects.js.map +1 -0
  163. package/build/esm/FauxFoundry/filterTimeSeriesData.js +70 -0
  164. package/build/esm/FauxFoundry/filterTimeSeriesData.js.map +1 -0
  165. package/build/esm/FauxFoundry/filterTimeSeriesData.test.js +116 -0
  166. package/build/esm/FauxFoundry/filterTimeSeriesData.test.js.map +1 -0
  167. package/build/esm/FauxFoundry/getObjectsFromSet.js +217 -0
  168. package/build/esm/FauxFoundry/getObjectsFromSet.js.map +1 -0
  169. package/build/esm/FauxFoundry/typeHelpers/ActionTypeBuilder.js +64 -0
  170. package/build/esm/FauxFoundry/typeHelpers/ActionTypeBuilder.js.map +1 -0
  171. package/build/esm/FauxFoundry/typeHelpers/JustProps.js +2 -0
  172. package/build/esm/FauxFoundry/typeHelpers/JustProps.js.map +1 -0
  173. package/build/esm/FauxFoundry/typeHelpers/TH_ActionDefinition.js +2 -0
  174. package/build/esm/FauxFoundry/typeHelpers/TH_ActionDefinition.js.map +1 -0
  175. package/build/esm/FauxFoundry/typeHelpers/TH_ActionParameterV2.js +25 -0
  176. package/build/esm/FauxFoundry/typeHelpers/TH_ActionParameterV2.js.map +1 -0
  177. package/build/esm/FauxFoundry/typeHelpers/TH_ActionTypeV2.js +35 -0
  178. package/build/esm/FauxFoundry/typeHelpers/TH_ActionTypeV2.js.map +1 -0
  179. package/build/esm/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js +2 -0
  180. package/build/esm/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.js.map +1 -0
  181. package/build/esm/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js +2 -0
  182. package/build/esm/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.js.map +1 -0
  183. package/build/esm/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js +2 -0
  184. package/build/esm/FauxFoundry/typeHelpers/ToObjectTypeDefinition.js.map +1 -0
  185. package/build/esm/FauxFoundry/typeHelpers/index.js +20 -0
  186. package/build/esm/FauxFoundry/typeHelpers/index.js.map +1 -0
  187. package/build/esm/FauxFoundry/validateAction.js +245 -0
  188. package/build/esm/FauxFoundry/validateAction.js.map +1 -0
  189. package/build/esm/defaultOntologyForConjure.js +25 -0
  190. package/build/esm/defaultOntologyForConjure.js.map +1 -0
  191. package/build/esm/defaultOntologyMetadata.js +23 -0
  192. package/build/esm/defaultOntologyMetadata.js.map +1 -0
  193. package/build/esm/errors.js +134 -0
  194. package/build/esm/errors.js.map +1 -0
  195. package/build/esm/filterObjects.js +86 -0
  196. package/build/esm/filterObjects.js.map +1 -0
  197. package/build/esm/handlers/authHandlerMiddleware.js +41 -0
  198. package/build/esm/handlers/authHandlerMiddleware.js.map +1 -0
  199. package/build/esm/handlers/createActionHandlers.js +49 -0
  200. package/build/esm/handlers/createActionHandlers.js.map +1 -0
  201. package/build/esm/handlers/createAttachmentHandlers.js +88 -0
  202. package/build/esm/handlers/createAttachmentHandlers.js.map +1 -0
  203. package/build/esm/handlers/createFauxFoundryHandlers.js +29 -0
  204. package/build/esm/handlers/createFauxFoundryHandlers.js.map +1 -0
  205. package/build/esm/handlers/createLoadObjectsHandlers.js +91 -0
  206. package/build/esm/handlers/createLoadObjectsHandlers.js.map +1 -0
  207. package/build/esm/handlers/createMediaRefHandlers.js +70 -0
  208. package/build/esm/handlers/createMediaRefHandlers.js.map +1 -0
  209. package/build/esm/handlers/createMultipassServerHandlers.js +67 -0
  210. package/build/esm/handlers/createMultipassServerHandlers.js.map +1 -0
  211. package/build/esm/handlers/createObjectSetHandlers.js +50 -0
  212. package/build/esm/handlers/createObjectSetHandlers.js.map +1 -0
  213. package/build/esm/handlers/createOntologyHandlers.js +122 -0
  214. package/build/esm/handlers/createOntologyHandlers.js.map +1 -0
  215. package/build/esm/handlers/createQueryHandlers.js +38 -0
  216. package/build/esm/handlers/createQueryHandlers.js.map +1 -0
  217. package/build/esm/handlers/createTimeseriesAndGeotimeHandlers.js +95 -0
  218. package/build/esm/handlers/createTimeseriesAndGeotimeHandlers.js.map +1 -0
  219. package/build/esm/handlers/util/getPaginationParams.js +33 -0
  220. package/build/esm/handlers/util/getPaginationParams.js.map +1 -0
  221. package/build/esm/handlers/util/handleOpenApiCall.js +85 -0
  222. package/build/esm/handlers/util/handleOpenApiCall.js.map +1 -0
  223. package/build/esm/handlers/util/loadAll.js +24 -0
  224. package/build/esm/handlers/util/loadAll.js.map +1 -0
  225. package/build/esm/handlers/util/pageThroughResponseSearchParams.js +39 -0
  226. package/build/esm/handlers/util/pageThroughResponseSearchParams.js.map +1 -0
  227. package/build/esm/handlers/util/requireParam.js +29 -0
  228. package/build/esm/handlers/util/requireParam.js.map +1 -0
  229. package/build/esm/handlers/util/requireSearchParams.js +29 -0
  230. package/build/esm/handlers/util/requireSearchParams.js.map +1 -0
  231. package/build/esm/index.js +29 -0
  232. package/build/esm/index.js.map +1 -0
  233. package/build/esm/mock/OntologiesV2/ActionTypesV2.js +21 -0
  234. package/build/esm/mock/OntologiesV2/ActionTypesV2.js.map +1 -0
  235. package/build/esm/mock/OntologiesV2/Actions.js +21 -0
  236. package/build/esm/mock/OntologiesV2/Actions.js.map +1 -0
  237. package/build/esm/mock/OntologiesV2/AttachmentPropertiesV2.js +21 -0
  238. package/build/esm/mock/OntologiesV2/AttachmentPropertiesV2.js.map +1 -0
  239. package/build/esm/mock/OntologiesV2/Attachments.js +22 -0
  240. package/build/esm/mock/OntologiesV2/Attachments.js.map +1 -0
  241. package/build/esm/mock/OntologiesV2/LinkedObjectsV2.js +21 -0
  242. package/build/esm/mock/OntologiesV2/LinkedObjectsV2.js.map +1 -0
  243. package/build/esm/mock/OntologiesV2/MediaReferenceProperties.js +22 -0
  244. package/build/esm/mock/OntologiesV2/MediaReferenceProperties.js.map +1 -0
  245. package/build/esm/mock/OntologiesV2/ObjectTypesV2.js +24 -0
  246. package/build/esm/mock/OntologiesV2/ObjectTypesV2.js.map +1 -0
  247. package/build/esm/mock/OntologiesV2/OntologiesV2.js +27 -0
  248. package/build/esm/mock/OntologiesV2/OntologiesV2.js.map +1 -0
  249. package/build/esm/mock/OntologiesV2/OntologyInterfaces.js +21 -0
  250. package/build/esm/mock/OntologiesV2/OntologyInterfaces.js.map +1 -0
  251. package/build/esm/mock/OntologiesV2/OntologyObjectSets.js +22 -0
  252. package/build/esm/mock/OntologiesV2/OntologyObjectSets.js.map +1 -0
  253. package/build/esm/mock/OntologiesV2/OntologyObjectsV2.js +21 -0
  254. package/build/esm/mock/OntologiesV2/OntologyObjectsV2.js.map +1 -0
  255. package/build/esm/mock/OntologiesV2/Queries.js +20 -0
  256. package/build/esm/mock/OntologiesV2/Queries.js.map +1 -0
  257. package/build/esm/mock/OntologiesV2/QueryTypes.js +21 -0
  258. package/build/esm/mock/OntologiesV2/QueryTypes.js.map +1 -0
  259. package/build/esm/mock/OntologiesV2/TimeSeriesPropertiesV2.js +22 -0
  260. package/build/esm/mock/OntologiesV2/TimeSeriesPropertiesV2.js.map +1 -0
  261. package/build/esm/mock/OntologiesV2/TimeSeriesValueBankProperties.js +21 -0
  262. package/build/esm/mock/OntologiesV2/TimeSeriesValueBankProperties.js.map +1 -0
  263. package/build/esm/mock/OntologiesV2/index.js +32 -0
  264. package/build/esm/mock/OntologiesV2/index.js.map +1 -0
  265. package/build/esm/mock/index.js +18 -0
  266. package/build/esm/mock/index.js.map +1 -0
  267. package/build/esm/withoutRid.js +24 -0
  268. package/build/esm/withoutRid.js.map +1 -0
  269. package/build/types/BaseError.d.ts +7 -0
  270. package/build/types/BaseError.d.ts.map +1 -0
  271. package/build/types/FauxFoundry/BaseOsdkObjectType.d.ts +5 -0
  272. package/build/types/FauxFoundry/BaseOsdkObjectType.d.ts.map +1 -0
  273. package/build/types/FauxFoundry/BaseServerObject.d.ts +18 -0
  274. package/build/types/FauxFoundry/BaseServerObject.d.ts.map +1 -0
  275. package/build/types/FauxFoundry/FauxActionImpl.d.ts +8 -0
  276. package/build/types/FauxFoundry/FauxActionImpl.d.ts.map +1 -0
  277. package/build/types/FauxFoundry/FauxAttachmentStore.d.ts +10 -0
  278. package/build/types/FauxFoundry/FauxAttachmentStore.d.ts.map +1 -0
  279. package/build/types/FauxFoundry/FauxDataStore.d.ts +70 -0
  280. package/build/types/FauxFoundry/FauxDataStore.d.ts.map +1 -0
  281. package/build/types/FauxFoundry/FauxDataStore.test.d.ts +1 -0
  282. package/build/types/FauxFoundry/FauxDataStore.test.d.ts.map +1 -0
  283. package/build/types/FauxFoundry/FauxDataStoreBatch.d.ts +22 -0
  284. package/build/types/FauxFoundry/FauxDataStoreBatch.d.ts.map +1 -0
  285. package/build/types/FauxFoundry/FauxFoundry.d.ts +25 -0
  286. package/build/types/FauxFoundry/FauxFoundry.d.ts.map +1 -0
  287. package/build/types/FauxFoundry/FauxOntology.d.ts +39 -0
  288. package/build/types/FauxFoundry/FauxOntology.d.ts.map +1 -0
  289. package/build/types/FauxFoundry/FauxQueryImpl.d.ts +5 -0
  290. package/build/types/FauxFoundry/FauxQueryImpl.d.ts.map +1 -0
  291. package/build/types/FauxFoundry/ObjectLocator.d.ts +11 -0
  292. package/build/types/FauxFoundry/ObjectLocator.d.ts.map +1 -0
  293. package/build/types/FauxFoundry/filterObjects.d.ts +3 -0
  294. package/build/types/FauxFoundry/filterObjects.d.ts.map +1 -0
  295. package/build/types/FauxFoundry/filterTimeSeriesData.d.ts +2 -0
  296. package/build/types/FauxFoundry/filterTimeSeriesData.d.ts.map +1 -0
  297. package/build/types/FauxFoundry/filterTimeSeriesData.test.d.ts +1 -0
  298. package/build/types/FauxFoundry/filterTimeSeriesData.test.d.ts.map +1 -0
  299. package/build/types/FauxFoundry/getObjectsFromSet.d.ts +6 -0
  300. package/build/types/FauxFoundry/getObjectsFromSet.d.ts.map +1 -0
  301. package/build/types/FauxFoundry/typeHelpers/ActionTypeBuilder.d.ts +27 -0
  302. package/build/types/FauxFoundry/typeHelpers/ActionTypeBuilder.d.ts.map +1 -0
  303. package/build/types/FauxFoundry/typeHelpers/JustProps.d.ts +4 -0
  304. package/build/types/FauxFoundry/typeHelpers/JustProps.d.ts.map +1 -0
  305. package/build/types/FauxFoundry/typeHelpers/TH_ActionDefinition.d.ts +43 -0
  306. package/build/types/FauxFoundry/typeHelpers/TH_ActionDefinition.d.ts.map +1 -0
  307. package/build/types/FauxFoundry/typeHelpers/TH_ActionParameterV2.d.ts +15 -0
  308. package/build/types/FauxFoundry/typeHelpers/TH_ActionParameterV2.d.ts.map +1 -0
  309. package/build/types/FauxFoundry/typeHelpers/TH_ActionTypeV2.d.ts +8 -0
  310. package/build/types/FauxFoundry/typeHelpers/TH_ActionTypeV2.d.ts.map +1 -0
  311. package/build/types/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.d.ts +24 -0
  312. package/build/types/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.d.ts.map +1 -0
  313. package/build/types/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.d.ts +18 -0
  314. package/build/types/FauxFoundry/typeHelpers/TH_ObjectTypeFullMetadata.d.ts.map +1 -0
  315. package/build/types/FauxFoundry/typeHelpers/ToObjectTypeDefinition.d.ts +12 -0
  316. package/build/types/FauxFoundry/typeHelpers/ToObjectTypeDefinition.d.ts.map +1 -0
  317. package/build/types/FauxFoundry/typeHelpers/index.d.ts +10 -0
  318. package/build/types/FauxFoundry/typeHelpers/index.d.ts.map +1 -0
  319. package/build/types/FauxFoundry/validateAction.d.ts +9 -0
  320. package/build/types/FauxFoundry/validateAction.d.ts.map +1 -0
  321. package/build/types/defaultOntologyForConjure.d.ts +7 -0
  322. package/build/types/defaultOntologyForConjure.d.ts.map +1 -0
  323. package/build/types/defaultOntologyMetadata.d.ts +2 -0
  324. package/build/types/defaultOntologyMetadata.d.ts.map +1 -0
  325. package/build/types/errors.d.ts +14 -0
  326. package/build/types/errors.d.ts.map +1 -0
  327. package/build/types/filterObjects.d.ts +8 -0
  328. package/build/types/filterObjects.d.ts.map +1 -0
  329. package/build/types/handlers/authHandlerMiddleware.d.ts +5 -0
  330. package/build/types/handlers/authHandlerMiddleware.d.ts.map +1 -0
  331. package/build/types/handlers/createActionHandlers.d.ts +3 -0
  332. package/build/types/handlers/createActionHandlers.d.ts.map +1 -0
  333. package/build/types/handlers/createAttachmentHandlers.d.ts +2 -0
  334. package/build/types/handlers/createAttachmentHandlers.d.ts.map +1 -0
  335. package/build/types/handlers/createFauxFoundryHandlers.d.ts +4 -0
  336. package/build/types/handlers/createFauxFoundryHandlers.d.ts.map +1 -0
  337. package/build/types/handlers/createLoadObjectsHandlers.d.ts +2 -0
  338. package/build/types/handlers/createLoadObjectsHandlers.d.ts.map +1 -0
  339. package/build/types/handlers/createMediaRefHandlers.d.ts +2 -0
  340. package/build/types/handlers/createMediaRefHandlers.d.ts.map +1 -0
  341. package/build/types/handlers/createMultipassServerHandlers.d.ts +2 -0
  342. package/build/types/handlers/createMultipassServerHandlers.d.ts.map +1 -0
  343. package/build/types/handlers/createObjectSetHandlers.d.ts +3 -0
  344. package/build/types/handlers/createObjectSetHandlers.d.ts.map +1 -0
  345. package/build/types/handlers/createOntologyHandlers.d.ts +4 -0
  346. package/build/types/handlers/createOntologyHandlers.d.ts.map +1 -0
  347. package/build/types/handlers/createQueryHandlers.d.ts +2 -0
  348. package/build/types/handlers/createQueryHandlers.d.ts.map +1 -0
  349. package/build/types/handlers/createTimeseriesAndGeotimeHandlers.d.ts +2 -0
  350. package/build/types/handlers/createTimeseriesAndGeotimeHandlers.d.ts.map +1 -0
  351. package/build/types/handlers/util/getPaginationParams.d.ts +11 -0
  352. package/build/types/handlers/util/getPaginationParams.d.ts.map +1 -0
  353. package/build/types/handlers/util/handleOpenApiCall.d.ts +49 -0
  354. package/build/types/handlers/util/handleOpenApiCall.d.ts.map +1 -0
  355. package/build/types/handlers/util/loadAll.d.ts +1 -0
  356. package/build/types/handlers/util/loadAll.d.ts.map +1 -0
  357. package/build/types/handlers/util/pageThroughResponseSearchParams.d.ts +20 -0
  358. package/build/types/handlers/util/pageThroughResponseSearchParams.d.ts.map +1 -0
  359. package/build/types/handlers/util/requireParam.d.ts +8 -0
  360. package/build/types/handlers/util/requireParam.d.ts.map +1 -0
  361. package/build/types/handlers/util/requireSearchParams.d.ts +2 -0
  362. package/build/types/handlers/util/requireSearchParams.d.ts.map +1 -0
  363. package/build/types/index.d.ts +14 -0
  364. package/build/types/index.d.ts.map +1 -0
  365. package/build/types/mock/OntologiesV2/ActionTypesV2.d.ts +4 -0
  366. package/build/types/mock/OntologiesV2/ActionTypesV2.d.ts.map +1 -0
  367. package/build/types/mock/OntologiesV2/Actions.d.ts +4 -0
  368. package/build/types/mock/OntologiesV2/Actions.d.ts.map +1 -0
  369. package/build/types/mock/OntologiesV2/AttachmentPropertiesV2.d.ts +4 -0
  370. package/build/types/mock/OntologiesV2/AttachmentPropertiesV2.d.ts.map +1 -0
  371. package/build/types/mock/OntologiesV2/Attachments.d.ts +5 -0
  372. package/build/types/mock/OntologiesV2/Attachments.d.ts.map +1 -0
  373. package/build/types/mock/OntologiesV2/LinkedObjectsV2.d.ts +4 -0
  374. package/build/types/mock/OntologiesV2/LinkedObjectsV2.d.ts.map +1 -0
  375. package/build/types/mock/OntologiesV2/MediaReferenceProperties.d.ts +5 -0
  376. package/build/types/mock/OntologiesV2/MediaReferenceProperties.d.ts.map +1 -0
  377. package/build/types/mock/OntologiesV2/ObjectTypesV2.d.ts +7 -0
  378. package/build/types/mock/OntologiesV2/ObjectTypesV2.d.ts.map +1 -0
  379. package/build/types/mock/OntologiesV2/OntologiesV2.d.ts +9 -0
  380. package/build/types/mock/OntologiesV2/OntologiesV2.d.ts.map +1 -0
  381. package/build/types/mock/OntologiesV2/OntologyInterfaces.d.ts +4 -0
  382. package/build/types/mock/OntologiesV2/OntologyInterfaces.d.ts.map +1 -0
  383. package/build/types/mock/OntologiesV2/OntologyObjectSets.d.ts +5 -0
  384. package/build/types/mock/OntologiesV2/OntologyObjectSets.d.ts.map +1 -0
  385. package/build/types/mock/OntologiesV2/OntologyObjectsV2.d.ts +4 -0
  386. package/build/types/mock/OntologiesV2/OntologyObjectsV2.d.ts.map +1 -0
  387. package/build/types/mock/OntologiesV2/Queries.d.ts +3 -0
  388. package/build/types/mock/OntologiesV2/Queries.d.ts.map +1 -0
  389. package/build/types/mock/OntologiesV2/QueryTypes.d.ts +4 -0
  390. package/build/types/mock/OntologiesV2/QueryTypes.d.ts.map +1 -0
  391. package/build/types/mock/OntologiesV2/TimeSeriesPropertiesV2.d.ts +5 -0
  392. package/build/types/mock/OntologiesV2/TimeSeriesPropertiesV2.d.ts.map +1 -0
  393. package/build/types/mock/OntologiesV2/TimeSeriesValueBankProperties.d.ts +4 -0
  394. package/build/types/mock/OntologiesV2/TimeSeriesValueBankProperties.d.ts.map +1 -0
  395. package/build/types/mock/OntologiesV2/index.d.ts +15 -0
  396. package/build/types/mock/OntologiesV2/index.d.ts.map +1 -0
  397. package/build/types/mock/index.d.ts +1 -0
  398. package/build/types/mock/index.d.ts.map +1 -0
  399. package/build/types/withoutRid.d.ts +3 -0
  400. package/build/types/withoutRid.d.ts.map +1 -0
  401. package/package.json +88 -0
@@ -0,0 +1,190 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { beforeEach, describe, expect, it } from "vitest";
18
+ import { FauxAttachmentStore } from "./FauxAttachmentStore.js";
19
+ import { FauxDataStore } from "./FauxDataStore.js";
20
+ import { FauxOntology } from "./FauxOntology.js";
21
+ describe(FauxDataStore, () => {
22
+ describe("Simple Employee ontology", () => {
23
+ let attachmentsStore;
24
+ let fauxOntology;
25
+ let fauxDataStore;
26
+ const employees = Object.fromEntries(["a", "b", "c", "d"].map(id => [id, {
27
+ __apiName: "Employee",
28
+ __primaryKey: id,
29
+ id
30
+ }]));
31
+ beforeEach(() => {
32
+ attachmentsStore = new FauxAttachmentStore();
33
+ fauxOntology = new FauxOntology({
34
+ apiName: "foo",
35
+ description: "foo",
36
+ displayName: "foo",
37
+ rid: "ri.foo"
38
+ });
39
+ fauxDataStore = new FauxDataStore(fauxOntology, attachmentsStore);
40
+ fauxOntology.registerObjectType({
41
+ implementsInterfaces: [],
42
+ implementsInterfaces2: {},
43
+ linkTypes: [{
44
+ apiName: "peeps",
45
+ status: "EXPERIMENTAL",
46
+ objectTypeApiName: "Employee",
47
+ cardinality: "MANY",
48
+ displayName: "Peeps",
49
+ linkTypeRid: "rid.link-type.327"
50
+ }, {
51
+ apiName: "lead",
52
+ status: "EXPERIMENTAL",
53
+ objectTypeApiName: "Employee",
54
+ cardinality: "ONE",
55
+ displayName: "Lead",
56
+ linkTypeRid: "rid.link-type.327"
57
+ }],
58
+ objectType: {
59
+ apiName: "Employee",
60
+ description: "Employee",
61
+ displayName: "Employee",
62
+ rid: "ri.Employee",
63
+ icon: {
64
+ color: "#000000",
65
+ name: "whoCares",
66
+ type: "blueprint"
67
+ },
68
+ pluralDisplayName: "Employees",
69
+ primaryKey: "id",
70
+ properties: {
71
+ id: {
72
+ dataType: {
73
+ type: "string"
74
+ },
75
+ rid: "ri.id",
76
+ displayName: "id",
77
+ description: "id"
78
+ }
79
+ },
80
+ status: "ACTIVE",
81
+ titleProperty: "id"
82
+ },
83
+ sharedPropertyTypeMapping: {}
84
+ });
85
+ });
86
+ const getLeadsAndPeeps = id => ({
87
+ lead: fauxDataStore.getLinksOrThrow("Employee", id, "lead")[0],
88
+ peeps: fauxDataStore.getLinksOrThrow("Employee", id, "peeps")
89
+ });
90
+ it("should work in the happy paths", () => {
91
+ const {
92
+ a,
93
+ b,
94
+ c,
95
+ d
96
+ } = employees;
97
+
98
+ // set a's lead to b
99
+ fauxDataStore.registerObject(a);
100
+ fauxDataStore.registerObject(b);
101
+ fauxDataStore.registerLink(a, "lead", b, "peeps");
102
+ expect(getLeadsAndPeeps("a")).toMatchObject({
103
+ lead: b,
104
+ peeps: []
105
+ });
106
+ expect(getLeadsAndPeeps("b")).toMatchObject({
107
+ lead: undefined,
108
+ peeps: [a]
109
+ });
110
+
111
+ // try the reverse (many to one this time)
112
+ fauxDataStore.registerObject(c);
113
+ fauxDataStore.registerObject(d);
114
+ // set c's lead to d
115
+ fauxDataStore.registerLink(d, "peeps", c, "lead");
116
+ expect(getLeadsAndPeeps("d")).toMatchObject({
117
+ lead: undefined,
118
+ peeps: [c]
119
+ });
120
+ expect(getLeadsAndPeeps("c")).toMatchObject({
121
+ lead: d,
122
+ peeps: []
123
+ });
124
+
125
+ // set b's lead to c
126
+ fauxDataStore.registerLink(c, "peeps", b, "lead");
127
+ expect(getLeadsAndPeeps("b")).toMatchObject({
128
+ lead: c,
129
+ peeps: [a]
130
+ });
131
+ expect(getLeadsAndPeeps("c")).toMatchObject({
132
+ lead: d,
133
+ peeps: [b]
134
+ });
135
+
136
+ // change b's lead to d
137
+ fauxDataStore.registerLink(d, "peeps", b, "lead");
138
+ expect(getLeadsAndPeeps("b")).toMatchObject({
139
+ lead: d,
140
+ peeps: [a] // b's peeps should not change
141
+ });
142
+ expect(getLeadsAndPeeps("c")).toMatchObject({
143
+ lead: d,
144
+ peeps: [] // c should no longer have b as a peep
145
+ });
146
+ expect(getLeadsAndPeeps("d")).toMatchObject({
147
+ lead: undefined,
148
+ peeps: [c, b] // d has two peeps now
149
+ });
150
+
151
+ // remove b's lead
152
+ fauxDataStore.unregisterLink(d, "peeps", b, "lead");
153
+ expect(getLeadsAndPeeps("b")).toMatchObject({
154
+ lead: undefined,
155
+ peeps: [a] // b's peeps should not change
156
+ });
157
+ expect(getLeadsAndPeeps("d")).toMatchObject({
158
+ lead: undefined,
159
+ peeps: [c] // d no longer leads b
160
+ });
161
+
162
+ // change b's lead to d but in the other direction
163
+ fauxDataStore.registerLink(b, "lead", d, "peeps");
164
+ expect(getLeadsAndPeeps("b")).toMatchObject({
165
+ lead: d,
166
+ peeps: [a] // b's peeps should not change
167
+ });
168
+ expect(getLeadsAndPeeps("c")).toMatchObject({
169
+ lead: d,
170
+ peeps: [] // c should no longer have b as a peep
171
+ });
172
+ expect(getLeadsAndPeeps("d")).toMatchObject({
173
+ lead: undefined,
174
+ peeps: [c, b] // d has two peeps now
175
+ });
176
+
177
+ // remove b's lead in the other direction
178
+ fauxDataStore.unregisterLink(b, "lead", d, "peeps");
179
+ expect(getLeadsAndPeeps("b")).toMatchObject({
180
+ lead: undefined,
181
+ peeps: [a] // b's peeps should not change
182
+ });
183
+ expect(getLeadsAndPeeps("d")).toMatchObject({
184
+ lead: undefined,
185
+ peeps: [c] // d no longer leads b
186
+ });
187
+ });
188
+ });
189
+ });
190
+ //# sourceMappingURL=FauxDataStore.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FauxDataStore.test.js","names":["beforeEach","describe","expect","it","FauxAttachmentStore","FauxDataStore","FauxOntology","attachmentsStore","fauxOntology","fauxDataStore","employees","Object","fromEntries","map","id","__apiName","__primaryKey","apiName","description","displayName","rid","registerObjectType","implementsInterfaces","implementsInterfaces2","linkTypes","status","objectTypeApiName","cardinality","linkTypeRid","objectType","icon","color","name","type","pluralDisplayName","primaryKey","properties","dataType","titleProperty","sharedPropertyTypeMapping","getLeadsAndPeeps","lead","getLinksOrThrow","peeps","a","b","c","d","registerObject","registerLink","toMatchObject","undefined","unregisterLink"],"sources":["FauxDataStore.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { beforeEach, describe, expect, it } from \"vitest\";\nimport type { BaseServerObject } from \"./BaseServerObject.js\";\nimport { FauxAttachmentStore } from \"./FauxAttachmentStore.js\";\nimport { FauxDataStore } from \"./FauxDataStore.js\";\nimport { FauxOntology } from \"./FauxOntology.js\";\n\ndescribe(FauxDataStore, () => {\n describe(\"Simple Employee ontology\", () => {\n let attachmentsStore: FauxAttachmentStore;\n let fauxOntology: FauxOntology;\n let fauxDataStore: FauxDataStore;\n\n const pks = [\"a\", \"b\", \"c\", \"d\"] as const;\n const employees = Object\n .fromEntries(\n pks.map((id) =>\n [id, {\n __apiName: \"Employee\",\n __primaryKey: id,\n id,\n }] as const\n ),\n ) as unknown as Record<typeof pks[number], BaseServerObject>;\n\n beforeEach(() => {\n attachmentsStore = new FauxAttachmentStore();\n fauxOntology = new FauxOntology({\n apiName: \"foo\",\n description: \"foo\",\n displayName: \"foo\",\n rid: \"ri.foo\",\n });\n fauxDataStore = new FauxDataStore(fauxOntology, attachmentsStore);\n\n const Employee = {\n implementsInterfaces: [],\n implementsInterfaces2: {},\n linkTypes: [{\n apiName: \"peeps\",\n status: \"EXPERIMENTAL\",\n objectTypeApiName: \"Employee\",\n cardinality: \"MANY\",\n displayName: \"Peeps\",\n linkTypeRid: \"rid.link-type.327\",\n }, {\n apiName: \"lead\",\n status: \"EXPERIMENTAL\",\n objectTypeApiName: \"Employee\",\n cardinality: \"ONE\",\n displayName: \"Lead\",\n linkTypeRid: \"rid.link-type.327\",\n }],\n objectType: {\n apiName: \"Employee\",\n description: \"Employee\",\n displayName: \"Employee\",\n rid: \"ri.Employee\",\n icon: {\n color: \"#000000\",\n name: \"whoCares\",\n type: \"blueprint\",\n },\n pluralDisplayName: \"Employees\",\n primaryKey: \"id\",\n properties: {\n id: {\n dataType: { type: \"string\" },\n rid: \"ri.id\",\n displayName: \"id\",\n description: \"id\",\n },\n },\n status: \"ACTIVE\",\n titleProperty: \"id\",\n },\n sharedPropertyTypeMapping: {},\n } as const;\n\n fauxOntology.registerObjectType(Employee);\n });\n\n const getLeadsAndPeeps = (id: string) => ({\n lead: fauxDataStore.getLinksOrThrow(\"Employee\", id, \"lead\")[0],\n peeps: fauxDataStore.getLinksOrThrow(\"Employee\", id, \"peeps\"),\n });\n\n it(\"should work in the happy paths\", () => {\n const { a, b, c, d } = employees;\n\n // set a's lead to b\n fauxDataStore.registerObject(a);\n fauxDataStore.registerObject(b);\n fauxDataStore.registerLink(a, \"lead\", b, \"peeps\");\n\n expect(getLeadsAndPeeps(\"a\")).toMatchObject({\n lead: b,\n peeps: [],\n });\n expect(getLeadsAndPeeps(\"b\")).toMatchObject({\n lead: undefined,\n peeps: [a],\n });\n\n // try the reverse (many to one this time)\n fauxDataStore.registerObject(c);\n fauxDataStore.registerObject(d);\n // set c's lead to d\n fauxDataStore.registerLink(d, \"peeps\", c, \"lead\");\n\n expect(getLeadsAndPeeps(\"d\")).toMatchObject({\n lead: undefined,\n peeps: [c],\n });\n expect(getLeadsAndPeeps(\"c\")).toMatchObject({\n lead: d,\n peeps: [],\n });\n\n // set b's lead to c\n fauxDataStore.registerLink(c, \"peeps\", b, \"lead\");\n expect(getLeadsAndPeeps(\"b\")).toMatchObject({\n lead: c,\n peeps: [a],\n });\n expect(getLeadsAndPeeps(\"c\")).toMatchObject({\n lead: d,\n peeps: [b],\n });\n\n // change b's lead to d\n fauxDataStore.registerLink(d, \"peeps\", b, \"lead\");\n expect(getLeadsAndPeeps(\"b\")).toMatchObject({\n lead: d,\n peeps: [a], // b's peeps should not change\n });\n expect(getLeadsAndPeeps(\"c\")).toMatchObject({\n lead: d,\n peeps: [], // c should no longer have b as a peep\n });\n expect(getLeadsAndPeeps(\"d\")).toMatchObject({\n lead: undefined,\n peeps: [c, b], // d has two peeps now\n });\n\n // remove b's lead\n fauxDataStore.unregisterLink(d, \"peeps\", b, \"lead\");\n expect(getLeadsAndPeeps(\"b\")).toMatchObject({\n lead: undefined,\n peeps: [a], // b's peeps should not change\n });\n expect(getLeadsAndPeeps(\"d\")).toMatchObject({\n lead: undefined,\n peeps: [c], // d no longer leads b\n });\n\n // change b's lead to d but in the other direction\n fauxDataStore.registerLink(b, \"lead\", d, \"peeps\");\n expect(getLeadsAndPeeps(\"b\")).toMatchObject({\n lead: d,\n peeps: [a], // b's peeps should not change\n });\n expect(getLeadsAndPeeps(\"c\")).toMatchObject({\n lead: d,\n peeps: [], // c should no longer have b as a peep\n });\n expect(getLeadsAndPeeps(\"d\")).toMatchObject({\n lead: undefined,\n peeps: [c, b], // d has two peeps now\n });\n\n // remove b's lead in the other direction\n fauxDataStore.unregisterLink(b, \"lead\", d, \"peeps\");\n expect(getLeadsAndPeeps(\"b\")).toMatchObject({\n lead: undefined,\n peeps: [a], // b's peeps should not change\n });\n expect(getLeadsAndPeeps(\"d\")).toMatchObject({\n lead: undefined,\n peeps: [c], // d no longer leads b\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,125 @@
1
+ /*
2
+ * Copyright 2023 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import deepEqual from "fast-deep-equal";
18
+ import { OpenApiCallError } from "../handlers/util/handleOpenApiCall.js";
19
+ /**
20
+ * This is separate from the FauxDataStore so that we can in the future support
21
+ * this not-committing on errors. That functionality just does not exist at the moment
22
+ */
23
+ export class FauxDataStoreBatch {
24
+ #fauxDataStore;
25
+ objectEdits = {
26
+ addedLinksCount: 0,
27
+ addedObjectCount: 0,
28
+ deletedLinksCount: 0,
29
+ deletedObjectsCount: 0,
30
+ modifiedObjectsCount: 0,
31
+ edits: []
32
+ };
33
+ constructor(fauxDataStore) {
34
+ this.#fauxDataStore = fauxDataStore;
35
+ }
36
+ getObject = (objectType, primaryKey) => {
37
+ return this.#fauxDataStore.getObjectOrThrow(objectType, primaryKey);
38
+ };
39
+ addObject(objectType, primaryKey, object) {
40
+ const existingObject = this.#fauxDataStore.getObject(objectType, primaryKey);
41
+ if (existingObject) {
42
+ throw new OpenApiCallError(500, {
43
+ errorCode: "CONFLICT",
44
+ errorName: "ObjectAlreadyExists",
45
+ errorInstanceId: "",
46
+ parameters: {
47
+ objectType,
48
+ primaryKey
49
+ }
50
+ });
51
+ }
52
+ const fullMetadata = this.#fauxDataStore.ontology.getObjectTypeFullMetadataOrThrow(objectType);
53
+ this.#fauxDataStore.registerObject({
54
+ ...object,
55
+ __apiName: objectType,
56
+ __primaryKey: primaryKey,
57
+ [fullMetadata.objectType.primaryKey]: primaryKey
58
+ });
59
+ this.objectEdits.edits.push({
60
+ type: "addObject",
61
+ primaryKey,
62
+ objectType
63
+ });
64
+ this.objectEdits.addedObjectCount += 1;
65
+ }
66
+ modifyObject(objectType, primaryKey, update) {
67
+ const origObj = this.#fauxDataStore.getObjectOrThrow(objectType, primaryKey);
68
+ const newObj = {
69
+ ...origObj,
70
+ ...update
71
+ };
72
+ if (!deepEqual(origObj, newObj)) {
73
+ this.#fauxDataStore.replaceObjectOrThrow(newObj);
74
+ this.objectEdits.edits.push({
75
+ type: "modifyObject",
76
+ primaryKey,
77
+ objectType
78
+ });
79
+ this.objectEdits.modifiedObjectsCount += 1;
80
+ }
81
+ }
82
+ deleteObject = (objectType, primaryKey) => {
83
+ this.#fauxDataStore.unregisterObjectOrThrow(objectType, primaryKey);
84
+ this.objectEdits.edits.push({
85
+ type: "deleteObject",
86
+ objectType,
87
+ primaryKey: primaryKey
88
+ });
89
+ };
90
+ addLink = (leftObjectType, leftPrimaryKey, leftLinkName, rightObjectType, rightPrimaryKey) => {
91
+ const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology.getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType);
92
+ this.#fauxDataStore.registerLink({
93
+ __apiName: leftObjectType,
94
+ __primaryKey: leftPrimaryKey
95
+ }, leftTypeSideV2.apiName, {
96
+ __apiName: rightObjectType,
97
+ __primaryKey: rightPrimaryKey
98
+ }, rightTypeSideV2.apiName);
99
+ this.objectEdits.edits.push({
100
+ type: "addLink",
101
+ aSideObject: {
102
+ objectType: leftObjectType,
103
+ primaryKey: leftPrimaryKey
104
+ },
105
+ bSideObject: {
106
+ objectType: rightObjectType,
107
+ primaryKey: rightPrimaryKey
108
+ },
109
+ linkTypeApiNameAtoB: leftLinkName,
110
+ linkTypeApiNameBtoA: rightTypeSideV2.apiName
111
+ });
112
+ this.objectEdits.addedLinksCount += 1;
113
+ };
114
+ removeLink = (leftObjectType, leftPrimaryKey, leftLinkName, rightObjectType, rightPrimaryKey) => {
115
+ const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology.getBothLinkTypeSides(leftObjectType, leftLinkName, rightObjectType);
116
+ this.#fauxDataStore.unregisterLink({
117
+ __apiName: leftObjectType,
118
+ __primaryKey: leftPrimaryKey
119
+ }, leftTypeSideV2.apiName, {
120
+ __apiName: rightObjectType,
121
+ __primaryKey: rightPrimaryKey
122
+ }, rightTypeSideV2.apiName);
123
+ };
124
+ }
125
+ //# sourceMappingURL=FauxDataStoreBatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FauxDataStoreBatch.js","names":["deepEqual","OpenApiCallError","FauxDataStoreBatch","fauxDataStore","objectEdits","addedLinksCount","addedObjectCount","deletedLinksCount","deletedObjectsCount","modifiedObjectsCount","edits","constructor","getObject","objectType","primaryKey","getObjectOrThrow","addObject","object","existingObject","errorCode","errorName","errorInstanceId","parameters","fullMetadata","ontology","getObjectTypeFullMetadataOrThrow","registerObject","__apiName","__primaryKey","push","type","modifyObject","update","origObj","newObj","replaceObjectOrThrow","deleteObject","unregisterObjectOrThrow","addLink","leftObjectType","leftPrimaryKey","leftLinkName","rightObjectType","rightPrimaryKey","leftTypeSideV2","rightTypeSideV2","getBothLinkTypeSides","registerLink","apiName","aSideObject","bSideObject","linkTypeApiNameAtoB","linkTypeApiNameBtoA","removeLink","unregisterLink"],"sources":["FauxDataStoreBatch.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n CompileTimeMetadata,\n ObjectTypeDefinition,\n PrimaryKeyType,\n} from \"@osdk/api\";\nimport type * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport deepEqual from \"fast-deep-equal\";\nimport { OpenApiCallError } from \"../handlers/util/handleOpenApiCall.js\";\nimport type { BaseServerObject } from \"./BaseServerObject.js\";\nimport type { FauxDataStore } from \"./FauxDataStore.js\";\nimport type { JustProps } from \"./typeHelpers/JustProps.js\";\n\n/**\n * This is separate from the FauxDataStore so that we can in the future support\n * this not-committing on errors. That functionality just does not exist at the moment\n */\nexport class FauxDataStoreBatch {\n #fauxDataStore: FauxDataStore;\n objectEdits: OntologiesV2.ObjectEdits = {\n addedLinksCount: 0,\n addedObjectCount: 0,\n deletedLinksCount: 0,\n deletedObjectsCount: 0,\n modifiedObjectsCount: 0,\n edits: [],\n };\n\n constructor(fauxDataStore: FauxDataStore) {\n this.#fauxDataStore = fauxDataStore;\n }\n\n getObject = (\n objectType: string,\n primaryKey: string | number | boolean,\n ): BaseServerObject => {\n return this.#fauxDataStore.getObjectOrThrow(\n objectType,\n primaryKey,\n );\n };\n\n public addObject<T extends ObjectTypeDefinition>(\n objectType: T[\"apiName\"],\n primaryKey: PrimaryKeyType<T>,\n update: Omit<JustProps<T>, CompileTimeMetadata<T>[\"primaryKeyApiName\"]>,\n ): void;\n public addObject(\n objectType: string,\n primaryKey: string | number | boolean,\n object: BaseServerObject,\n ): void;\n public addObject(\n objectType: string,\n primaryKey: string | number | boolean,\n object: BaseServerObject,\n ): void {\n const existingObject = this.#fauxDataStore.getObject(\n objectType,\n primaryKey,\n );\n if (existingObject) {\n throw new OpenApiCallError(\n 500,\n {\n errorCode: \"CONFLICT\",\n errorName: \"ObjectAlreadyExists\",\n errorInstanceId: \"\",\n parameters: {\n objectType,\n primaryKey,\n },\n } satisfies OntologiesV2.ObjectAlreadyExists,\n );\n }\n\n const fullMetadata = this.#fauxDataStore.ontology\n .getObjectTypeFullMetadataOrThrow(objectType);\n\n this.#fauxDataStore.registerObject({\n ...object,\n __apiName: objectType,\n __primaryKey: primaryKey,\n [fullMetadata.objectType.primaryKey]: primaryKey,\n });\n this.objectEdits.edits.push({\n type: \"addObject\",\n primaryKey,\n objectType,\n });\n this.objectEdits.addedObjectCount += 1;\n }\n\n public modifyObject<T extends ObjectTypeDefinition>(\n objectType: T[\"apiName\"],\n primaryKey: PrimaryKeyType<T>,\n update: Partial<JustProps<T>>,\n ): void;\n public modifyObject(\n objectType: string,\n primaryKey: string | number | boolean,\n update: Partial<BaseServerObject>,\n ): void;\n public modifyObject(\n objectType: string,\n primaryKey: string | number | boolean,\n update: Partial<BaseServerObject>,\n ): void {\n const origObj = this.#fauxDataStore.getObjectOrThrow(\n objectType,\n primaryKey,\n );\n const newObj = {\n ...origObj,\n ...update,\n };\n\n if (!deepEqual(origObj, newObj)) {\n this.#fauxDataStore.replaceObjectOrThrow(newObj);\n this.objectEdits.edits.push({\n type: \"modifyObject\",\n primaryKey,\n objectType,\n });\n this.objectEdits.modifiedObjectsCount += 1;\n }\n }\n\n deleteObject = (\n objectType: string,\n primaryKey: string | number | boolean,\n ): void => {\n this.#fauxDataStore.unregisterObjectOrThrow(objectType, primaryKey);\n this.objectEdits.edits.push({\n type: \"deleteObject\",\n objectType,\n primaryKey: primaryKey,\n });\n };\n\n addLink = (\n leftObjectType: string,\n leftPrimaryKey: string | number | boolean,\n leftLinkName: string,\n rightObjectType: string,\n rightPrimaryKey: string | number | boolean,\n ): void => {\n const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology\n .getBothLinkTypeSides(\n leftObjectType,\n leftLinkName,\n rightObjectType,\n );\n\n this.#fauxDataStore.registerLink(\n { __apiName: leftObjectType, __primaryKey: leftPrimaryKey },\n leftTypeSideV2.apiName,\n { __apiName: rightObjectType, __primaryKey: rightPrimaryKey },\n rightTypeSideV2.apiName,\n );\n\n this.objectEdits.edits.push({\n type: \"addLink\",\n aSideObject: {\n objectType: leftObjectType,\n primaryKey: leftPrimaryKey,\n },\n bSideObject: {\n objectType: rightObjectType,\n primaryKey: rightPrimaryKey,\n },\n linkTypeApiNameAtoB: leftLinkName,\n linkTypeApiNameBtoA: rightTypeSideV2.apiName,\n });\n\n this.objectEdits.addedLinksCount += 1;\n };\n\n removeLink = (\n leftObjectType: string,\n leftPrimaryKey: string | number | boolean,\n leftLinkName: string,\n rightObjectType: string,\n rightPrimaryKey: string | number | boolean,\n ): void => {\n const [leftTypeSideV2, rightTypeSideV2] = this.#fauxDataStore.ontology\n .getBothLinkTypeSides(\n leftObjectType,\n leftLinkName,\n rightObjectType,\n );\n\n this.#fauxDataStore.unregisterLink(\n { __apiName: leftObjectType, __primaryKey: leftPrimaryKey },\n leftTypeSideV2.apiName,\n { __apiName: rightObjectType, __primaryKey: rightPrimaryKey },\n rightTypeSideV2.apiName,\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ /*
2
+ * Copyright 2023 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import * as crypto from "node:crypto";
18
+ import { OntologyNotFoundError } from "../errors.js";
19
+ import { createFauxFoundryHandlers } from "../handlers/createFauxFoundryHandlers.js";
20
+ import { OpenApiCallError } from "../handlers/util/handleOpenApiCall.js";
21
+ import { FauxAttachmentStore } from "./FauxAttachmentStore.js";
22
+ import { FauxDataStore } from "./FauxDataStore.js";
23
+ import { FauxOntology } from "./FauxOntology.js";
24
+ export class FauxFoundry {
25
+ #ontologiesByRid = new Map();
26
+ #ontologiesByApiName = new Map();
27
+ #dataStoresByOntologyApiName = new Map();
28
+ #handlers;
29
+ attachments = new FauxAttachmentStore();
30
+ constructor(baseUrl, defaultOntology = {
31
+ apiName: "default-ontology",
32
+ displayName: "Ontology",
33
+ description: "The default ontology",
34
+ rid: `ri.ontology.main.ontology.${crypto.randomUUID()}`
35
+ }, {
36
+ logger
37
+ } = {}) {
38
+ this.baseUrl = baseUrl;
39
+ this.#handlers = createFauxFoundryHandlers(baseUrl, this);
40
+ this.createOntology(defaultOntology);
41
+ this.defaultOntologyRid = defaultOntology.rid;
42
+ this.logger = logger;
43
+ }
44
+ get handlers() {
45
+ return this.#handlers;
46
+ }
47
+ getDefaultOntology() {
48
+ return this.getOntology(this.defaultOntologyRid);
49
+ }
50
+ getDefaultDataStore() {
51
+ return this.getDataStore(this.defaultOntologyRid);
52
+ }
53
+ createOntology(metadata) {
54
+ const ret = new FauxOntology(metadata);
55
+ this.registerOntology(ret);
56
+ return ret;
57
+ }
58
+ registerOntology(ontology) {
59
+ this.#ontologiesByApiName.set(ontology.getOntologyFullMetadata().ontology.apiName, ontology);
60
+ this.#ontologiesByRid.set(ontology.getOntologyFullMetadata().ontology.rid, ontology);
61
+ }
62
+ getOntology(ontologyApiNameOrRid) {
63
+ const ontology = this.#ontologiesByApiName.get(ontologyApiNameOrRid) ?? this.#ontologiesByRid.get(ontologyApiNameOrRid);
64
+ if (!ontology) {
65
+ throw new OpenApiCallError(404, OntologyNotFoundError(ontologyApiNameOrRid));
66
+ }
67
+ return ontology;
68
+ }
69
+ setDataStore(ontologyApiNameOrRid, fauxDataStore) {
70
+ const ontology = this.getOntology(ontologyApiNameOrRid); // will throw
71
+ this.#dataStoresByOntologyApiName.set(ontology.apiName, fauxDataStore);
72
+ }
73
+ getDataStore(ontologyApiNameOrRid) {
74
+ const ontology = this.getOntology(ontologyApiNameOrRid); // will throw
75
+ const dataStore = this.#dataStoresByOntologyApiName.get(ontology.apiName);
76
+ if (!dataStore) {
77
+ const ret = new FauxDataStore(ontology, this.attachments);
78
+ this.setDataStore(ontologyApiNameOrRid, ret);
79
+ return ret;
80
+ }
81
+ return dataStore;
82
+ }
83
+ getEveryOntology() {
84
+ return Object.values(this.#ontologiesByApiName);
85
+ }
86
+ }
87
+ //# sourceMappingURL=FauxFoundry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FauxFoundry.js","names":["crypto","OntologyNotFoundError","createFauxFoundryHandlers","OpenApiCallError","FauxAttachmentStore","FauxDataStore","FauxOntology","FauxFoundry","ontologiesByRid","Map","ontologiesByApiName","dataStoresByOntologyApiName","handlers","attachments","constructor","baseUrl","defaultOntology","apiName","displayName","description","rid","randomUUID","logger","createOntology","defaultOntologyRid","getDefaultOntology","getOntology","getDefaultDataStore","getDataStore","metadata","ret","registerOntology","ontology","set","getOntologyFullMetadata","ontologyApiNameOrRid","get","setDataStore","fauxDataStore","dataStore","getEveryOntology","Object","values"],"sources":["FauxFoundry.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport type { Ontology, OntologyV2 } from \"@osdk/foundry.ontologies\";\nimport type { RequestHandler } from \"msw\";\nimport * as crypto from \"node:crypto\";\nimport { OntologyNotFoundError } from \"../errors.js\";\nimport { createFauxFoundryHandlers } from \"../handlers/createFauxFoundryHandlers.js\";\nimport { OpenApiCallError } from \"../handlers/util/handleOpenApiCall.js\";\nimport { FauxAttachmentStore } from \"./FauxAttachmentStore.js\";\nimport { FauxDataStore } from \"./FauxDataStore.js\";\nimport { FauxOntology } from \"./FauxOntology.js\";\n\nexport class FauxFoundry {\n #ontologiesByRid = new Map<string, FauxOntology>();\n #ontologiesByApiName = new Map<string, FauxOntology>();\n\n #dataStoresByOntologyApiName = new Map<string, FauxDataStore>();\n\n #handlers: RequestHandler[];\n\n readonly attachments: FauxAttachmentStore = new FauxAttachmentStore();\n readonly baseUrl: string;\n readonly defaultOntologyRid: any;\n readonly logger: Logger | undefined;\n\n constructor(\n baseUrl: string,\n defaultOntology: Ontology = {\n apiName: \"default-ontology\",\n displayName: \"Ontology\",\n description: \"The default ontology\",\n rid: `ri.ontology.main.ontology.${crypto.randomUUID()}`,\n },\n { logger }: { logger?: Logger } = {},\n ) {\n this.baseUrl = baseUrl;\n this.#handlers = createFauxFoundryHandlers(baseUrl, this);\n this.createOntology(defaultOntology);\n this.defaultOntologyRid = defaultOntology.rid;\n this.logger = logger;\n }\n\n get handlers(): RequestHandler[] {\n return this.#handlers;\n }\n\n getDefaultOntology(): FauxOntology {\n return this.getOntology(this.defaultOntologyRid);\n }\n\n getDefaultDataStore(): FauxDataStore {\n return this.getDataStore(this.defaultOntologyRid);\n }\n\n createOntology(metadata: OntologyV2): FauxOntology {\n const ret = new FauxOntology(metadata);\n this.registerOntology(ret);\n\n return ret;\n }\n\n registerOntology(ontology: FauxOntology): void {\n this.#ontologiesByApiName.set(\n ontology.getOntologyFullMetadata().ontology.apiName,\n ontology,\n );\n\n this.#ontologiesByRid.set(\n ontology.getOntologyFullMetadata().ontology.rid,\n ontology,\n );\n }\n\n getOntology(ontologyApiNameOrRid: string): FauxOntology {\n const ontology = this.#ontologiesByApiName.get(ontologyApiNameOrRid)\n ?? this.#ontologiesByRid.get(ontologyApiNameOrRid);\n if (!ontology) {\n throw new OpenApiCallError(\n 404,\n OntologyNotFoundError(ontologyApiNameOrRid),\n );\n }\n return ontology;\n }\n\n setDataStore(\n ontologyApiNameOrRid: string,\n fauxDataStore: FauxDataStore,\n ): void {\n const ontology = this.getOntology(ontologyApiNameOrRid); // will throw\n this.#dataStoresByOntologyApiName.set(\n ontology.apiName,\n fauxDataStore,\n );\n }\n\n getDataStore(ontologyApiNameOrRid: string): FauxDataStore {\n const ontology = this.getOntology(ontologyApiNameOrRid); // will throw\n const dataStore = this.#dataStoresByOntologyApiName.get(ontology.apiName);\n if (!dataStore) {\n const ret = new FauxDataStore(ontology, this.attachments);\n this.setDataStore(ontologyApiNameOrRid, ret);\n return ret;\n }\n return dataStore;\n }\n\n getEveryOntology(): FauxOntology[] {\n return Object.values(this.#ontologiesByApiName);\n }\n}\n"],"mappings":"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","ignoreList":[]}