@proteinjs/reflection-build 1.4.5 → 1.4.6

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 (31) hide show
  1. package/dist/test/examples/source-repository/a/generated/index.js +1 -1
  2. package/dist/test/examples/source-repository/b/generated/index.js +1 -1
  3. package/package.json +2 -2
  4. package/test/examples/source-repository/a/dist/generated/index.js +1 -1
  5. package/test/examples/source-repository/a/generated/index.ts +1 -1
  6. package/test/examples/source-repository/a/node_modules/.package-lock.json +6 -6
  7. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/CHANGELOG.md +22 -0
  8. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +102 -20
  9. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  10. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/jest.config.js +9 -0
  11. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +4 -3
  12. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/PackageUtil.ts +88 -2
  13. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/PackageUtil.symlinkDependencies.test.ts +254 -0
  14. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/tsconfig.json +1 -1
  15. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +1 -1
  16. package/test/examples/source-repository/a/package-lock.json +8 -8
  17. package/test/examples/source-repository/a/package.json +2 -2
  18. package/test/examples/source-repository/b/dist/generated/index.js +1 -1
  19. package/test/examples/source-repository/b/generated/index.ts +1 -1
  20. package/test/examples/source-repository/b/node_modules/.package-lock.json +4 -4
  21. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +22 -0
  22. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +102 -20
  23. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  24. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/jest.config.js +9 -0
  25. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +4 -3
  26. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/PackageUtil.ts +88 -2
  27. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/PackageUtil.symlinkDependencies.test.ts +254 -0
  28. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/tsconfig.json +1 -1
  29. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +1 -1
  30. package/test/examples/source-repository/b/package-lock.json +6 -6
  31. package/test/examples/source-repository/b/package.json +2 -2
@@ -13,7 +13,7 @@ import 'jsesc';
13
13
 
14
14
  /** Generate Source Graph */
15
15
 
