pointer-set
Advanced tools
Comparing version 1.0.4 to 1.0.5
@@ -49,2 +49,8 @@ declare const max16 = 65536; | ||
}; | ||
/** | ||
* The set of valid types for T when instantiating a PointerSet. | ||
* | ||
* Any value other than `undefined` | ||
*/ | ||
export type PointerSetValueType = {} | null; | ||
type FieldId = number & { | ||
@@ -92,3 +98,3 @@ [T]: 'fieldId'; | ||
*/ | ||
declare abstract class PointerSetBase<T extends {} | null, K extends readonly string[], R extends readonly string[] = []> { | ||
declare abstract class PointerSetBase<T extends PointerSetValueType, K extends readonly string[], R extends readonly string[] = []> { | ||
/** | ||
@@ -289,3 +295,3 @@ * Stack of blocks in the set | ||
*/ | ||
export declare class PointerSet<T extends {} | null, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSetBlock<T, K, R> { | ||
export declare class PointerSet<T extends PointerSetValueType, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSetBlock<T, K, R> { | ||
blocks: PointerSetBlock<T, K, R>[]; | ||
@@ -322,3 +328,3 @@ blocksAvail: Set<PointerSetBlock<T, K, R>>; | ||
*/ | ||
export declare class PointerSetBlock<T extends {} | null, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSet<T, K, R> { | ||
export declare class PointerSetBlock<T extends PointerSetValueType, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSet<T, K, R> { | ||
nextFree: Index; | ||
@@ -362,3 +368,3 @@ firstNextFree: FirstNextFree; | ||
*/ | ||
export declare const pointerSetInfer: <T extends {} | null>() => <K extends readonly string[], R extends readonly string[] = []>(fields: K, blockSize?: number, rawFields?: R | undefined) => PointerSet<T, K, R>; | ||
export declare const pointerSetInfer: <T extends PointerSetValueType>() => <K extends readonly string[], R extends readonly string[] = []>(fields: K, blockSize?: number, rawFields?: R | undefined) => PointerSet<T, K, R>; | ||
/** | ||
@@ -375,3 +381,3 @@ * Helper method for generating a class that infers the field and rawField | ||
export declare const PointerSetInferFields: <K extends readonly string[], R extends readonly string[] = []>(fields: K, rawFields?: R | undefined) => { | ||
new <T extends {} | null>(blockSize?: number): { | ||
new <T extends PointerSetValueType>(blockSize?: number): { | ||
blocks: PointerSetBlock<T, K, R>[]; | ||
@@ -378,0 +384,0 @@ blocksAvail: Set<PointerSetBlock<T, K, R>>; |
@@ -49,2 +49,8 @@ declare const max16 = 65536; | ||
}; | ||
/** | ||
* The set of valid types for T when instantiating a PointerSet. | ||
* | ||
* Any value other than `undefined` | ||
*/ | ||
export type PointerSetValueType = {} | null; | ||
type FieldId = number & { | ||
@@ -92,3 +98,3 @@ [T]: 'fieldId'; | ||
*/ | ||
declare abstract class PointerSetBase<T extends {} | null, K extends readonly string[], R extends readonly string[] = []> { | ||
declare abstract class PointerSetBase<T extends PointerSetValueType, K extends readonly string[], R extends readonly string[] = []> { | ||
/** | ||
@@ -289,3 +295,3 @@ * Stack of blocks in the set | ||
*/ | ||
export declare class PointerSet<T extends {} | null, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSetBlock<T, K, R> { | ||
export declare class PointerSet<T extends PointerSetValueType, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSetBlock<T, K, R> { | ||
blocks: PointerSetBlock<T, K, R>[]; | ||
@@ -322,3 +328,3 @@ blocksAvail: Set<PointerSetBlock<T, K, R>>; | ||
*/ | ||
export declare class PointerSetBlock<T extends {} | null, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSet<T, K, R> { | ||
export declare class PointerSetBlock<T extends PointerSetValueType, K extends readonly string[], R extends readonly string[] = []> extends PointerSetBase<T, K, R> implements PointerSet<T, K, R> { | ||
nextFree: Index; | ||
@@ -362,3 +368,3 @@ firstNextFree: FirstNextFree; | ||
*/ | ||
export declare const pointerSetInfer: <T extends {} | null>() => <K extends readonly string[], R extends readonly string[] = []>(fields: K, blockSize?: number, rawFields?: R | undefined) => PointerSet<T, K, R>; | ||
export declare const pointerSetInfer: <T extends PointerSetValueType>() => <K extends readonly string[], R extends readonly string[] = []>(fields: K, blockSize?: number, rawFields?: R | undefined) => PointerSet<T, K, R>; | ||
/** | ||
@@ -375,3 +381,3 @@ * Helper method for generating a class that infers the field and rawField | ||
export declare const PointerSetInferFields: <K extends readonly string[], R extends readonly string[] = []>(fields: K, rawFields?: R | undefined) => { | ||
new <T extends {} | null>(blockSize?: number): { | ||
new <T extends PointerSetValueType>(blockSize?: number): { | ||
blocks: PointerSetBlock<T, K, R>[]; | ||
@@ -378,0 +384,0 @@ blocksAvail: Set<PointerSetBlock<T, K, R>>; |
{ | ||
"name": "pointer-set", | ||
"version": "1.0.4", | ||
"version": "1.0.5", | ||
"description": "set of values with pointers to other entries, backed by auto=-expanding UintArray slabs", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
139044
2375