/** * Update service properties * * @param {any} svc * @memberof ServiceItem */ update(svc) { this.fullName = svc.fullName; this.version = svc.version; this.settings = svc.settings; this.metadata = svc.metadata || {}; }
/** * @return {Promise} */ const listTopics = async () => { const { topicMetadata } = await cluster.metadata() const topics = topicMetadata.map(t => t.topic) return topics }
store.metadata.find().reduce((fields, obj) => { fields[obj.key] = obj.data return fields }, {})
const getMetadatas = buffer => sharp(buffer) .metadata() .catch(() => ({}))
/** * @public * @type {import("../../types").Broker['metadata']} * @param {Array} [topics=[]] An array of topics to fetch metadata for. * If no topics are specified fetch metadata for all topics */ async metadata(topics = []) { const metadata = this.lookupRequest(apiKeys.Metadata, requests.Metadata) const shuffledTopics = shuffle(topics) return await this.connection.send( metadata({ topics: shuffledTopics, allowAutoTopicCreation: this.allowAutoTopicCreation }) ) }
it('retries on LEADER_NOT_AVAILABLE errors', async () => { const leaderNotAvailableError = new KafkaJSProtocolError({ message: 'LEADER_NOT_AVAILABLE', type: 'LEADER_NOT_AVAILABLE', code: 5, }) brokerPool.findConnectedBroker = jest.fn(() => brokerPool.seedBroker) jest.spyOn(brokerPool.seedBroker, 'metadata').mockImplementationOnce(() => { throw leaderNotAvailableError }) expect(brokerPool.metadata).toEqual(null) await brokerPool.refreshMetadata([topicName]) expect(brokerPool.metadata).not.toEqual(null) })
// site addMetadata (key, data) { let node = this.metadata.findOne({ key }) if (node && isArray(node.data) && isArray(data)) { node.data = node.data.concat(data) } else if (node && isPlainObject(node.data) && isPlainObject(data)) { Object.assign(node.data, data) } else if (node) { node.data = data } else { node = this.metadata.insert({ key, data }) } return node }
// First run might cause a xmllib error, run safe warmup // See https://github.com/lovell/sharp/issues/1593 function warmupSharp (sharp) { if (isWarming) return isWarming const svg = '<svg><rect width="1" height="1" /></svg>' const buffer = Buffer.from(svg, 'utf-8') sharp.simd(true) isWarming = sharp(buffer).metadata().then(() => sharp, () => sharp) return isWarming }
it('should save metadata', async () => { const gfsAdapter = new GridFSBucketAdapter(databaseURI); const originalString = 'abcdefghi'; const metadata = { hello: 'world' }; await gfsAdapter.createFile('myFileName', originalString, null, { metadata, }); const gfsResult = await gfsAdapter.getFileData('myFileName'); expect(gfsResult.toString('utf8')).toBe(originalString); let gfsMetadata = await gfsAdapter.getMetadata('myFileName'); expect(gfsMetadata.metadata).toEqual(metadata); // Empty json for file not found gfsMetadata = await gfsAdapter.getMetadata('myUnknownFile'); expect(gfsMetadata).toEqual({}); });
it("should merge metadata", () => { expect(svc.metadata).toEqual({ priority: 3, tag: "other", scalable: true, minMemory: "2g" }); });
// First run might cause a xmllib error, run safe warmup // See https://github.com/lovell/sharp/issues/1593 function warmupSharp (sharp) { if (isWarming) return isWarming const svg = '<svg><rect width="1" height="1" /></svg>' const buffer = Buffer.from(svg, 'utf-8') sharp.simd(true) isWarming = sharp(buffer).metadata().then(() => sharp, () => sharp) return isWarming }
store.metadata.find().reduce((fields, obj) => { fields[obj.key] = obj.data return fields }, {})
const getMetadatas = buffer => sharp(buffer) .metadata() .catch(() => ({}))
// site addMetadata (key, data) { let node = this.metadata.findOne({ key }) if (node && isArray(node.data) && isArray(data)) { node.data = node.data.concat(data) } else if (node && isPlainObject(node.data) && isPlainObject(data)) { Object.assign(node.data, data) } else if (node) { node.data = data } else { node = this.metadata.insert({ key, data }) } return node }