16
- const sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/reflection-build-test-a/implementsLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsNotLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsNotLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsNotLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ y: string }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ y: string }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsExtendsLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsExtendsLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ y: string }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ y: string }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsNotLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsExtendsNotLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsExtendsNotLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsNotLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsNotLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalNotLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLocalNotLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalNotLoadableInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalNotLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalNotLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"y\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsNotLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"y\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsLocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ a: string }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ a: string }\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableTypeWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsLocalLoadableTypeWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableTypeWithArgs\",\"type\":{\"packageName\":\"\",\"name\":\"LocalLoadableTypeWithArgs<LocalLoadableType>\",\"filePath\":null,\"qualifiedName\":\"/LocalLoadableTypeWithArgs<LocalLoadableType>\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableTypeWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableType\"],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableTypeWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"typeParameters\":[\"/T\"],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ a: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ a: number }\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ b: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ b: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsExtendsLocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsExtendsLocalLoadableType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterfaceWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableInterfaceWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterfaceWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterfaceWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterfaceWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterfaceWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableInterfaceWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterfaceWithArgs\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterfaceWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\"],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClassWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableAbstractClassWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClassWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClassWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\"],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClassWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/reflection-build-test-a/TypeFilter\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"TypeFilter\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/TypeFilter.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/TypeFilter\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"blocklist\",\"type\":{\"packageName\":\"\",\"name\":\"string[]\",\"filePath\":null,\"qualifiedName\":\"/string[]\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"filterObject\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"qualifiedName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"SourceRepositoryFilter\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/SourceRepositoryFilter\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection/SourceRepositoryFilter\"}],\"edges\":[{\"v\":\"@proteinjs/reflection-build-test-a/implementsLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsNotLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsNotLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalNotLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableType\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableTypeWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLocalLoadableType\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterfaceWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterfaceWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClassWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/TypeFilter\",\"w\":\"@proteinjs/reflection/SourceRepositoryFilter\",\"value\":\"implements interface\"}]}";
16
+ const sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/reflection-build-test-a/implementsLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsNotLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsNotLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsNotLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ y: string }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ y: string }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsExtendsLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsExtendsLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ y: string }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ y: string }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsNotLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsExtendsNotLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsExtendsNotLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsNotLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsNotLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalNotLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLocalNotLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalNotLoadableInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalNotLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalNotLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"y\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"NotLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsNotLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"y\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsNotLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsLocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ a: string }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ a: string }\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableTypeWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsLocalLoadableTypeWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableTypeWithArgs\",\"type\":{\"packageName\":\"\",\"name\":\"LocalLoadableTypeWithArgs<LocalLoadableType>\",\"filePath\":null,\"qualifiedName\":\"/LocalLoadableTypeWithArgs<LocalLoadableType>\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableTypeWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableType\"],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableTypeWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"typeParameters\":[\"/T\"],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ a: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ a: number }\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"{ b: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/{ b: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLocalLoadableType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"implementsExtendsLocalLoadableType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/implementsExtendsLocalLoadableType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterfaceWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableInterfaceWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterfaceWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterfaceWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterfaceWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterfaceWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableInterfaceWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterfaceWithArgs\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterfaceWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\"],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClassWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsLocalLoadableAbstractClassWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClassWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClassWithArgs\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\"],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClassWithArgs\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/LocalLoadableType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[\"/T\"],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLocalLoadableInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"b\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"LocalLoadableAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ImplementsExtendsLocalLoadableAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/ExtendsLocalType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"a\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"b\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"ExtendsLocalLoadableAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/reflection-build-test-a/TypeFilter\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-a\",\"name\":\"TypeFilter\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/src/TypeFilter.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-a/TypeFilter\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"blocklist\",\"type\":{\"packageName\":\"\",\"name\":\"string[]\",\"filePath\":null,\"qualifiedName\":\"/string[]\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"filterObject\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"qualifiedName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"SourceRepositoryFilter\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/SourceRepositoryFilter\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection/SourceRepositoryFilter\"}],\"edges\":[{\"v\":\"@proteinjs/reflection-build-test-a/implementsLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsNotLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignType\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsNotLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignInterface\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalNotLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableType\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsLocalLoadableTypeWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/implementsExtendsLocalLoadableType\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableInterfaceWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterfaceWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsLocalLoadableAbstractClassWithArgs\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableInterface\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/ImplementsExtendsLocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-a/ExtendsLocalLoadableAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableTypeWithArgs\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableInterfaceWithArgs\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/LocalLoadableAbstractClassWithArgs\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-a/TypeFilter\",\"w\":\"@proteinjs/reflection/SourceRepositoryFilter\",\"value\":\"implements interface\"}]}";
17
17
 
18
18
 
19
19
  /** Generate Source Links */
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@proteinjs/reflection-build-test-a",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "../b": {
8
8
  "name": "@proteinjs/reflection-build-test-b",
9
- "version": "0.0.19",
9
+ "version": "0.0.20",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
12
  "@dagrejs/graphlib": "2.1.4",
13
13
  "@proteinjs/reflection": "^1.1.11",
14
14
  "@proteinjs/util": "^1.6.0",
15
- "@proteinjs/util-node": "^1.7.3",
15
+ "@proteinjs/util-node": "^1.8.1",
16
16
  "globby": "11.0.1",
17
17
  "gulp": "4.0.2",
18
18
  "gulp-shell": "0.8.0",
@@ -1103,9 +1103,9 @@
1103
1103
  }
1104
1104
  },
