@teambit/objects 0.0.0-dd184ac0a6078a34baedf005a0276dc5717f53a1 → 0.0.0-dd672fbe0add5e00d519ca6f3680e6aa82a54326

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 (73) hide show
  1. package/dist/models/dependencies-graph.d.ts +1 -1
  2. package/dist/models/dependencies-graph.js.map +1 -1
  3. package/dist/models/export-metadata.js +0 -2
  4. package/dist/models/export-metadata.js.map +1 -1
  5. package/dist/models/lane-history.d.ts +1 -1
  6. package/dist/models/lane-history.js.map +1 -1
  7. package/dist/models/lane.d.ts +6 -5
  8. package/dist/models/lane.js.map +1 -1
  9. package/dist/models/model-component.d.ts +10 -8
  10. package/dist/models/model-component.js +22 -5
  11. package/dist/models/model-component.js.map +1 -1
  12. package/dist/models/scopeMeta.d.ts +1 -1
  13. package/dist/models/scopeMeta.js +0 -3
  14. package/dist/models/scopeMeta.js.map +1 -1
  15. package/dist/models/source.d.ts +2 -2
  16. package/dist/models/source.js +0 -1
  17. package/dist/models/source.js.map +1 -1
  18. package/dist/models/symlink.d.ts +1 -1
  19. package/dist/models/version-history.d.ts +1 -1
  20. package/dist/models/version-history.js.map +1 -1
  21. package/dist/models/version.d.ts +11 -9
  22. package/dist/models/version.js +1 -13
  23. package/dist/models/version.js.map +1 -1
  24. package/dist/models/version.spec.js +4 -12
  25. package/dist/models/version.spec.js.map +1 -1
  26. package/dist/objects/bit-object-list.d.ts +1 -1
  27. package/dist/objects/bit-object-list.js.map +1 -1
  28. package/dist/objects/object-list-to-graph.d.ts +2 -2
  29. package/dist/objects/object-list-to-graph.js.map +1 -1
  30. package/dist/objects/object-list.d.ts +6 -0
  31. package/dist/objects/object-list.js +47 -4
  32. package/dist/objects/object-list.js.map +1 -1
  33. package/dist/objects/object.d.ts +2 -2
  34. package/dist/objects/object.js +0 -1
  35. package/dist/objects/object.js.map +1 -1
  36. package/dist/objects/objects-readable-generator.d.ts +4 -4
  37. package/dist/objects/objects-readable-generator.js.map +1 -1
  38. package/dist/objects/raw-object.d.ts +2 -2
  39. package/dist/objects/raw-object.js +1 -11
  40. package/dist/objects/raw-object.js.map +1 -1
  41. package/dist/objects/ref.d.ts +2 -2
  42. package/dist/objects/ref.js.map +1 -1
  43. package/dist/objects/repository.d.ts +23 -7
  44. package/dist/objects/repository.js +23 -12
  45. package/dist/objects/repository.js.map +1 -1
  46. package/dist/objects/scope-index.d.ts +2 -2
  47. package/dist/objects/scope-index.js +0 -1
  48. package/dist/objects/scope-index.js.map +1 -1
  49. package/models/dependencies-graph.ts +1 -1
  50. package/models/export-metadata.ts +0 -1
  51. package/models/lane-history.ts +1 -1
  52. package/models/lane.ts +4 -3
  53. package/models/model-component.ts +36 -16
  54. package/models/scopeMeta.ts +1 -3
  55. package/models/source.ts +0 -1
  56. package/models/version-history.ts +1 -1
  57. package/models/version.spec.ts +4 -12
  58. package/models/version.ts +10 -21
  59. package/objects/bit-object-list.ts +1 -1
  60. package/objects/object-list-to-graph.ts +2 -2
  61. package/objects/object-list.ts +53 -5
  62. package/objects/object.ts +2 -3
  63. package/objects/objects-readable-generator.ts +6 -6
  64. package/objects/raw-object.ts +2 -12
  65. package/objects/ref.ts +2 -2
  66. package/objects/repository.ts +30 -18
  67. package/objects/scope-index.ts +2 -3
  68. package/package.json +38 -38
  69. package/dist/objects/repository-hooks.d.ts +0 -4
  70. package/dist/objects/repository-hooks.js +0 -56
  71. package/dist/objects/repository-hooks.js.map +0 -1
  72. package/objects/repository-hooks.ts +0 -42
  73. /package/dist/{preview-1752249630271.js → preview-1765462803517.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_bitError","_stream","_legacy","_component","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ObjectsReadableGenerator","constructor","repo","callbackOnceDone","readable","Readable","objectMode","read","pushObjectsToReadable","componentsWithOptions","pushScopeMeta","pMapSeries","componentWithOptions","pushComponentObjects","closeReadableSuccessfully","err","closeReadableFailure","pushLanes","lanesToFetch","lanesHistory","lanesItems","Promise","all","map","laneToFetch","bitObjectToItem","laneHistoryItems","laneHistory","pushManyObjects","pushObjects","refs","scope","ref","objectItem","getObjectGracefully","push","logger","debug","pushed","length","error","destroy","obj","hash","buffer","compress","type","getType","getObjectItem","warn","toString","message","scopeMeta","getScopeMetaObject","hashStr","includes","trace","objects","component","collectParents","collectArtifacts","collectParentsUntil","includeVersionHistory","version","loadVersion","BitError","id","isEqual","collectVersionObjects","ver","versionRefs","refsWithOptions","missingVersionRefs","filter","versionObjects","collectManyObjects","versionData","asRaw","componentData","allVersions","versionHistory","getAndPopulateVersionHistory","versionHistoryData","allParentsHashes","getAllVersionHashesMemoized","modelComponent","startFrom","stopAt","undefined","missingParentsHashes","h","parentVersions","parentHash","load","exports"],"sources":["objects-readable-generator.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport { BitError } from '@teambit/bit-error';\nimport { Readable } from 'stream';\nimport BitObject from './object';\nimport Repository from './repository';\nimport Ref from './ref';\nimport { Scope } from '@teambit/legacy.scope';\nimport { logger } from '@teambit/legacy.logger';\nimport { getAllVersionHashesMemoized } from '@teambit/component.snap-distance';\nimport { Lane, LaneHistory, ModelComponent, Version } from '../models';\nimport { ObjectItem } from './object-list';\n\nexport type ComponentWithCollectOptions = {\n component: ModelComponent;\n version: string;\n collectParents: boolean;\n collectParentsUntil?: Ref | null; // stop traversing when this hash found. helps to import only the delta.\n collectArtifacts: boolean;\n includeVersionHistory?: boolean; // send VersionHistory object if exists rather than collecting parents\n};\n\nexport class ObjectsReadableGenerator {\n public readable: Readable;\n private pushed: string[] = [];\n constructor(\n private repo: Repository,\n private callbackOnceDone: Function\n ) {\n this.readable = new Readable({ objectMode: true, read() {} });\n }\n async pushObjectsToReadable(componentsWithOptions: ComponentWithCollectOptions[]) {\n try {\n await this.pushScopeMeta();\n await pMapSeries(componentsWithOptions, async (componentWithOptions) =>\n this.pushComponentObjects(componentWithOptions)\n );\n this.closeReadableSuccessfully();\n } catch (err: any) {\n this.closeReadableFailure(err);\n }\n }\n\n async pushLanes(lanesToFetch: Lane[], lanesHistory: LaneHistory[] = []) {\n try {\n const lanesItems = await Promise.all(lanesToFetch.map((laneToFetch) => this.bitObjectToItem(laneToFetch)));\n const laneHistoryItems = await Promise.all(lanesHistory.map((laneHistory) => this.bitObjectToItem(laneHistory)));\n this.pushManyObjects([...lanesItems, ...laneHistoryItems]);\n this.closeReadableSuccessfully();\n } catch (err: any) {\n this.closeReadableFailure(err);\n }\n }\n\n async pushObjects(refs: Ref[], scope: Scope) {\n try {\n await pMapSeries(refs, async (ref) => {\n const objectItem = await this.getObjectGracefully(ref, scope);\n if (objectItem) this.push(objectItem);\n });\n this.closeReadableSuccessfully();\n } catch (err: any) {\n this.closeReadableFailure(err);\n }\n }\n\n private closeReadableSuccessfully() {\n logger.debug(`ObjectsReadableGenerator, pushed ${this.pushed.length} objects`);\n this.callbackOnceDone();\n this.readable.push(null);\n }\n\n private closeReadableFailure(err: Error) {\n logger.debug(`ObjectsReadableGenerator, pushed ${this.pushed.length} objects`);\n logger.error(`ObjectsReadableGenerator, got an error`, err);\n this.callbackOnceDone(err);\n this.readable.destroy(err);\n }\n\n private async bitObjectToItem(obj: BitObject): Promise<ObjectItem> {\n return {\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n };\n }\n\n private async getObjectGracefully(ref: Ref, scope: Scope) {\n try {\n return await scope.getObjectItem(ref);\n } catch (err: any) {\n logger.warn(\n `getObjectGracefully: failed retrieving an object ${ref.toString()} from the filesystem.\\n${err.message}`\n );\n return null;\n }\n }\n\n private async pushScopeMeta() {\n const scopeMeta = await this.repo.getScopeMetaObject();\n this.push(scopeMeta);\n }\n\n private push(obj: ObjectItem) {\n const hashStr = obj.ref.toString();\n if (this.pushed.includes(hashStr)) {\n return;\n }\n logger.trace('ObjectsReadableGenerator.push', hashStr);\n this.readable.push(obj);\n this.pushed.push(hashStr);\n }\n private pushManyObjects(objects: ObjectItem[]) {\n objects.map((obj) => this.push(obj));\n }\n\n private async pushComponentObjects(componentWithOptions: ComponentWithCollectOptions): Promise<void> {\n const { component, collectParents, collectArtifacts, collectParentsUntil, includeVersionHistory } =\n componentWithOptions;\n const version = await component.loadVersion(componentWithOptions.version, this.repo, false);\n if (!version) throw new BitError(`failed loading version ${componentWithOptions.version} of ${component.id()}`);\n if (collectParentsUntil && version.hash().isEqual(collectParentsUntil)) {\n return;\n }\n const collectVersionObjects = async (ver: Version): Promise<ObjectItem[]> => {\n const versionRefs = ver.refsWithOptions(false, collectArtifacts);\n const missingVersionRefs = versionRefs.filter((ref) => !this.pushed.includes(ref.toString()));\n const versionObjects = await ver.collectManyObjects(this.repo, missingVersionRefs);\n const versionData = { ref: ver.hash(), buffer: await ver.asRaw(this.repo), type: ver.getType() };\n return [...versionObjects, versionData];\n };\n if (!this.pushed.includes(component.hash().toString())) {\n const componentData = {\n ref: component.hash(),\n buffer: await component.asRaw(this.repo),\n type: component.getType(),\n };\n this.push(componentData);\n }\n const allVersions: Version[] = [];\n if (includeVersionHistory) {\n const versionHistory = await component.getAndPopulateVersionHistory(this.repo, version.hash());\n const versionHistoryData = {\n ref: versionHistory.hash(),\n buffer: await versionHistory.asRaw(this.repo),\n type: versionHistory.getType(),\n };\n this.push(versionHistoryData);\n }\n if (collectParents) {\n const allParentsHashes = await getAllVersionHashesMemoized({\n modelComponent: component,\n repo: this.repo,\n startFrom: version.hash(),\n stopAt: collectParentsUntil ? [collectParentsUntil] : undefined,\n });\n const missingParentsHashes = allParentsHashes.filter((h) => !h.isEqual(version.hash()));\n const parentVersions = await pMapSeries(missingParentsHashes, (parentHash) => parentHash.load(this.repo));\n allVersions.push(...(parentVersions as unknown as Version[]));\n // note: don't bring the head. otherwise, component-delta of the head won't bring all history of this comp.\n }\n allVersions.push(version);\n await pMapSeries(allVersions, async (ver) => {\n const versionObjects = await collectVersionObjects(ver);\n this.pushManyObjects(versionObjects);\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_bitError","_stream","_legacy","_component","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ObjectsReadableGenerator","constructor","repo","callbackOnceDone","readable","Readable","objectMode","read","pushObjectsToReadable","componentsWithOptions","pushScopeMeta","pMapSeries","componentWithOptions","pushComponentObjects","closeReadableSuccessfully","err","closeReadableFailure","pushLanes","lanesToFetch","lanesHistory","lanesItems","Promise","all","map","laneToFetch","bitObjectToItem","laneHistoryItems","laneHistory","pushManyObjects","pushObjects","refs","scope","ref","objectItem","getObjectGracefully","push","logger","debug","pushed","length","error","destroy","obj","hash","buffer","compress","type","getType","getObjectItem","warn","toString","message","scopeMeta","getScopeMetaObject","hashStr","includes","trace","objects","component","collectParents","collectArtifacts","collectParentsUntil","includeVersionHistory","version","loadVersion","BitError","id","isEqual","collectVersionObjects","ver","versionRefs","refsWithOptions","missingVersionRefs","filter","versionObjects","collectManyObjects","versionData","asRaw","componentData","allVersions","versionHistory","getAndPopulateVersionHistory","versionHistoryData","allParentsHashes","getAllVersionHashesMemoized","modelComponent","startFrom","stopAt","undefined","missingParentsHashes","h","parentVersions","parentHash","load","exports"],"sources":["objects-readable-generator.ts"],"sourcesContent":["import pMapSeries from 'p-map-series';\nimport { BitError } from '@teambit/bit-error';\nimport { Readable } from 'stream';\nimport type BitObject from './object';\nimport type Repository from './repository';\nimport type Ref from './ref';\nimport type { Scope } from '@teambit/legacy.scope';\nimport { logger } from '@teambit/legacy.logger';\nimport { getAllVersionHashesMemoized } from '@teambit/component.snap-distance';\nimport type { Lane, LaneHistory, ModelComponent, Version } from '../models';\nimport type { ObjectItem } from './object-list';\n\nexport type ComponentWithCollectOptions = {\n component: ModelComponent;\n version: string;\n collectParents: boolean;\n collectParentsUntil?: Ref | null; // stop traversing when this hash found. helps to import only the delta.\n collectArtifacts: boolean;\n includeVersionHistory?: boolean; // send VersionHistory object if exists rather than collecting parents\n};\n\nexport class ObjectsReadableGenerator {\n public readable: Readable;\n private pushed: string[] = [];\n constructor(\n private repo: Repository,\n private callbackOnceDone: Function\n ) {\n this.readable = new Readable({ objectMode: true, read() {} });\n }\n async pushObjectsToReadable(componentsWithOptions: ComponentWithCollectOptions[]) {\n try {\n await this.pushScopeMeta();\n await pMapSeries(componentsWithOptions, async (componentWithOptions) =>\n this.pushComponentObjects(componentWithOptions)\n );\n this.closeReadableSuccessfully();\n } catch (err: any) {\n this.closeReadableFailure(err);\n }\n }\n\n async pushLanes(lanesToFetch: Lane[], lanesHistory: LaneHistory[] = []) {\n try {\n const lanesItems = await Promise.all(lanesToFetch.map((laneToFetch) => this.bitObjectToItem(laneToFetch)));\n const laneHistoryItems = await Promise.all(lanesHistory.map((laneHistory) => this.bitObjectToItem(laneHistory)));\n this.pushManyObjects([...lanesItems, ...laneHistoryItems]);\n this.closeReadableSuccessfully();\n } catch (err: any) {\n this.closeReadableFailure(err);\n }\n }\n\n async pushObjects(refs: Ref[], scope: Scope) {\n try {\n await pMapSeries(refs, async (ref) => {\n const objectItem = await this.getObjectGracefully(ref, scope);\n if (objectItem) this.push(objectItem);\n });\n this.closeReadableSuccessfully();\n } catch (err: any) {\n this.closeReadableFailure(err);\n }\n }\n\n private closeReadableSuccessfully() {\n logger.debug(`ObjectsReadableGenerator, pushed ${this.pushed.length} objects`);\n this.callbackOnceDone();\n this.readable.push(null);\n }\n\n private closeReadableFailure(err: Error) {\n logger.debug(`ObjectsReadableGenerator, pushed ${this.pushed.length} objects`);\n logger.error(`ObjectsReadableGenerator, got an error`, err);\n this.callbackOnceDone(err);\n this.readable.destroy(err);\n }\n\n private async bitObjectToItem(obj: BitObject): Promise<ObjectItem> {\n return {\n ref: obj.hash(),\n buffer: await obj.compress(),\n type: obj.getType(),\n };\n }\n\n private async getObjectGracefully(ref: Ref, scope: Scope) {\n try {\n return await scope.getObjectItem(ref);\n } catch (err: any) {\n logger.warn(\n `getObjectGracefully: failed retrieving an object ${ref.toString()} from the filesystem.\\n${err.message}`\n );\n return null;\n }\n }\n\n private async pushScopeMeta() {\n const scopeMeta = await this.repo.getScopeMetaObject();\n this.push(scopeMeta);\n }\n\n private push(obj: ObjectItem) {\n const hashStr = obj.ref.toString();\n if (this.pushed.includes(hashStr)) {\n return;\n }\n logger.trace('ObjectsReadableGenerator.push', hashStr);\n this.readable.push(obj);\n this.pushed.push(hashStr);\n }\n private pushManyObjects(objects: ObjectItem[]) {\n objects.map((obj) => this.push(obj));\n }\n\n private async pushComponentObjects(componentWithOptions: ComponentWithCollectOptions): Promise<void> {\n const { component, collectParents, collectArtifacts, collectParentsUntil, includeVersionHistory } =\n componentWithOptions;\n const version = await component.loadVersion(componentWithOptions.version, this.repo, false);\n if (!version) throw new BitError(`failed loading version ${componentWithOptions.version} of ${component.id()}`);\n if (collectParentsUntil && version.hash().isEqual(collectParentsUntil)) {\n return;\n }\n const collectVersionObjects = async (ver: Version): Promise<ObjectItem[]> => {\n const versionRefs = ver.refsWithOptions(false, collectArtifacts);\n const missingVersionRefs = versionRefs.filter((ref) => !this.pushed.includes(ref.toString()));\n const versionObjects = await ver.collectManyObjects(this.repo, missingVersionRefs);\n const versionData = { ref: ver.hash(), buffer: await ver.asRaw(this.repo), type: ver.getType() };\n return [...versionObjects, versionData];\n };\n if (!this.pushed.includes(component.hash().toString())) {\n const componentData = {\n ref: component.hash(),\n buffer: await component.asRaw(this.repo),\n type: component.getType(),\n };\n this.push(componentData);\n }\n const allVersions: Version[] = [];\n if (includeVersionHistory) {\n const versionHistory = await component.getAndPopulateVersionHistory(this.repo, version.hash());\n const versionHistoryData = {\n ref: versionHistory.hash(),\n buffer: await versionHistory.asRaw(this.repo),\n type: versionHistory.getType(),\n };\n this.push(versionHistoryData);\n }\n if (collectParents) {\n const allParentsHashes = await getAllVersionHashesMemoized({\n modelComponent: component,\n repo: this.repo,\n startFrom: version.hash(),\n stopAt: collectParentsUntil ? [collectParentsUntil] : undefined,\n });\n const missingParentsHashes = allParentsHashes.filter((h) => !h.isEqual(version.hash()));\n const parentVersions = await pMapSeries(missingParentsHashes, (parentHash) => parentHash.load(this.repo));\n allVersions.push(...(parentVersions as unknown as Version[]));\n // note: don't bring the head. otherwise, component-delta of the head won't bring all history of this comp.\n }\n allVersions.push(version);\n await pMapSeries(allVersions, async (ver) => {\n const versionObjects = await collectVersionObjects(ver);\n this.pushManyObjects(versionObjects);\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import BitObject from './object';
1
+ import type BitObject from './object';
2
2
  export default class BitRawObject {
3
3
  headers: string[];
4
4
  type: string;
@@ -7,7 +7,7 @@ export default class BitRawObject {
7
7
  _ref: string;
8
8
  constructor(buffer: Buffer, ref: string | null | undefined, type: string | null | undefined, content: Buffer | null | undefined, parsedContent: any | null | undefined);
9
9
  getParsedContent(): any;
10
- getString(pretty: boolean): string | Buffer;
10
+ getString(pretty: boolean): string | Buffer<ArrayBufferLike>;
11
11
  set ref(ref: string);
12
12
  get ref(): string;
13
13
  get id(): string;
@@ -36,13 +36,10 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
36
36
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
37
37
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
38
38
  class BitRawObject {
39
- constructor(buffer, ref, type, content,
40
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
41
- parsedContent) {
39
+ constructor(buffer, ref, type, content, parsedContent) {
42
40
  _defineProperty(this, "headers", void 0);
43
41
  _defineProperty(this, "type", void 0);
44
42
  _defineProperty(this, "content", void 0);
45
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
46
43
  _defineProperty(this, "parsedContent", void 0);
47
44
  _defineProperty(this, "_ref", void 0);
48
45
  let headers;
@@ -92,18 +89,12 @@ class BitRawObject {
92
89
  return this.content;
93
90
  }
94
91
  }
95
-
96
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
97
92
  set ref(ref) {
98
93
  this._ref = ref;
99
94
  }
100
-
101
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
102
95
  get ref() {
103
96
  return this._ref;
104
97
  }
105
-
106
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
107
98
  get id() {
108
99
  switch (this.type) {
109
100
  case 'Version':
@@ -140,7 +131,6 @@ class BitRawObject {
140
131
  * @param {Any} parsedContent
141
132
  */
142
133
  toRealObject() {
143
- // @ts-ignore
144
134
  return _legacy3().typesObj[this.type].from(this.parsedContent || this.getParsedContent(), this.headers[1]);
145
135
  }
146
136
  clone() {
@@ -1 +1 @@
1
- {"version":3,"names":["_legacy","data","require","_legacy2","_legacy3","_lodash","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BitRawObject","constructor","buffer","ref","type","content","parsedContent","headers","contentFromBuffer","firstNullByteLocation","indexOf","NULL_BYTE","slice","toString","length","split","SPACE_DELIMITER","undefined","typeFromHeader","_ref","getParsedContent","JSON","parse","getString","pretty","args","getStringifyArgs","stringify","id","scope","name","join","refs","values","versions","files","map","file","dists","dist","filter","fromDeflatedBuffer","fileContents","inflate","then","toRealObject","types","from","clone","exports","default"],"sources":["raw-object.ts"],"sourcesContent":["import { NULL_BYTE, SPACE_DELIMITER } from '@teambit/legacy.constants';\nimport { getStringifyArgs, inflate } from '@teambit/legacy.utils';\nimport { typesObj as types } from '@teambit/legacy.scope';\nimport BitObject from './object';\nimport { clone } from 'lodash';\n\nexport default class BitRawObject {\n headers: string[];\n type: string;\n content: Buffer;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n parsedContent: any;\n _ref: string;\n\n constructor(\n buffer: Buffer,\n ref: string | null | undefined,\n type: string | null | undefined,\n content: Buffer | null | undefined,\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n parsedContent: any | null | undefined\n ) {\n let headers;\n let contentFromBuffer;\n if (buffer) {\n const firstNullByteLocation = buffer.indexOf(NULL_BYTE);\n headers = buffer.slice(0, firstNullByteLocation).toString();\n contentFromBuffer = buffer.slice(firstNullByteLocation + 1, buffer.length);\n }\n this.content = content || contentFromBuffer;\n this.headers = headers ? headers.split(SPACE_DELIMITER) : undefined;\n const typeFromHeader = this.headers ? this.headers[0] : undefined;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.type = type || typeFromHeader;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this._ref = ref;\n this.parsedContent = parsedContent || this.getParsedContent();\n }\n\n getParsedContent() {\n if (this.parsedContent) return this.parsedContent;\n let parsedContent;\n switch (this.type) {\n case 'Version':\n case 'Component':\n case 'Symlink':\n case 'ScopeMeta':\n case 'VersionHistory':\n parsedContent = JSON.parse(this.content.toString());\n break;\n\n default:\n parsedContent = this.content;\n }\n return parsedContent;\n }\n\n getString(pretty: boolean) {\n const args = getStringifyArgs(pretty);\n switch (this.type) {\n case 'Version':\n case 'Component':\n case 'Symlink':\n case 'ScopeMeta':\n case 'VersionHistory':\n return JSON.stringify(this.parsedContent, ...args);\n case 'Source':\n return pretty ? JSON.stringify(JSON.parse(this.content.toString()), ...args) : this.content;\n\n default:\n return this.content;\n }\n }\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n set ref(ref: string) {\n this._ref = ref;\n }\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n get ref(): string {\n return this._ref;\n }\n\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n get id(): string {\n switch (this.type) {\n case 'Version':\n return 'component version';\n case 'Component':\n return this.parsedContent.scope\n ? [this.parsedContent.scope, this.parsedContent.name].join('/')\n : this.parsedContent.name;\n case 'Symlink':\n return this.parsedContent.name;\n case 'ScopeMeta':\n return this.parsedContent.name;\n\n default:\n return 'component source file';\n }\n }\n\n refs(): string[] {\n if (this.type === 'Component') {\n return Object.values(this.parsedContent.versions);\n }\n if (this.type === 'Version') {\n const files = this.parsedContent.files ? this.parsedContent.files.map((file) => file.file) : [];\n const dists = this.parsedContent.dists ? this.parsedContent.dists.map((dist) => dist.file) : [];\n return [...dists, ...files].filter((ref) => ref);\n }\n\n return [];\n }\n\n static async fromDeflatedBuffer(\n fileContents: Buffer,\n ref: string | null | undefined\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n ): Promise<BitObject> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return inflate(fileContents).then((buffer) => new BitRawObject(buffer, ref));\n }\n\n /**\n * Build a real object (model) from a parsed content (can be the original parsed conents or a provided one)\n * We use the provided version during the migration process when we change the parsed content outside\n * @param {Any} parsedContent\n */\n toRealObject() {\n // @ts-ignore\n return types[this.type].from(this.parsedContent || this.getParsedContent(), this.headers[1]);\n }\n\n clone() {\n const parsedContent = this.parsedContent ? clone(this.parsedContent) : undefined;\n // TODO: Should also clone the buffers (content)\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return new BitRawObject(undefined, this._ref, this.type, this.content, parsedContent);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_legacy","data","require","_legacy2","_legacy3","_lodash","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BitRawObject","constructor","buffer","ref","type","content","parsedContent","headers","contentFromBuffer","firstNullByteLocation","indexOf","NULL_BYTE","slice","toString","length","split","SPACE_DELIMITER","undefined","typeFromHeader","_ref","getParsedContent","JSON","parse","getString","pretty","args","getStringifyArgs","stringify","id","scope","name","join","refs","values","versions","files","map","file","dists","dist","filter","fromDeflatedBuffer","fileContents","inflate","then","toRealObject","types","from","clone","exports","default"],"sources":["raw-object.ts"],"sourcesContent":["import { NULL_BYTE, SPACE_DELIMITER } from '@teambit/legacy.constants';\nimport { getStringifyArgs, inflate } from '@teambit/legacy.utils';\nimport { typesObj as types } from '@teambit/legacy.scope';\nimport type BitObject from './object';\nimport { clone } from 'lodash';\n\nexport default class BitRawObject {\n headers: string[];\n type: string;\n content: Buffer;\n parsedContent: any;\n _ref: string;\n\n constructor(\n buffer: Buffer,\n ref: string | null | undefined,\n type: string | null | undefined,\n content: Buffer | null | undefined,\n parsedContent: any | null | undefined\n ) {\n let headers;\n let contentFromBuffer;\n if (buffer) {\n const firstNullByteLocation = buffer.indexOf(NULL_BYTE);\n headers = buffer.slice(0, firstNullByteLocation).toString();\n contentFromBuffer = buffer.slice(firstNullByteLocation + 1, buffer.length);\n }\n this.content = content || contentFromBuffer;\n this.headers = headers ? headers.split(SPACE_DELIMITER) : undefined;\n const typeFromHeader = this.headers ? this.headers[0] : undefined;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.type = type || typeFromHeader;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this._ref = ref;\n this.parsedContent = parsedContent || this.getParsedContent();\n }\n\n getParsedContent() {\n if (this.parsedContent) return this.parsedContent;\n let parsedContent;\n switch (this.type) {\n case 'Version':\n case 'Component':\n case 'Symlink':\n case 'ScopeMeta':\n case 'VersionHistory':\n parsedContent = JSON.parse(this.content.toString());\n break;\n\n default:\n parsedContent = this.content;\n }\n return parsedContent;\n }\n\n getString(pretty: boolean) {\n const args = getStringifyArgs(pretty);\n switch (this.type) {\n case 'Version':\n case 'Component':\n case 'Symlink':\n case 'ScopeMeta':\n case 'VersionHistory':\n return JSON.stringify(this.parsedContent, ...args);\n case 'Source':\n return pretty ? JSON.stringify(JSON.parse(this.content.toString()), ...args) : this.content;\n\n default:\n return this.content;\n }\n }\n\n set ref(ref: string) {\n this._ref = ref;\n }\n\n get ref(): string {\n return this._ref;\n }\n\n get id(): string {\n switch (this.type) {\n case 'Version':\n return 'component version';\n case 'Component':\n return this.parsedContent.scope\n ? [this.parsedContent.scope, this.parsedContent.name].join('/')\n : this.parsedContent.name;\n case 'Symlink':\n return this.parsedContent.name;\n case 'ScopeMeta':\n return this.parsedContent.name;\n\n default:\n return 'component source file';\n }\n }\n\n refs(): string[] {\n if (this.type === 'Component') {\n return Object.values(this.parsedContent.versions);\n }\n if (this.type === 'Version') {\n const files = this.parsedContent.files ? this.parsedContent.files.map((file) => file.file) : [];\n const dists = this.parsedContent.dists ? this.parsedContent.dists.map((dist) => dist.file) : [];\n return [...dists, ...files].filter((ref) => ref);\n }\n\n return [];\n }\n\n static async fromDeflatedBuffer(fileContents: Buffer, ref: string | null | undefined): Promise<BitObject> {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return inflate(fileContents).then((buffer) => new BitRawObject(buffer, ref));\n }\n\n /**\n * Build a real object (model) from a parsed content (can be the original parsed conents or a provided one)\n * We use the provided version during the migration process when we change the parsed content outside\n * @param {Any} parsedContent\n */\n toRealObject() {\n return types[this.type].from(this.parsedContent || this.getParsedContent(), this.headers[1]);\n }\n\n clone() {\n const parsedContent = this.parsedContent ? clone(this.parsedContent) : undefined;\n // TODO: Should also clone the buffers (content)\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n return new BitRawObject(undefined, this._ref, this.type, this.content, parsedContent);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA+B,SAAAK,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAEhB,MAAMgB,YAAY,CAAC;EAOhCC,WAAWA,CACTC,MAAc,EACdC,GAA8B,EAC9BC,IAA+B,EAC/BC,OAAkC,EAClCC,aAAqC,EACrC;IAAAzB,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACA,IAAI0B,OAAO;IACX,IAAIC,iBAAiB;IACrB,IAAIN,MAAM,EAAE;MACV,MAAMO,qBAAqB,GAAGP,MAAM,CAACQ,OAAO,CAACC,mBAAS,CAAC;MACvDJ,OAAO,GAAGL,MAAM,CAACU,KAAK,CAAC,CAAC,EAAEH,qBAAqB,CAAC,CAACI,QAAQ,CAAC,CAAC;MAC3DL,iBAAiB,GAAGN,MAAM,CAACU,KAAK,CAACH,qBAAqB,GAAG,CAAC,EAAEP,MAAM,CAACY,MAAM,CAAC;IAC5E;IACA,IAAI,CAACT,OAAO,GAAGA,OAAO,IAAIG,iBAAiB;IAC3C,IAAI,CAACD,OAAO,GAAGA,OAAO,GAAGA,OAAO,CAACQ,KAAK,CAACC,yBAAe,CAAC,GAAGC,SAAS;IACnE,MAAMC,cAAc,GAAG,IAAI,CAACX,OAAO,GAAG,IAAI,CAACA,OAAO,CAAC,CAAC,CAAC,GAAGU,SAAS;IACjE;IACA,IAAI,CAACb,IAAI,GAAGA,IAAI,IAAIc,cAAc;IAClC;IACA,IAAI,CAACC,IAAI,GAAGhB,GAAG;IACf,IAAI,CAACG,aAAa,GAAGA,aAAa,IAAI,IAAI,CAACc,gBAAgB,CAAC,CAAC;EAC/D;EAEAA,gBAAgBA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACd,aAAa,EAAE,OAAO,IAAI,CAACA,aAAa;IACjD,IAAIA,aAAa;IACjB,QAAQ,IAAI,CAACF,IAAI;MACf,KAAK,SAAS;MACd,KAAK,WAAW;MAChB,KAAK,SAAS;MACd,KAAK,WAAW;MAChB,KAAK,gBAAgB;QACnBE,aAAa,GAAGe,IAAI,CAACC,KAAK,CAAC,IAAI,CAACjB,OAAO,CAACQ,QAAQ,CAAC,CAAC,CAAC;QACnD;MAEF;QACEP,aAAa,GAAG,IAAI,CAACD,OAAO;IAChC;IACA,OAAOC,aAAa;EACtB;EAEAiB,SAASA,CAACC,MAAe,EAAE;IACzB,MAAMC,IAAI,GAAG,IAAAC,2BAAgB,EAACF,MAAM,CAAC;IACrC,QAAQ,IAAI,CAACpB,IAAI;MACf,KAAK,SAAS;MACd,KAAK,WAAW;MAChB,KAAK,SAAS;MACd,KAAK,WAAW;MAChB,KAAK,gBAAgB;QACnB,OAAOiB,IAAI,CAACM,SAAS,CAAC,IAAI,CAACrB,aAAa,EAAE,GAAGmB,IAAI,CAAC;MACpD,KAAK,QAAQ;QACX,OAAOD,MAAM,GAAGH,IAAI,CAACM,SAAS,CAACN,IAAI,CAACC,KAAK,CAAC,IAAI,CAACjB,OAAO,CAACQ,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAGY,IAAI,CAAC,GAAG,IAAI,CAACpB,OAAO;MAE7F;QACE,OAAO,IAAI,CAACA,OAAO;IACvB;EACF;EAEA,IAAIF,GAAGA,CAACA,GAAW,EAAE;IACnB,IAAI,CAACgB,IAAI,GAAGhB,GAAG;EACjB;EAEA,IAAIA,GAAGA,CAAA,EAAW;IAChB,OAAO,IAAI,CAACgB,IAAI;EAClB;EAEA,IAAIS,EAAEA,CAAA,EAAW;IACf,QAAQ,IAAI,CAACxB,IAAI;MACf,KAAK,SAAS;QACZ,OAAO,mBAAmB;MAC5B,KAAK,WAAW;QACd,OAAO,IAAI,CAACE,aAAa,CAACuB,KAAK,GAC3B,CAAC,IAAI,CAACvB,aAAa,CAACuB,KAAK,EAAE,IAAI,CAACvB,aAAa,CAACwB,IAAI,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,GAC7D,IAAI,CAACzB,aAAa,CAACwB,IAAI;MAC7B,KAAK,SAAS;QACZ,OAAO,IAAI,CAACxB,aAAa,CAACwB,IAAI;MAChC,KAAK,WAAW;QACd,OAAO,IAAI,CAACxB,aAAa,CAACwB,IAAI;MAEhC;QACE,OAAO,uBAAuB;IAClC;EACF;EAEAE,IAAIA,CAAA,EAAa;IACf,IAAI,IAAI,CAAC5B,IAAI,KAAK,WAAW,EAAE;MAC7B,OAAOlB,MAAM,CAAC+C,MAAM,CAAC,IAAI,CAAC3B,aAAa,CAAC4B,QAAQ,CAAC;IACnD;IACA,IAAI,IAAI,CAAC9B,IAAI,KAAK,SAAS,EAAE;MAC3B,MAAM+B,KAAK,GAAG,IAAI,CAAC7B,aAAa,CAAC6B,KAAK,GAAG,IAAI,CAAC7B,aAAa,CAAC6B,KAAK,CAACC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACA,IAAI,CAAC,GAAG,EAAE;MAC/F,MAAMC,KAAK,GAAG,IAAI,CAAChC,aAAa,CAACgC,KAAK,GAAG,IAAI,CAAChC,aAAa,CAACgC,KAAK,CAACF,GAAG,CAAEG,IAAI,IAAKA,IAAI,CAACF,IAAI,CAAC,GAAG,EAAE;MAC/F,OAAO,CAAC,GAAGC,KAAK,EAAE,GAAGH,KAAK,CAAC,CAACK,MAAM,CAAErC,GAAG,IAAKA,GAAG,CAAC;IAClD;IAEA,OAAO,EAAE;EACX;EAEA,aAAasC,kBAAkBA,CAACC,YAAoB,EAAEvC,GAA8B,EAAsB;IACxG;IACA,OAAO,IAAAwC,kBAAO,EAACD,YAAY,CAAC,CAACE,IAAI,CAAE1C,MAAM,IAAK,IAAIF,YAAY,CAACE,MAAM,EAAEC,GAAG,CAAC,CAAC;EAC9E;;EAEA;AACF;AACA;AACA;AACA;EACE0C,YAAYA,CAAA,EAAG;IACb,OAAOC,mBAAK,CAAC,IAAI,CAAC1C,IAAI,CAAC,CAAC2C,IAAI,CAAC,IAAI,CAACzC,aAAa,IAAI,IAAI,CAACc,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAACb,OAAO,CAAC,CAAC,CAAC,CAAC;EAC9F;EAEAyC,KAAKA,CAAA,EAAG;IACN,MAAM1C,aAAa,GAAG,IAAI,CAACA,aAAa,GAAG,IAAA0C,eAAK,EAAC,IAAI,CAAC1C,aAAa,CAAC,GAAGW,SAAS;IAChF;IACA;IACA,OAAO,IAAIjB,YAAY,CAACiB,SAAS,EAAE,IAAI,CAACE,IAAI,EAAE,IAAI,CAACf,IAAI,EAAE,IAAI,CAACC,OAAO,EAAEC,aAAa,CAAC;EACvF;AACF;AAAC2C,OAAA,CAAAC,OAAA,GAAAlD,YAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import BitObject from './object';
2
- import Repository from './repository';
1
+ import type BitObject from './object';
2
+ import type Repository from './repository';
3
3
  export default class Ref {
4
4
  hash: string;
5
5
  constructor(hash: string);
@@ -1 +1 @@
1
- {"version":3,"names":["Ref","constructor","hash","_defineProperty","Error","toString","toShortString","numOfChars","substring","load","repository","throws","loadSync","repo","loadRaw","isEqual","ref","clone","from","exports","default"],"sources":["ref.ts"],"sourcesContent":["import BitObject from './object';\nimport Repository from './repository';\n\nexport default class Ref {\n hash: string;\n\n constructor(hash: string) {\n if (!hash) throw new Error('failed creating a Ref object, the hash argument is empty');\n this.hash = hash;\n }\n\n toString() {\n // reason for hash.toString() is when working with short hash, it's possible that all characters are numbers\n // so it's needed to convert it to string\n return this.hash.toString();\n }\n\n toShortString(numOfChars = 9) {\n return this.hash.substring(0, numOfChars).toString();\n }\n\n load(repository: Repository, throws = false): Promise<BitObject> {\n return repository.load(this, throws);\n }\n\n loadSync(repo: Repository, throws = true): BitObject {\n return repo.loadSync(this, throws);\n }\n\n loadRaw(repo: Repository): Promise<Buffer> {\n return repo.loadRaw(this);\n }\n\n isEqual(ref: Ref): boolean {\n return this.toString() === ref.toString();\n }\n\n clone() {\n return new Ref(this.hash);\n }\n\n static from(hash: string): Ref {\n return new Ref(hash);\n }\n}\n"],"mappings":";;;;;;;;;AAGe,MAAMA,GAAG,CAAC;EAGvBC,WAAWA,CAACC,IAAY,EAAE;IAAAC,eAAA;IACxB,IAAI,CAACD,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,0DAA0D,CAAC;IACtF,IAAI,CAACF,IAAI,GAAGA,IAAI;EAClB;EAEAG,QAAQA,CAAA,EAAG;IACT;IACA;IACA,OAAO,IAAI,CAACH,IAAI,CAACG,QAAQ,CAAC,CAAC;EAC7B;EAEAC,aAAaA,CAACC,UAAU,GAAG,CAAC,EAAE;IAC5B,OAAO,IAAI,CAACL,IAAI,CAACM,SAAS,CAAC,CAAC,EAAED,UAAU,CAAC,CAACF,QAAQ,CAAC,CAAC;EACtD;EAEAI,IAAIA,CAACC,UAAsB,EAAEC,MAAM,GAAG,KAAK,EAAsB;IAC/D,OAAOD,UAAU,CAACD,IAAI,CAAC,IAAI,EAAEE,MAAM,CAAC;EACtC;EAEAC,QAAQA,CAACC,IAAgB,EAAEF,MAAM,GAAG,IAAI,EAAa;IACnD,OAAOE,IAAI,CAACD,QAAQ,CAAC,IAAI,EAAED,MAAM,CAAC;EACpC;EAEAG,OAAOA,CAACD,IAAgB,EAAmB;IACzC,OAAOA,IAAI,CAACC,OAAO,CAAC,IAAI,CAAC;EAC3B;EAEAC,OAAOA,CAACC,GAAQ,EAAW;IACzB,OAAO,IAAI,CAACX,QAAQ,CAAC,CAAC,KAAKW,GAAG,CAACX,QAAQ,CAAC,CAAC;EAC3C;EAEAY,KAAKA,CAAA,EAAG;IACN,OAAO,IAAIjB,GAAG,CAAC,IAAI,CAACE,IAAI,CAAC;EAC3B;EAEA,OAAOgB,IAAIA,CAAChB,IAAY,EAAO;IAC7B,OAAO,IAAIF,GAAG,CAACE,IAAI,CAAC;EACtB;AACF;AAACiB,OAAA,CAAAC,OAAA,GAAApB,GAAA","ignoreList":[]}
1
+ {"version":3,"names":["Ref","constructor","hash","_defineProperty","Error","toString","toShortString","numOfChars","substring","load","repository","throws","loadSync","repo","loadRaw","isEqual","ref","clone","from","exports","default"],"sources":["ref.ts"],"sourcesContent":["import type BitObject from './object';\nimport type Repository from './repository';\n\nexport default class Ref {\n hash: string;\n\n constructor(hash: string) {\n if (!hash) throw new Error('failed creating a Ref object, the hash argument is empty');\n this.hash = hash;\n }\n\n toString() {\n // reason for hash.toString() is when working with short hash, it's possible that all characters are numbers\n // so it's needed to convert it to string\n return this.hash.toString();\n }\n\n toShortString(numOfChars = 9) {\n return this.hash.substring(0, numOfChars).toString();\n }\n\n load(repository: Repository, throws = false): Promise<BitObject> {\n return repository.load(this, throws);\n }\n\n loadSync(repo: Repository, throws = true): BitObject {\n return repo.loadSync(this, throws);\n }\n\n loadRaw(repo: Repository): Promise<Buffer> {\n return repo.loadRaw(this);\n }\n\n isEqual(ref: Ref): boolean {\n return this.toString() === ref.toString();\n }\n\n clone() {\n return new Ref(this.hash);\n }\n\n static from(hash: string): Ref {\n return new Ref(hash);\n }\n}\n"],"mappings":";;;;;;;;;AAGe,MAAMA,GAAG,CAAC;EAGvBC,WAAWA,CAACC,IAAY,EAAE;IAAAC,eAAA;IACxB,IAAI,CAACD,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,0DAA0D,CAAC;IACtF,IAAI,CAACF,IAAI,GAAGA,IAAI;EAClB;EAEAG,QAAQA,CAAA,EAAG;IACT;IACA;IACA,OAAO,IAAI,CAACH,IAAI,CAACG,QAAQ,CAAC,CAAC;EAC7B;EAEAC,aAAaA,CAACC,UAAU,GAAG,CAAC,EAAE;IAC5B,OAAO,IAAI,CAACL,IAAI,CAACM,SAAS,CAAC,CAAC,EAAED,UAAU,CAAC,CAACF,QAAQ,CAAC,CAAC;EACtD;EAEAI,IAAIA,CAACC,UAAsB,EAAEC,MAAM,GAAG,KAAK,EAAsB;IAC/D,OAAOD,UAAU,CAACD,IAAI,CAAC,IAAI,EAAEE,MAAM,CAAC;EACtC;EAEAC,QAAQA,CAACC,IAAgB,EAAEF,MAAM,GAAG,IAAI,EAAa;IACnD,OAAOE,IAAI,CAACD,QAAQ,CAAC,IAAI,EAAED,MAAM,CAAC;EACpC;EAEAG,OAAOA,CAACD,IAAgB,EAAmB;IACzC,OAAOA,IAAI,CAACC,OAAO,CAAC,IAAI,CAAC;EAC3B;EAEAC,OAAOA,CAACC,GAAQ,EAAW;IACzB,OAAO,IAAI,CAACX,QAAQ,CAAC,CAAC,KAAKW,GAAG,CAACX,QAAQ,CAAC,CAAC;EAC3C;EAEAY,KAAKA,CAAA,EAAG;IACN,OAAO,IAAIjB,GAAG,CAAC,IAAI,CAACE,IAAI,CAAC;EAC3B;EAEA,OAAOgB,IAAIA,CAAChB,IAAY,EAAO;IAC7B,OAAO,IAAIF,GAAG,CAACE,IAAI,CAAC;EACtB;AACF;AAACiB,OAAA,CAAAC,OAAA,GAAApB,GAAA","ignoreList":[]}
@@ -1,14 +1,17 @@
1
1
  import { Mutex } from 'async-mutex';
2
- import { ComponentID } from '@teambit/component-id';
3
- import { PathOsBasedAbsolute } from '@teambit/legacy.utils';
4
- import { Types, ScopeJson, UnmergedComponents, RemoteLanes } from '@teambit/legacy.scope';
5
- import { ScopeIndex, IndexType } from './scope-index';
2
+ import type { ComponentID } from '@teambit/component-id';
3
+ import type { PathOsBasedAbsolute } from '@teambit/legacy.utils';
4
+ import type { Types, ScopeJson } from '@teambit/legacy.scope';
5
+ import { UnmergedComponents, RemoteLanes } from '@teambit/legacy.scope';
6
+ import type { IndexType } from './scope-index';
7
+ import { ScopeIndex } from './scope-index';
6
8
  import BitObject from './object';
7
- import { ObjectItem, ObjectList } from './object-list';
9
+ import type { ObjectItem } from './object-list';
10
+ import { ObjectList } from './object-list';
8
11
  import BitRawObject from './raw-object';
9
12
  import Ref from './ref';
10
- import { ContentTransformer } from './repository-hooks';
11
- import { InMemoryCache } from '@teambit/harmony.modules.in-memory-cache';
13
+ import type { InMemoryCache } from '@teambit/harmony.modules.in-memory-cache';
14
+ type ContentTransformer = (content: Buffer) => Buffer;
12
15
  export default class Repository {
13
16
  objects: {
14
17
  [key: string]: BitObject;
@@ -37,6 +40,18 @@ export default class Repository {
37
40
  static reset(scopePath: string): Promise<void>;
38
41
  static getPathByScopePath(scopePath: string): string;
39
42
  static onPostObjectsPersist: () => Promise<void>;
43
+ /**
44
+ * Hook for transforming content before objects are persisted to the filesystem.
45
+ * Note: This function cannot be async because it's used by the synchronous `loadSync` method
46
+ * which needs to maintain sync behavior for compatibility with existing code.
47
+ */
48
+ static onPreObjectPersist: (content: Buffer) => Buffer;
49
+ /**
50
+ * Hook for transforming content after objects are read from the filesystem.
51
+ * Note: This function cannot be async because it's used by the synchronous `loadSync` method
52
+ * which needs to maintain sync behavior for compatibility with existing code.
53
+ */
54
+ static onPostObjectRead: (content: Buffer) => Buffer;
40
55
  reLoadScopeIndex(): Promise<void>;
41
56
  /**
42
57
  * current scope index difference with <scope_folder>/index.json content, reload it
@@ -147,3 +162,4 @@ export default class Repository {
147
162
  readObjectsFromPendingDir(pendingDir: PathOsBasedAbsolute): Promise<ObjectList>;
148
163
  private hashPath;
149
164
  }
165
+ export {};
@@ -81,6 +81,13 @@ function _legacy3() {
81
81
  };
82
82
  return data;
83
83
  }
84
+ function _glob() {
85
+ const data = require("glob");
86
+ _glob = function () {
87
+ return data;
88
+ };
89
+ return data;
90
+ }
84
91
  function _toolboxFs() {
85
92
  const data = require("@teambit/toolbox.fs.remove-empty-dir");
86
93
  _toolboxFs = function () {
@@ -137,13 +144,6 @@ function _ref() {
137
144
  };
138
145
  return data;
139
146
  }
140
- function _repositoryHooks() {
141
- const data = require("./repository-hooks");
142
- _repositoryHooks = function () {
143
- return data;
144
- };
145
- return data;
146
- }
147
147
  function _harmonyModules2() {
148
148
  const data = require("@teambit/harmony.modules.in-memory-cache");
149
149
  _harmonyModules2 = function () {
@@ -167,7 +167,6 @@ const OBJECTS_BACKUP_DIR = `${_legacy().OBJECTS_DIR}.bak`;
167
167
  const TRASH_DIR = 'trash';
168
168
  class Repository {
169
169
  constructor(scopePath, scopeJson) {
170
- // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
171
170
  _defineProperty(this, "objects", {});
172
171
  _defineProperty(this, "objectsToRemove", []);
173
172
  _defineProperty(this, "scopeJson", void 0);
@@ -181,8 +180,8 @@ class Repository {
181
180
  _defineProperty(this, "_persistMutex", void 0);
182
181
  this.scopePath = scopePath;
183
182
  this.scopeJson = scopeJson;
184
- this.onRead = (0, _repositoryHooks().onRead)(scopePath, scopeJson);
185
- this.onPersist = (0, _repositoryHooks().onPersist)(scopePath, scopeJson);
183
+ this.onRead = content => Repository.onPostObjectRead?.(content) || content;
184
+ this.onPersist = content => Repository.onPreObjectPersist?.(content) || content;
186
185
  this.cache = (0, _harmonyModules2().createInMemoryCache)({
187
186
  maxSize: (0, _harmonyModules2().getMaxSizeForObjects)()
188
187
  });
@@ -387,7 +386,7 @@ class Repository {
387
386
  return parsedObject;
388
387
  }
389
388
  async listRefs(cwd = this.getPath()) {
390
- const matches = await (0, _legacy3().glob)(path().join('*', '*'), {
389
+ const matches = await (0, _glob().glob)(path().join('*', '*'), {
391
390
  cwd
392
391
  });
393
392
  const refs = matches.map(str => {
@@ -402,7 +401,7 @@ class Repository {
402
401
  }
403
402
  async listRefsStartWith(shortHash) {
404
403
  const pathPrefix = this.hashPath(shortHash);
405
- const matches = await (0, _legacy3().glob)(`${pathPrefix}*`, {
404
+ const matches = await (0, _glob().glob)(`${pathPrefix}*`, {
406
405
  cwd: this.getPath()
407
406
  });
408
407
  const refs = matches.map(str => {
@@ -808,6 +807,18 @@ class Repository {
808
807
  }
809
808
  exports.default = Repository;
810
809
  _defineProperty(Repository, "onPostObjectsPersist", void 0);
810
+ /**
811
+ * Hook for transforming content before objects are persisted to the filesystem.
812
+ * Note: This function cannot be async because it's used by the synchronous `loadSync` method
813
+ * which needs to maintain sync behavior for compatibility with existing code.
814
+ */
815
+ _defineProperty(Repository, "onPreObjectPersist", void 0);
816
+ /**
817
+ * Hook for transforming content after objects are read from the filesystem.
818
+ * Note: This function cannot be async because it's used by the synchronous `loadSync` method
819
+ * which needs to maintain sync behavior for compatibility with existing code.
820
+ */
821
+ _defineProperty(Repository, "onPostObjectRead", void 0);
811
822
  async function removeFile(filePath, propagateDirs = false) {
812
823
  try {
813
824
  await _fsExtra().default.unlink(filePath);