本文整理汇总了TypeScript中neuroglancer/util/json.stableStringify函数的典型用法代码示例。如果您正苦于以下问题:TypeScript stableStringify函数的具体用法?TypeScript stableStringify怎么用?TypeScript stableStringify使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了stableStringify函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getShardedVolume
export function getShardedVolume(baseUrls: string[], path: string) {
let fullKey = stableStringify({'baseUrls': baseUrls, 'path': path});
let existingResult = existingVolumes.get(fullKey);
if (existingResult !== undefined) {
return existingResult;
}
let promise = sendHttpRequest(openShardedHttpRequest(baseUrls, path + '/info'), 'json')
.then(response => new MultiscaleVolumeChunkSource(baseUrls, path, response));
existingVolumes.set(fullKey, promise);
return promise;
}
示例2: stableStringify
.map(spec => {
let path = `${this.path}/${scaleInfo.key}`;
let cacheKey = stableStringify({
'spec': spec,
'baseUrls': this.baseUrls,
'path': path,
'encoding': scaleInfo.encoding
});
return chunkManager.getChunkSource(
VolumeChunkSource, cacheKey,
() => new VolumeChunkSource(
chunkManager, spec, this.baseUrls, path, scaleInfo.encoding));
});
示例3: getShardedVolume
export function getShardedVolume(hostnames: string[], path: string) {
let match = path.match(pathPattern);
if (match === null) {
throw new Error(`Invalid volume path ${JSON.stringify(path)}`);
}
// Warning: If additional arguments are added, fullKey should be updated as well.
let fullKey = stableStringify({'hostnames': hostnames, 'path': path});
let existingResult = existingVolumes.get(fullKey);
if (existingResult !== undefined) {
return existingResult;
}
let key = match[1];
let channel = match[2];
let promise =
getVolumeInfo(hostnames, key)
.then(response => new MultiscaleVolumeChunkSource(hostnames, key, response, channel));
existingVolumes.set(fullKey, promise);
return promise;
}
示例4: getSources
getSources(chunkManager: ChunkManager) {
let sources: VolumeChunkSource[][] = [];
const {response, volumeType} = this;
const datasetObject = response['dataset'];
const encoding = volumeType === VolumeType.IMAGE ? 'jpeg' : 'npz';
for (let resolution of Object.keys(datasetObject['neariso_imagesize'])) {
let imageSize = parseIntVec(vec3.create(), datasetObject['neariso_imagesize'][resolution]);
let voxelSize = parseFiniteVec(vec3.create(), datasetObject['neariso_voxelres'][resolution]);
let alternatives: VolumeChunkSource[] = [];
sources.push(alternatives);
// The returned offset for downsampled resolutions can have non-integer components. It
// appears that the true offset is obtained by rounding up.
let origLowerVoxelBound =
parseFiniteVec(vec3.create(), datasetObject['neariso_offset'][resolution]);
let lowerVoxelBound = vec3.create();
let upperVoxelBound = vec3.create();
for (let i = 0; i < 3; ++i) {
let origLower = origLowerVoxelBound[i];
lowerVoxelBound[i] = Math.ceil(origLower);
upperVoxelBound[i] = Math.floor(origLower + imageSize[i]);
}
for (let spec of VolumeChunkSpecification.getDefaults({
volumeType,
voxelSize,
dataType: this.dataType, lowerVoxelBound, upperVoxelBound
})) {
let cacheKey = stableStringify(
{'spec': spec, key: this.key, channel: this.channel, resolution: resolution});
alternatives.push(chunkManager.getChunkSource(
VolumeChunkSource, cacheKey,
() => new VolumeChunkSource(
chunkManager, spec, this.hostnames, this.key, this.channel, resolution, encoding)));
}
}
return sources;
}
示例5: get
static get(chunkManager: ChunkManager, spec: VolumeChunkSpecification, parameters: Parameters) {
return chunkManager.getChunkSource(
this, stableStringify({parameters, spec: spec.toObject()}),
() => new this(chunkManager, spec, parameters));
}