1105
1105
  "node_modules/@proteinjs/util-node": {
1106
- "version": "1.7.3",
1107
- "resolved": "https://registry.npmjs.org/@proteinjs/util-node/-/util-node-1.7.3.tgz",
1108
- "integrity": "sha512-/OFYrPT3iblHVf5Y0GQCud8mGKgeP73/uI2qSd+rm3MVJm0yB8I1seZmRLKqZfMDM1eawnIsVFRRyX4mAH2BIg==",
1106
+ "version": "1.8.1",
1107
+ "resolved": "https://registry.npmjs.org/@proteinjs/util-node/-/util-node-1.8.1.tgz",
1108
+ "integrity": "sha512-F4BEBmroyTuRjQGYkJQhs2JoTg6VUIeEveMZbHzV5mG8jIyF2zbIF+qQCJ0cV2pdQg2PLhi61VlstTwJrEIKdQ==",
1109
1109
  "license": "ISC",
1110
1110
  "dependencies": {
1111
1111
  "@dagrejs/graphlib": "2.1.4",
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.8.1](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.8.0...@proteinjs/util-node@1.8.1) (2026-04-14)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * make symlink-workspace portable and self-sufficient ([fa34e5f](https://github.com/proteinjs/util/commit/fa34e5f4f7d4fa6785cda8a4747964904020202d))
12
+
13
+
14
+
15
+
16
+
17
+ # [1.8.0](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.7.3...@proteinjs/util-node@1.8.0) (2026-04-13)
18
+
19
+
20
+ ### Features
21
+
22
+ * chmod +x bin files after symlinking local dependencies ([10040cf](https://github.com/proteinjs/util/commit/10040cf8393b9369a997fbaccc1c337ee1871a37))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [1.7.3](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.7.2...@proteinjs/util-node@1.7.3) (2026-04-13)
7
29
 
8
30
 
@@ -74,6 +74,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
74
74
  exports.PackageUtil = void 0;
75
75
  var typescript_1 = __importDefault(require("typescript"));
76
76
  var path = __importStar(require("path"));
77
+ var fs = __importStar(require("fs/promises"));
77
78
  var util_1 = require("@proteinjs/util");
78
79
  var cmd_1 = require("./cmd");
79
80
  var Fs_1 = require("./Fs");
@@ -463,10 +464,10 @@ var PackageUtil = /** @class */ (function () {
463
464
  _a.label = 3;
464
465
  case 3:
465
466
  linkDependencies = function (dependencies) { return __awaiter(_this, void 0, void 0, function () {
466
- var _a, _b, _c, _i, dependencyPackageName, dependencyPath, symlinkPath, symlinkParent;
467
- var _d;
468
- return __generator(this, function (_e) {
469
- switch (_e.label) {
467
+ var _a, _b, _c, _i, dependencyPackageName, dependencyPath, symlinkPath, symlinkParent, e_1, relativeDependencyPath, depPackageJson, _d, _e, bin, binEntries, binName, bareName, dotBinDir, _f, binEntries_1, _g, name_3, relPath, binFilePath, shimPath, e_2, shimTargetAbsolute, shimRelative;
468
+ var _h;
469
+ return __generator(this, function (_j) {
470
+ switch (_j.label) {
470
471
  case 0:
471
472
  if (!dependencies) {
472
473
  return [2 /*return*/];
@@ -476,42 +477,123 @@ var PackageUtil = /** @class */ (function () {
476
477
  for (_c in _a)
477
478
  _b.push(_c);
478
479
  _i = 0;
479
- _e.label = 1;
480
+ _j.label = 1;
480
481
  case 1:
481
- if (!(_i < _b.length)) return [3 /*break*/, 10];
482
+ if (!(_i < _b.length)) return [3 /*break*/, 26];
482
483
  _c = _b[_i];
483
- if (!(_c in _a)) return [3 /*break*/, 9];
484
+ if (!(_c in _a)) return [3 /*break*/, 25];
484
485
  dependencyPackageName = _c;
485
- dependencyPath = ((_d = localPackageMap[dependencyPackageName]) === null || _d === void 0 ? void 0 : _d.filePath)
486
+ dependencyPath = ((_h = localPackageMap[dependencyPackageName]) === null || _h === void 0 ? void 0 : _h.filePath)
486
487
  ? path.dirname(localPackageMap[dependencyPackageName].filePath)
487
488
  : null;
488
489
  if (!dependencyPath) {
489
- return [3 /*break*/, 9];
490
+ return [3 /*break*/, 25];
490
491
  }
491
492
  symlinkPath = path.join(nodeModulesPath, dependencyPackageName);
492
493
  symlinkParent = path.dirname(symlinkPath);
493
494
  return [4 /*yield*/, Fs_1.Fs.exists(symlinkParent)];
494
495
  case 2:
495
- if (!!(_e.sent())) return [3 /*break*/, 4];
496
+ if (!!(_j.sent())) return [3 /*break*/, 4];
496
497
  return [4 /*yield*/, Fs_1.Fs.createFolder(symlinkParent)];
497
498
  case 3:
498
- _e.sent();
499
- _e.label = 4;
500
- case 4: return [4 /*yield*/, Fs_1.Fs.exists(symlinkPath)];
499
+ _j.sent();
500
+ _j.label = 4;
501
+ case 4:
502
+ _j.trys.push([4, 7, , 8]);
503
+ return [4 /*yield*/, fs.lstat(symlinkPath)];
501
504
  case 5:
502
- if (!_e.sent()) return [3 /*break*/, 7];
505
+ _j.sent();
506
+ // Existing entry (symlink, file, or directory) — remove it.
507
+ // `deleteFolder` (fs-extra `remove`) handles all three.
503
508
  return [4 /*yield*/, Fs_1.Fs.deleteFolder(symlinkPath)];
504
509
  case 6:
505
- _e.sent();
506
- _e.label = 7;
507
- case 7: return [4 /*yield*/, (0, cmd_1.cmd)('ln', ['-s', dependencyPath, symlinkPath], { cwd: packageDir })];
510
+ // Existing entry (symlink, file, or directory) — remove it.
511
+ // `deleteFolder` (fs-extra `remove`) handles all three.
512
+ _j.sent();
513
+ return [3 /*break*/, 8];
514
+ case 7:
515
+ e_1 = _j.sent();
516
+ if (e_1.code !== 'ENOENT') {
517
+ throw e_1;
518
+ }
519
+ return [3 /*break*/, 8];
508
520
  case 8:
509
- _e.sent();
510
- _e.label = 9;
521
+ relativeDependencyPath = path.relative(symlinkParent, dependencyPath);
522
+ return [4 /*yield*/, (0, cmd_1.cmd)('ln', ['-s', relativeDependencyPath, symlinkPath], { cwd: packageDir })];
511
523
  case 9:
524
+ _j.sent();
525
+ _e = (_d = JSON).parse;
526
+ return [4 /*yield*/, Fs_1.Fs.readFile(localPackageMap[dependencyPackageName].filePath)];
527
+ case 10:
528
+ depPackageJson = _e.apply(_d, [_j.sent()]);
529
+ bin = depPackageJson.bin;
530
+ binEntries = [];
531
+ if (bin && typeof bin === 'object') {
532
+ for (binName in bin) {
533
+ binEntries.push({ name: binName, relPath: bin[binName] });
534
+ }
535
+ }
536
+ else if (bin && typeof bin === 'string') {
537
+ bareName = dependencyPackageName.includes('/')
538
+ ? dependencyPackageName.split('/').pop()
539
+ : dependencyPackageName;
540
+ binEntries.push({ name: bareName, relPath: bin });
541
+ }
542
+ if (!(binEntries.length > 0)) return [3 /*break*/, 25];
543
+ dotBinDir = path.join(nodeModulesPath, '.bin');
544
+ return [4 /*yield*/, Fs_1.Fs.exists(dotBinDir)];
545
+ case 11:
546
+ if (!!(_j.sent())) return [3 /*break*/, 13];
547
+ return [4 /*yield*/, Fs_1.Fs.createFolder(dotBinDir)];
548
+ case 12:
549
+ _j.sent();
550
+ _j.label = 13;
551
+ case 13:
552
+ _f = 0, binEntries_1 = binEntries;
553
+ _j.label = 14;
554
+ case 14:
555
+ if (!(_f < binEntries_1.length)) return [3 /*break*/, 25];
556
+ _g = binEntries_1[_f], name_3 = _g.name, relPath = _g.relPath;
557
+ binFilePath = path.resolve(dependencyPath, relPath);
558
+ return [4 /*yield*/, Fs_1.Fs.exists(binFilePath)];
559
+ case 15:
560
+ if (!_j.sent()) return [3 /*break*/, 17];
561
+ return [4 /*yield*/, fs.chmod(binFilePath, 493)];
562
+ case 16:
563
+ _j.sent();
564
+ _j.label = 17;
565
+ case 17:
566
+ shimPath = path.join(dotBinDir, name_3);
567
+ _j.label = 18;
568
+ case 18:
569
+ _j.trys.push([18, 21, , 22]);
570
+ return [4 /*yield*/, fs.lstat(shimPath)];
571
+ case 19:
572
+ _j.sent();
573
+ return [4 /*yield*/, Fs_1.Fs.deleteFolder(shimPath)];
574
+ case 20:
575
+ _j.sent();
576
+ return [3 /*break*/, 22];
577
+ case 21:
578
+ e_2 = _j.sent();
579
+ if (e_2.code !== 'ENOENT') {
580
+ throw e_2;
581
+ }
582
+ return [3 /*break*/, 22];
583
+ case 22:
584
+ shimTargetAbsolute = path.join(nodeModulesPath, dependencyPackageName, relPath);
585
+ shimRelative = path.relative(dotBinDir, shimTargetAbsolute);
586
+ return [4 /*yield*/, (0, cmd_1.cmd)('ln', ['-s', shimRelative, shimPath], { cwd: packageDir })];
587
+ case 23:
588
+ _j.sent();
589
+ _j.label = 24;
590
+ case 24:
591
+ _f++;
592
+ return [3 /*break*/, 14];
593
+ case 25:
512
594
  _i++;
513
595
  return [3 /*break*/, 1];
514
- case 10: return [2 /*return*/];
596
+ case 26: return [2 /*return*/];
515
597
  }
516
598
  });
517
599
  }); };