@e22m4u/js-repository 0.1.13 → 0.1.15
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.
- package/.eslintignore +0 -1
- package/.husky/pre-commit +0 -2
- package/LICENSE +1 -1
- package/README.md +53 -11
- package/package.json +26 -27
- package/src/adapter/decorator/data-transformation-decorator.js +10 -10
- package/src/adapter/decorator/data-transformation-decorator.spec.js +150 -52
- package/src/definition/model/model-data-transformer.d.ts +2 -1
- package/src/definition/model/model-data-transformer.js +26 -17
- package/src/definition/model/model-data-transformer.spec.js +118 -0
- package/src/definition/model/properties/property-transformer/property-transformer.d.ts +3 -1
- package/src/types.d.ts +7 -0
- package/src/utils/index.d.ts +2 -0
- package/src/utils/index.js +2 -0
- package/src/utils/is-promise.d.ts +10 -0
- package/src/utils/is-promise.js +13 -0
- package/src/utils/is-promise.spec.js +23 -0
- package/src/utils/transform-promise.d.ts +13 -0
- package/src/utils/transform-promise.js +15 -0
- package/src/utils/transform-promise.spec.js +20 -0
- package/docs/.nojekyll +0 -1
- package/docs/assets/highlight.css +0 -99
- package/docs/assets/main.js +0 -59
- package/docs/assets/navigation.js +0 -1
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1414
- package/docs/classes/Adapter.html +0 -38
- package/docs/classes/AdapterLoader.html +0 -16
- package/docs/classes/AdapterRegistry.html +0 -16
- package/docs/classes/BelongsToResolver.html +0 -18
- package/docs/classes/DatasourceDefinitionValidator.html +0 -16
- package/docs/classes/DefinitionRegistry.html +0 -26
- package/docs/classes/EmptyValuesDefiner.html +0 -18
- package/docs/classes/FieldsClauseTool.html +0 -20
- package/docs/classes/HasManyResolver.html +0 -20
- package/docs/classes/HasOneResolver.html +0 -20
- package/docs/classes/IncludeClauseTool.html +0 -24
- package/docs/classes/InvalidArgumentError.html +0 -16
- package/docs/classes/InvalidOperatorValueError.html +0 -16
- package/docs/classes/ModelDataSanitizer.html +0 -16
- package/docs/classes/ModelDataTransformer.html +0 -16
- package/docs/classes/ModelDataValidator.html +0 -16
- package/docs/classes/ModelDefinitionUtils.html +0 -48
- package/docs/classes/ModelDefinitionValidator.html +0 -16
- package/docs/classes/NotImplementedError.html +0 -16
- package/docs/classes/OperatorClauseTool.html +0 -72
- package/docs/classes/OrderClauseTool.html +0 -20
- package/docs/classes/PrimaryKeysDefinitionValidator.html +0 -16
- package/docs/classes/PropertiesDefinitionValidator.html +0 -16
- package/docs/classes/PropertyTransformerRegistry.html +0 -20
- package/docs/classes/PropertyUniquenessValidator.html +0 -16
- package/docs/classes/PropertyValidatorRegistry.html +0 -20
- package/docs/classes/ReferencesManyResolver.html +0 -16
- package/docs/classes/RelationsDefinitionValidator.html +0 -16
- package/docs/classes/Repository.html +0 -48
- package/docs/classes/RepositoryRegistry.html +0 -18
- package/docs/classes/Schema.html +0 -20
- package/docs/classes/SliceClauseTool.html +0 -20
- package/docs/classes/WhereClauseTool.html +0 -18
- package/docs/enums/DataType.html +0 -8
- package/docs/enums/DecoratorTargetType.html +0 -11
- package/docs/enums/PropertyUniqueness.html +0 -5
- package/docs/enums/RelationType.html +0 -6
- package/docs/functions/capitalize.html +0 -2
- package/docs/functions/cloneDeep.html +0 -2
- package/docs/functions/excludeObjectKeys.html +0 -2
- package/docs/functions/getCtorName.html +0 -2
- package/docs/functions/getDecoratorTargetType.html +0 -2
- package/docs/functions/getValueByPath.html +0 -2
- package/docs/functions/isCtor.html +0 -3
- package/docs/functions/isDeepEqual.html +0 -2
- package/docs/functions/isPureObject.html +0 -2
- package/docs/functions/selectObjectKeys.html +0 -2
- package/docs/functions/singularize.html +0 -2
- package/docs/functions/stringToRegexp.html +0 -2
- package/docs/index.html +0 -373
- package/docs/interfaces/AndClause.html +0 -5
- package/docs/interfaces/Constructor.html +0 -4
- package/docs/interfaces/OrClause.html +0 -5
- package/docs/modules.html +0 -97
- package/docs/types/AnyObject.html +0 -2
- package/docs/types/BelongsToDefinition.html +0 -6
- package/docs/types/CountMethod.html +0 -2
- package/docs/types/DEFAULT_PRIMARY_KEY_PROPERTY_NAME.html +0 -2
- package/docs/types/DatasourceDefinition.html +0 -2
- package/docs/types/FieldsClause.html +0 -4
- package/docs/types/FilterClause.html +0 -2
- package/docs/types/Flatten.html +0 -1
- package/docs/types/FullPropertyDefinition.html +0 -2
- package/docs/types/HasManyDefinition.html +0 -4
- package/docs/types/HasOneDefinition.html +0 -4
- package/docs/types/Identity.html +0 -2
- package/docs/types/IncludeClause.html +0 -14
- package/docs/types/ItemFilterClause.html +0 -2
- package/docs/types/ModelData.html +0 -2
- package/docs/types/ModelDefinition.html +0 -2
- package/docs/types/ModelId.html +0 -2
- package/docs/types/NestedIncludeClause.html +0 -10
- package/docs/types/NormalizedFieldsClause.html +0 -4
- package/docs/types/NormalizedIncludeClause.html +0 -6
- package/docs/types/OperatorClause.html +0 -4
- package/docs/types/OptionalUnlessRequiredId.html +0 -2
- package/docs/types/OrderClause.html +0 -4
- package/docs/types/PartialBy.html +0 -2
- package/docs/types/PartialWithoutId.html +0 -2
- package/docs/types/PolyBelongsToDefinition.html +0 -6
- package/docs/types/PolyHasManyDefinitionWithTargetKeys.html +0 -4
- package/docs/types/PolyHasManyDefinitionWithTargetRelationName.html +0 -4
- package/docs/types/PolyHasOneDefinitionWithTargetKeys.html +0 -4
- package/docs/types/PolyHasOneDefinitionWithTargetRelationName.html +0 -4
- package/docs/types/PropertiesClause.html +0 -4
- package/docs/types/PropertyDefinition.html +0 -2
- package/docs/types/PropertyDefinitionMap.html +0 -2
- package/docs/types/PropertyTransformOptions.html +0 -2
- package/docs/types/PropertyTransformer.html +0 -2
- package/docs/types/PropertyTransformerContext.html +0 -2
- package/docs/types/PropertyValidateOptions.html +0 -2
- package/docs/types/PropertyValidator.html +0 -2
- package/docs/types/PropertyValidatorContext.html +0 -2
- package/docs/types/ReferencesManyDefinition.html +0 -6
- package/docs/types/RelationDefinition.html +0 -4
- package/docs/types/RelationDefinitionMap.html +0 -2
- package/docs/types/WhereClause.html +0 -4
- package/docs/types/WithoutId.html +0 -2
- package/typedoc.json +0 -4
|
@@ -165,6 +165,40 @@ describe('ModelDataTransformer', function () {
|
|
|
165
165
|
const res = T.transform('model', {}, true);
|
|
166
166
|
expect(res).to.be.eql({});
|
|
167
167
|
});
|
|
168
|
+
|
|
169
|
+
it('transforms the property value by its asynchronous transformer', async function () {
|
|
170
|
+
const schema = new Schema();
|
|
171
|
+
const myTransformer1 = (value, options) => {
|
|
172
|
+
expect(options).to.be.undefined;
|
|
173
|
+
return Promise.resolve(`${value}2`);
|
|
174
|
+
};
|
|
175
|
+
const myTransformer2 = (value, options) => {
|
|
176
|
+
expect(options).to.be.undefined;
|
|
177
|
+
return Promise.resolve(`${value}3`);
|
|
178
|
+
};
|
|
179
|
+
schema
|
|
180
|
+
.getService(PropertyTransformerRegistry)
|
|
181
|
+
.addTransformer('myTransformer1', myTransformer1)
|
|
182
|
+
.addTransformer('myTransformer2', myTransformer2);
|
|
183
|
+
schema.defineModel({
|
|
184
|
+
name: 'model',
|
|
185
|
+
properties: {
|
|
186
|
+
foo: {
|
|
187
|
+
type: DataType.STRING,
|
|
188
|
+
transform: 'myTransformer1',
|
|
189
|
+
},
|
|
190
|
+
bar: {
|
|
191
|
+
type: DataType.STRING,
|
|
192
|
+
transform: 'myTransformer2',
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
const T = schema.getService(ModelDataTransformer);
|
|
197
|
+
const promise = T.transform('model', {foo: '1', bar: '2'});
|
|
198
|
+
expect(promise).to.be.instanceof(Promise);
|
|
199
|
+
const res = await promise;
|
|
200
|
+
expect(res).to.be.eql({foo: '12', bar: '23'});
|
|
201
|
+
});
|
|
168
202
|
});
|
|
169
203
|
|
|
170
204
|
describe('the option "transform" with an array value', function () {
|
|
@@ -316,6 +350,45 @@ describe('ModelDataTransformer', function () {
|
|
|
316
350
|
const res = T.transform('model', {}, true);
|
|
317
351
|
expect(res).to.be.eql({});
|
|
318
352
|
});
|
|
353
|
+
|
|
354
|
+
it('transforms the property value by its asynchronous transformers', async function () {
|
|
355
|
+
const schema = new Schema();
|
|
356
|
+
const myTransformer1 = (value, options) => {
|
|
357
|
+
expect(options).to.be.undefined;
|
|
358
|
+
return Promise.resolve(`${value}2`);
|
|
359
|
+
};
|
|
360
|
+
const myTransformer2 = (value, options) => {
|
|
361
|
+
expect(options).to.be.undefined;
|
|
362
|
+
return Promise.resolve(`${value}3`);
|
|
363
|
+
};
|
|
364
|
+
const myTransformer3 = (value, options) => {
|
|
365
|
+
expect(options).to.be.undefined;
|
|
366
|
+
return Promise.resolve(`${value}4`);
|
|
367
|
+
};
|
|
368
|
+
schema
|
|
369
|
+
.getService(PropertyTransformerRegistry)
|
|
370
|
+
.addTransformer('myTransformer1', myTransformer1)
|
|
371
|
+
.addTransformer('myTransformer2', myTransformer2)
|
|
372
|
+
.addTransformer('myTransformer3', myTransformer3);
|
|
373
|
+
schema.defineModel({
|
|
374
|
+
name: 'model',
|
|
375
|
+
properties: {
|
|
376
|
+
foo: {
|
|
377
|
+
type: DataType.STRING,
|
|
378
|
+
transform: ['myTransformer1', 'myTransformer2'],
|
|
379
|
+
},
|
|
380
|
+
bar: {
|
|
381
|
+
type: DataType.STRING,
|
|
382
|
+
transform: ['myTransformer2', 'myTransformer3'],
|
|
383
|
+
},
|
|
384
|
+
},
|
|
385
|
+
});
|
|
386
|
+
const T = schema.getService(ModelDataTransformer);
|
|
387
|
+
const promise = T.transform('model', {foo: '1', bar: '2'});
|
|
388
|
+
expect(promise).to.be.instanceof(Promise);
|
|
389
|
+
const res = await promise;
|
|
390
|
+
expect(res).to.be.eql({foo: '123', bar: '234'});
|
|
391
|
+
});
|
|
319
392
|
});
|
|
320
393
|
|
|
321
394
|
describe('the option "transform" with an object value', function () {
|
|
@@ -484,6 +557,51 @@ describe('ModelDataTransformer', function () {
|
|
|
484
557
|
const res = T.transform('model', {}, true);
|
|
485
558
|
expect(res).to.be.eql({});
|
|
486
559
|
});
|
|
560
|
+
|
|
561
|
+
it('transforms the property value by its asynchronous transformers', async function () {
|
|
562
|
+
const schema = new Schema();
|
|
563
|
+
const myTransformer1 = (value, options) => {
|
|
564
|
+
expect(options).to.be.eq('foo');
|
|
565
|
+
return Promise.resolve(`${value}2`);
|
|
566
|
+
};
|
|
567
|
+
const myTransformer2 = (value, options) => {
|
|
568
|
+
expect(options).to.be.eq('bar');
|
|
569
|
+
return Promise.resolve(`${value}3`);
|
|
570
|
+
};
|
|
571
|
+
const myTransformer3 = (value, options) => {
|
|
572
|
+
expect(options).to.be.eq('baz');
|
|
573
|
+
return Promise.resolve(`${value}4`);
|
|
574
|
+
};
|
|
575
|
+
schema
|
|
576
|
+
.getService(PropertyTransformerRegistry)
|
|
577
|
+
.addTransformer('myTransformer1', myTransformer1)
|
|
578
|
+
.addTransformer('myTransformer2', myTransformer2)
|
|
579
|
+
.addTransformer('myTransformer3', myTransformer3);
|
|
580
|
+
schema.defineModel({
|
|
581
|
+
name: 'model',
|
|
582
|
+
properties: {
|
|
583
|
+
foo: {
|
|
584
|
+
type: DataType.STRING,
|
|
585
|
+
transform: {
|
|
586
|
+
myTransformer1: 'foo',
|
|
587
|
+
myTransformer2: 'bar',
|
|
588
|
+
},
|
|
589
|
+
},
|
|
590
|
+
bar: {
|
|
591
|
+
type: DataType.STRING,
|
|
592
|
+
transform: {
|
|
593
|
+
myTransformer2: 'bar',
|
|
594
|
+
myTransformer3: 'baz',
|
|
595
|
+
},
|
|
596
|
+
},
|
|
597
|
+
},
|
|
598
|
+
});
|
|
599
|
+
const T = schema.getService(ModelDataTransformer);
|
|
600
|
+
const promise = T.transform('model', {foo: '1', bar: '2'});
|
|
601
|
+
expect(promise).to.be.instanceof(Promise);
|
|
602
|
+
const res = await promise;
|
|
603
|
+
expect(res).to.be.eql({foo: '123', bar: '234'});
|
|
604
|
+
});
|
|
487
605
|
});
|
|
488
606
|
|
|
489
607
|
it('the option "transform" requires a non-empty String, an Array or an Object', function () {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import {ValueOrPromise} from '../../../../types.js';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Property transformer context.
|
|
3
5
|
*/
|
|
@@ -14,7 +16,7 @@ export declare type PropertyTransformer = (
|
|
|
14
16
|
value: unknown,
|
|
15
17
|
options: unknown,
|
|
16
18
|
context: PropertyTransformerContext,
|
|
17
|
-
) =>
|
|
19
|
+
) => ValueOrPromise<unknown>;
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* Property transform options.
|
package/src/types.d.ts
CHANGED
|
@@ -36,3 +36,10 @@ export declare type Flatten<T> = Identity<{[k in keyof T]: T[k]}>;
|
|
|
36
36
|
export interface Constructor<T = unknown> {
|
|
37
37
|
new (...args: any[]): T;
|
|
38
38
|
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Representing a value or promise. This type is used
|
|
42
|
+
* to represent results of synchronous/asynchronous
|
|
43
|
+
* resolution of values.
|
|
44
|
+
*/
|
|
45
|
+
export type ValueOrPromise<T> = T | PromiseLike<T>;
|
package/src/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './is-ctor.js';
|
|
2
|
+
export * from './is-promise.js';
|
|
2
3
|
export * from './capitalize.js';
|
|
3
4
|
export * from './clone-deep.js';
|
|
4
5
|
export * from './singularize.js';
|
|
@@ -7,6 +8,7 @@ export * from './get-ctor-name.js';
|
|
|
7
8
|
export * from './is-pure-object.js';
|
|
8
9
|
export * from './string-to-regexp.js';
|
|
9
10
|
export * from './get-value-by-path.js';
|
|
11
|
+
export * from './transform-promise.js';
|
|
10
12
|
export * from './select-object-keys.js';
|
|
11
13
|
export * from './exclude-object-keys.js';
|
|
12
14
|
export * from './get-decorator-target-type.js';
|
package/src/utils/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './is-ctor.js';
|
|
2
|
+
export * from './is-promise.js';
|
|
2
3
|
export * from './capitalize.js';
|
|
3
4
|
export * from './clone-deep.js';
|
|
4
5
|
export * from './singularize.js';
|
|
@@ -7,6 +8,7 @@ export * from './get-ctor-name.js';
|
|
|
7
8
|
export * from './is-pure-object.js';
|
|
8
9
|
export * from './string-to-regexp.js';
|
|
9
10
|
export * from './get-value-by-path.js';
|
|
11
|
+
export * from './transform-promise.js';
|
|
10
12
|
export * from './select-object-keys.js';
|
|
11
13
|
export * from './exclude-object-keys.js';
|
|
12
14
|
export * from './get-decorator-target-type.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check whether a value is a Promise-like
|
|
3
|
+
* instance. Recognizes both native promises
|
|
4
|
+
* and third-party promise libraries.
|
|
5
|
+
*
|
|
6
|
+
* @param value
|
|
7
|
+
*/
|
|
8
|
+
export declare function isPromise<T>(
|
|
9
|
+
value: T | PromiseLike<T> | undefined
|
|
10
|
+
): value is PromiseLike<T>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check whether a value is a Promise-like
|
|
3
|
+
* instance. Recognizes both native promises
|
|
4
|
+
* and third-party promise libraries.
|
|
5
|
+
*
|
|
6
|
+
* @param {*} value
|
|
7
|
+
* @returns {boolean}
|
|
8
|
+
*/
|
|
9
|
+
export function isPromise(value) {
|
|
10
|
+
if (!value) return false;
|
|
11
|
+
if (typeof value !== 'object') return false;
|
|
12
|
+
return typeof value.then === 'function';
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {expect} from 'chai';
|
|
2
|
+
import {describe} from 'mocha';
|
|
3
|
+
import {isPromise} from './is-promise.js';
|
|
4
|
+
|
|
5
|
+
describe('isPromise', () => {
|
|
6
|
+
it('returns true if the given value has type of PromiseLike', function () {
|
|
7
|
+
expect(isPromise(Promise.resolve())).to.be.true;
|
|
8
|
+
expect(isPromise('string')).to.be.false;
|
|
9
|
+
expect(isPromise('')).to.be.false;
|
|
10
|
+
expect(isPromise(10)).to.be.false;
|
|
11
|
+
expect(isPromise(0)).to.be.false;
|
|
12
|
+
expect(isPromise(true)).to.be.false;
|
|
13
|
+
expect(isPromise(false)).to.be.false;
|
|
14
|
+
expect(isPromise(undefined)).to.be.false;
|
|
15
|
+
expect(isPromise(null)).to.be.false;
|
|
16
|
+
expect(isPromise({foo: 'bar'})).to.be.false;
|
|
17
|
+
expect(isPromise({})).to.be.false;
|
|
18
|
+
expect(isPromise([1, 2, 3])).to.be.false;
|
|
19
|
+
expect(isPromise([])).to.be.false;
|
|
20
|
+
expect(isPromise(NaN)).to.be.false;
|
|
21
|
+
expect(isPromise(() => 10)).to.be.false;
|
|
22
|
+
});
|
|
23
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {ValueOrPromise} from '../types.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Transform a value or promise with a function that
|
|
5
|
+
* produces a new value or promise.
|
|
6
|
+
*
|
|
7
|
+
* @param valueOrPromise
|
|
8
|
+
* @param transformer
|
|
9
|
+
*/
|
|
10
|
+
export declare function transformPromise<T, V>(
|
|
11
|
+
valueOrPromise: ValueOrPromise<T>,
|
|
12
|
+
transformer: (val: T) => ValueOrPromise<V>,
|
|
13
|
+
): ValueOrPromise<V>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {isPromise} from './is-promise.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Transform a value or promise with a function that
|
|
5
|
+
* produces a new value or promise.
|
|
6
|
+
*
|
|
7
|
+
* @param {*} valueOrPromise
|
|
8
|
+
* @param {Function} transformer
|
|
9
|
+
* @returns {*}
|
|
10
|
+
*/
|
|
11
|
+
export function transformPromise(valueOrPromise, transformer) {
|
|
12
|
+
return isPromise(valueOrPromise)
|
|
13
|
+
? valueOrPromise.then(transformer)
|
|
14
|
+
: transformer(valueOrPromise);
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {expect} from 'chai';
|
|
2
|
+
import {describe} from 'mocha';
|
|
3
|
+
import {transformPromise} from './transform-promise.js';
|
|
4
|
+
|
|
5
|
+
describe('transformPromise', function () {
|
|
6
|
+
it('transforms the given value', function () {
|
|
7
|
+
const value = 'my-value';
|
|
8
|
+
const transformer = v => v.toUpperCase();
|
|
9
|
+
const result = transformPromise(value, transformer);
|
|
10
|
+
expect(result).to.be.eq('MY-VALUE');
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('transforms the given promise', async function () {
|
|
14
|
+
const promise = Promise.resolve('my-value');
|
|
15
|
+
const transformer = v => v.toUpperCase();
|
|
16
|
+
const result = await transformPromise(promise, transformer);
|
|
17
|
+
await promise;
|
|
18
|
+
expect(result).to.be.eq('MY-VALUE');
|
|
19
|
+
});
|
|
20
|
+
});
|
package/docs/.nojekyll
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--light-hl-0: #795E26;
|
|
3
|
-
--dark-hl-0: #DCDCAA;
|
|
4
|
-
--light-hl-1: #000000;
|
|
5
|
-
--dark-hl-1: #D4D4D4;
|
|
6
|
-
--light-hl-2: #A31515;
|
|
7
|
-
--dark-hl-2: #CE9178;
|
|
8
|
-
--light-hl-3: #AF00DB;
|
|
9
|
-
--dark-hl-3: #C586C0;
|
|
10
|
-
--light-hl-4: #001080;
|
|
11
|
-
--dark-hl-4: #9CDCFE;
|
|
12
|
-
--light-hl-5: #008000;
|
|
13
|
-
--dark-hl-5: #6A9955;
|
|
14
|
-
--light-hl-6: #0000FF;
|
|
15
|
-
--dark-hl-6: #569CD6;
|
|
16
|
-
--light-hl-7: #0070C1;
|
|
17
|
-
--dark-hl-7: #4FC1FF;
|
|
18
|
-
--light-hl-8: #098658;
|
|
19
|
-
--dark-hl-8: #B5CEA8;
|
|
20
|
-
--light-hl-9: #267F99;
|
|
21
|
-
--dark-hl-9: #4EC9B0;
|
|
22
|
-
--light-hl-10: #000000;
|
|
23
|
-
--dark-hl-10: #C8C8C8;
|
|
24
|
-
--light-code-background: #FFFFFF;
|
|
25
|
-
--dark-code-background: #1E1E1E;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@media (prefers-color-scheme: light) { :root {
|
|
29
|
-
--hl-0: var(--light-hl-0);
|
|
30
|
-
--hl-1: var(--light-hl-1);
|
|
31
|
-
--hl-2: var(--light-hl-2);
|
|
32
|
-
--hl-3: var(--light-hl-3);
|
|
33
|
-
--hl-4: var(--light-hl-4);
|
|
34
|
-
--hl-5: var(--light-hl-5);
|
|
35
|
-
--hl-6: var(--light-hl-6);
|
|
36
|
-
--hl-7: var(--light-hl-7);
|
|
37
|
-
--hl-8: var(--light-hl-8);
|
|
38
|
-
--hl-9: var(--light-hl-9);
|
|
39
|
-
--hl-10: var(--light-hl-10);
|
|
40
|
-
--code-background: var(--light-code-background);
|
|
41
|
-
} }
|
|
42
|
-
|
|
43
|
-
@media (prefers-color-scheme: dark) { :root {
|
|
44
|
-
--hl-0: var(--dark-hl-0);
|
|
45
|
-
--hl-1: var(--dark-hl-1);
|
|
46
|
-
--hl-2: var(--dark-hl-2);
|
|
47
|
-
--hl-3: var(--dark-hl-3);
|
|
48
|
-
--hl-4: var(--dark-hl-4);
|
|
49
|
-
--hl-5: var(--dark-hl-5);
|
|
50
|
-
--hl-6: var(--dark-hl-6);
|
|
51
|
-
--hl-7: var(--dark-hl-7);
|
|
52
|
-
--hl-8: var(--dark-hl-8);
|
|
53
|
-
--hl-9: var(--dark-hl-9);
|
|
54
|
-
--hl-10: var(--dark-hl-10);
|
|
55
|
-
--code-background: var(--dark-code-background);
|
|
56
|
-
} }
|
|
57
|
-
|
|
58
|
-
:root[data-theme='light'] {
|
|
59
|
-
--hl-0: var(--light-hl-0);
|
|
60
|
-
--hl-1: var(--light-hl-1);
|
|
61
|
-
--hl-2: var(--light-hl-2);
|
|
62
|
-
--hl-3: var(--light-hl-3);
|
|
63
|
-
--hl-4: var(--light-hl-4);
|
|
64
|
-
--hl-5: var(--light-hl-5);
|
|
65
|
-
--hl-6: var(--light-hl-6);
|
|
66
|
-
--hl-7: var(--light-hl-7);
|
|
67
|
-
--hl-8: var(--light-hl-8);
|
|
68
|
-
--hl-9: var(--light-hl-9);
|
|
69
|
-
--hl-10: var(--light-hl-10);
|
|
70
|
-
--code-background: var(--light-code-background);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
:root[data-theme='dark'] {
|
|
74
|
-
--hl-0: var(--dark-hl-0);
|
|
75
|
-
--hl-1: var(--dark-hl-1);
|
|
76
|
-
--hl-2: var(--dark-hl-2);
|
|
77
|
-
--hl-3: var(--dark-hl-3);
|
|
78
|
-
--hl-4: var(--dark-hl-4);
|
|
79
|
-
--hl-5: var(--dark-hl-5);
|
|
80
|
-
--hl-6: var(--dark-hl-6);
|
|
81
|
-
--hl-7: var(--dark-hl-7);
|
|
82
|
-
--hl-8: var(--dark-hl-8);
|
|
83
|
-
--hl-9: var(--dark-hl-9);
|
|
84
|
-
--hl-10: var(--dark-hl-10);
|
|
85
|
-
--code-background: var(--dark-code-background);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.hl-0 { color: var(--hl-0); }
|
|
89
|
-
.hl-1 { color: var(--hl-1); }
|
|
90
|
-
.hl-2 { color: var(--hl-2); }
|
|
91
|
-
.hl-3 { color: var(--hl-3); }
|
|
92
|
-
.hl-4 { color: var(--hl-4); }
|
|
93
|
-
.hl-5 { color: var(--hl-5); }
|
|
94
|
-
.hl-6 { color: var(--hl-6); }
|
|
95
|
-
.hl-7 { color: var(--hl-7); }
|
|
96
|
-
.hl-8 { color: var(--hl-8); }
|
|
97
|
-
.hl-9 { color: var(--hl-9); }
|
|
98
|
-
.hl-10 { color: var(--hl-10); }
|
|
99
|
-
pre, code { background: var(--code-background); }
|
package/docs/assets/main.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use strict";(()=>{var Ie=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ie(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var s=r[i],o=e[s];if(Array.isArray(o)){n[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){n[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return n},t.FieldRef=function(e,n,r){this.docRef=e,this.fieldName=n,this._stringValue=r},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var n=e.indexOf(t.FieldRef.joiner);if(n===-1)throw"malformed field ref string";var r=e.slice(0,n),i=e.slice(n+1);return new t.FieldRef(i,r,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var n=0;n<this.length;n++)this.elements[e[n]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var n,r,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(n=this,r=e):(n=e,r=this),i=Object.keys(n.elements);for(var o=0;o<i.length;o++){var a=i[o];a in r.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,n){var r=0;for(var i in e)i!="_index"&&(r+=Object.keys(e[i]).length);var s=(n-r+.5)/(r+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,n){this.str=e||"",this.metadata=n||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(n){return n},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,n){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(v){return new t.Token(t.utils.asString(v).toLowerCase(),t.utils.clone(n))});for(var r=e.toString().toLowerCase(),i=r.length,s=[],o=0,a=0;o<=i;o++){var l=r.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
|
|
3
|
-
`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r<n;r++){for(var i=this._stack[r],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,n){var r=new t.Token(e,n);return this.run([r]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var n=0,r=this.elements.length/2,i=r-n,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(n=s),o>e&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,n){this.upsert(e,n,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,n,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],n):this.elements.splice(i,0,e,n)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,n=this.elements.length,r=1;r<n;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var n=0,r=this.elements,i=e.elements,s=r.length,o=i.length,a=0,l=0,u=0,d=0;u<s&&d<o;)a=r[u],l=i[d],a<l?u+=2:a>l?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n<this.elements.length;n+=2,r++)e[r]=this.elements[n];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},n={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},r="[^aeiou]",i="[aeiouy]",s=r+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,d="^("+s+")?"+i,v=new RegExp(a),f=new RegExp(u),b=new RegExp(l),g=new RegExp(d),L=/^(.+?)(ss|i)es$/,p=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,S=/^(.+?)(ed|ing)$/,w=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),B=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,$=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,N=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,q=/^(.+?)(s|t)(ion)$/,I=/^(.+?)e$/,z=/ll$/,W=new RegExp("^"+s+i+"[^aeiouwxy]$"),V=function(c){var y,P,T,h,x,O,M;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),h=L,x=p,h.test(c)?c=c.replace(h,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),h=m,x=S,h.test(c)){var E=h.exec(c);h=v,h.test(E[1])&&(h=w,c=c.replace(h,""))}else if(x.test(c)){var E=x.exec(c);y=E[1],x=g,x.test(y)&&(c=y,x=k,O=_,M=B,x.test(c)?c=c+"e":O.test(c)?(h=w,c=c.replace(h,"")):M.test(c)&&(c=c+"e"))}if(h=A,h.test(c)){var E=h.exec(c);y=E[1],c=y+"i"}if(h=j,h.test(c)){var E=h.exec(c);y=E[1],P=E[2],h=v,h.test(y)&&(c=y+e[P])}if(h=$,h.test(c)){var E=h.exec(c);y=E[1],P=E[2],h=v,h.test(y)&&(c=y+n[P])}if(h=N,x=q,h.test(c)){var E=h.exec(c);y=E[1],h=f,h.test(y)&&(c=y)}else if(x.test(c)){var E=x.exec(c);y=E[1]+E[2],x=f,x.test(y)&&(c=y)}if(h=I,h.test(c)){var E=h.exec(c);y=E[1],h=f,x=b,O=W,(h.test(y)||x.test(y)&&!O.test(y))&&(c=y)}return h=z,x=f,h.test(c)&&x.test(c)&&(h=w,c=c.replace(h,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(R){return R.update(V)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var n=e.reduce(function(r,i){return r[i]=i,r},{});return function(r){if(r&&n[r.toString()]!==r.toString())return r}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(n){return n.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var n=new t.TokenSet.Builder,r=0,i=e.length;r<i;r++)n.insert(e[r]);return n.finish(),n.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,n){for(var r=new t.TokenSet,i=[{node:r,editsRemaining:n,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")n.edges[o]=n,n.final=a;else{var l=new t.TokenSet;l.final=a,n.edges[o]=l,n=l}}return r},t.TokenSet.prototype.toArray=function(){for(var e=[],n=[{prefix:"",node:this}];n.length;){var r=n.pop(),i=Object.keys(r.node.edges),s=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var o=0;o<s;o++){var a=i[o];n.push({prefix:r.prefix.concat(a),node:r.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",n=Object.keys(this.edges).sort(),r=n.length,i=0;i<r;i++){var s=n[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var n=new t.TokenSet,r=void 0,i=[{qNode:e,output:n,node:this}];i.length;){r=i.pop();for(var s=Object.keys(r.qNode.edges),o=s.length,a=Object.keys(r.node.edges),l=a.length,u=0;u<o;u++)for(var d=s[u],v=0;v<l;v++){var f=a[v];if(f==d||d=="*"){var b=r.node.edges[f],g=r.qNode.edges[d],L=b.final&&g.final,p=void 0;f in r.output.edges?(p=r.output.edges[f],p.final=p.final||L):(p=new t.TokenSet,p.final=L,r.output.edges[f]=p),i.push({qNode:g,output:p,node:b})}}}return n},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var n,r=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)r++;this.minimize(r),this.uncheckedNodes.length==0?n=this.root:n=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=r;i<e.length;i++){var s=new t.TokenSet,o=e[i];n.edges[o]=s,this.uncheckedNodes.push({parent:n,char:o,child:s}),n=s}n.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var n=this.uncheckedNodes.length-1;n>=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(n,n);for(var l=0;l<n.clauses.length;l++){var u=n.clauses[l],d=null,v=t.Set.empty;u.usePipeline?d=this.pipeline.runString(u.term,{fields:u.fields}):d=[u.term];for(var f=0;f<d.length;f++){var b=d[f];u.term=b;var g=t.TokenSet.fromClause(u),L=this.tokenSet.intersect(g).toArray();if(L.length===0&&u.presence===t.Query.presence.REQUIRED){for(var p=0;p<u.fields.length;p++){var m=u.fields[p];o[m]=t.Set.empty}break}for(var S=0;S<L.length;S++)for(var w=L[S],k=this.invertedIndex[w],_=k._index,p=0;p<u.fields.length;p++){var m=u.fields[p],B=k[m],A=Object.keys(B),j=w+"/"+m,$=new t.Set(A);if(u.presence==t.Query.presence.REQUIRED&&(v=v.union($),o[m]===void 0&&(o[m]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[m]===void 0&&(a[m]=t.Set.empty),a[m]=a[m].union($);continue}if(i[m].upsert(_,u.boost,function(Qe,Ce){return Qe+Ce}),!s[j]){for(var N=0;N<A.length;N++){var q=A[N],I=new t.FieldRef(q,m),z=B[q],W;(W=r[I])===void 0?r[I]=new t.MatchData(w,m,z):W.add(w,m,z)}s[j]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var p=0;p<u.fields.length;p++){var m=u.fields[p];o[m]=o[m].intersect(v)}}for(var V=t.Set.complete,R=t.Set.empty,l=0;l<this.fields.length;l++){var m=this.fields[l];o[m]&&(V=V.intersect(o[m])),a[m]&&(R=R.union(a[m]))}var c=Object.keys(r),y=[],P=Object.create(null);if(n.isNegated()){c=Object.keys(this.fieldVectors);for(var l=0;l<c.length;l++){var I=c[l],T=t.FieldRef.fromString(I);r[I]=new t.MatchData}}for(var l=0;l<c.length;l++){var T=t.FieldRef.fromString(c[l]),h=T.docRef;if(V.contains(h)&&!R.contains(h)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),M;if((M=P[h])!==void 0)M.score+=O,M.matchData.combine(r[T]);else{var E={ref:h,score:O,matchData:r[T]};P[h]=E,y.push(E)}}}return y.sort(function(Te,ke){return ke.score-Te.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(r){return[r,this.invertedIndex[r]]},this),n=Object.keys(this.fieldVectors).map(function(r){return[r,this.fieldVectors[r].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:n,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var n={},r={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var d=i[u],v=d[0],f=d[1];r[v]=new t.Vector(f)}for(var u=0;u<o.length;u++){var d=o[u],b=d[0],g=d[1];a.insert(b),s[b]=g}return a.finish(),n.fields=e.fields,n.fieldVectors=r,n.invertedIndex=s,n.tokenSet=a.root,n.pipeline=l,new t.Index(n)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,n){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=n||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),d=this.pipeline.run(u),v=new t.FieldRef(r,o),f=Object.create(null);this.fieldTermFrequencies[v]=f,this.fieldLengths[v]=0,this.fieldLengths[v]+=d.length;for(var b=0;b<d.length;b++){var g=d[b];if(f[g]==null&&(f[g]=0),f[g]+=1,this.invertedIndex[g]==null){var L=Object.create(null);L._index=this.termIndex,this.termIndex+=1;for(var p=0;p<i.length;p++)L[i[p]]=Object.create(null);this.invertedIndex[g]=L}this.invertedIndex[g][o][r]==null&&(this.invertedIndex[g][o][r]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var S=this.metadataWhitelist[m],w=g.metadata[S];this.invertedIndex[g][o][r][S]==null&&(this.invertedIndex[g][o][r][S]=[]),this.invertedIndex[g][o][r][S].push(w)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),n=e.length,r={},i={},s=0;s<n;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,r[a]||(r[a]=0),r[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];r[u]=r[u]/i[u]}this.averageFieldLength=r},t.Builder.prototype.createFieldVectors=function(){for(var e={},n=Object.keys(this.fieldTermFrequencies),r=n.length,i=Object.create(null),s=0;s<r;s++){for(var o=t.FieldRef.fromString(n[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,d=this.fieldTermFrequencies[o],v=Object.keys(d),f=v.length,b=this._fields[a].boost||1,g=this._documents[o.docRef].boost||1,L=0;L<f;L++){var p=v[L],m=d[p],S=this.invertedIndex[p]._index,w,k,_;i[p]===void 0?(w=t.idf(this.invertedIndex[p],this.documentCount),i[p]=w):w=i[p],k=w*((this._k1+1)*m)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+m),k*=b,k*=g,_=Math.round(k*1e3)/1e3,u.insert(S,_)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var n=Array.prototype.slice.call(arguments,1);n.unshift(this),e.apply(this,n)},t.MatchData=function(e,n,r){for(var i=Object.create(null),s=Object.keys(r||{}),o=0;o<s.length;o++){var a=s[o];i[a]=r[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][n]=i)},t.MatchData.prototype.combine=function(e){for(var n=Object.keys(e.metadata),r=0;r<n.length;r++){var i=n[r],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var d=l[u];this.metadata[i][a][d]==null?this.metadata[i][a][d]=e.metadata[i][a][d]:this.metadata[i][a][d]=this.metadata[i][a][d].concat(e.metadata[i][a][d])}}}},t.MatchData.prototype.add=function(e,n,r){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][n]=r;return}if(!(n in this.metadata[e])){this.metadata[e][n]=r;return}for(var i=Object.keys(r),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][n]?this.metadata[e][n][o]=this.metadata[e][n][o].concat(r[o]):this.metadata[e][n][o]=r[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,n){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(n))},this),this;var r=n||{};return r.term=e.toString(),this.clause(r),this},t.QueryParseError=function(e,n,r){this.name="QueryParseError",this.message=e,this.start=n,this.end=r},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],n=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(n,r)),n=r+1;return e.push(this.str.slice(n,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;o<s.length;o++){let a=s[o],l=r.data.rows[Number(a.ref)],u=1;l.name.toLowerCase().startsWith(i.toLowerCase())&&(u*=1+1/(1+Math.abs(l.name.length-i.length))),a.score*=u}if(s.length===0){let o=document.createElement("li");o.classList.add("no-results");let a=document.createElement("span");a.textContent="No results found",o.appendChild(a),e.appendChild(o)}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let l=r.data.rows[Number(s[o].ref)],u=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-${l.kind}"></use></svg>`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=`<span class="parent">
|
|
4
|
-
${ce(l.parent,i)}.</span>${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`<b>${K(t.substring(o,o+r.length))}</b>`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",H="mouseup",J={x:0,y:0},fe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",pe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
|
|
5
|
-
`,this.updateIndexHeadingVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.updateIndexHeadingVisibility()}updateIndexHeadingVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=`<svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="tsd-kind-icon"><use href="#icon-${t.kind}"></use></svg>`),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})();
|
|
6
|
-
/*! Bundled license information:
|
|
7
|
-
|
|
8
|
-
lunr/lunr.js:
|
|
9
|
-
(**
|
|
10
|
-
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
|
|
11
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
12
|
-
* @license MIT
|
|
13
|
-
*)
|
|
14
|
-
(*!
|
|
15
|
-
* lunr.utils
|
|
16
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
17
|
-
*)
|
|
18
|
-
(*!
|
|
19
|
-
* lunr.Set
|
|
20
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
21
|
-
*)
|
|
22
|
-
(*!
|
|
23
|
-
* lunr.tokenizer
|
|
24
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
25
|
-
*)
|
|
26
|
-
(*!
|
|
27
|
-
* lunr.Pipeline
|
|
28
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
29
|
-
*)
|
|
30
|
-
(*!
|
|
31
|
-
* lunr.Vector
|
|
32
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
33
|
-
*)
|
|
34
|
-
(*!
|
|
35
|
-
* lunr.stemmer
|
|
36
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
37
|
-
* Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
|
|
38
|
-
*)
|
|
39
|
-
(*!
|
|
40
|
-
* lunr.stopWordFilter
|
|
41
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
42
|
-
*)
|
|
43
|
-
(*!
|
|
44
|
-
* lunr.trimmer
|
|
45
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
46
|
-
*)
|
|
47
|
-
(*!
|
|
48
|
-
* lunr.TokenSet
|
|
49
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
50
|
-
*)
|
|
51
|
-
(*!
|
|
52
|
-
* lunr.Index
|
|
53
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
54
|
-
*)
|
|
55
|
-
(*!
|
|
56
|
-
* lunr.Builder
|
|
57
|
-
* Copyright (C) 2020 Oliver Nightingale
|
|
58
|
-
*)
|
|
59
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA6WZXW/bNhSG/4uug2UN1m7LneO4mNE6NlynRTAMAScd29woUiGpImqx/z5IsiyKH4c0eqv3PQ+/DslD+8/vmYZXnd1m90STXVNBdpVVRB+z2wx4Xarr4ftPR12y7Cr7l/Iiu/3tv6sxEnIhiRZyR+QBtBfiWsK8jRQVSN08cvpSAwelbJzrCNO2wIimgvu6ZWphwqwglQY5BueMKAXq+iRMI9/ceGI/ClIghF5O4GzhQJWWTZA0GDDWHTDBD2ontqAE++rrl2PBeG2GKFHLHO5hTzltZ/QzYbRoF9xlo3a0nbM9PA2uByMuyko3nwmrQXWBvqlwPRjxPQVWqDkjtYKdEMzl2Q6M9gdRK8Kb8DpZhghrzQFFGTpGWvKc1QVgg3QsOO9ru/wzeahL4HohpS9tfK4E6rqC7uDpVhBHu1aMvxIFsDaXP5E24b755tT1JBF3knC1F7JEmYYriYpsSdcTJ5432qOmTIWYU9cF1GhvLzs7HoRelhWDNnWgCOSBx4Qxh3zBNoLrQYmyABw3NWCsjaQlkc0HaFTSrOJ+vKXuNqaQ2hBiT2inMRI/fBEg5pQ2xsoiPhKfOaWNszk+CseK8bewBwk8h8jl4ffh5L5eSltozI23UglFtfBNyKilEcJT63ow4qf8CCVxKf13NJLRHL0rLQPG+nIEibIsA1pR8qI3jhTKNcg9ydtyclCniJu37wzEXHClZZ1PVt+AGDqGWUukI4OIAWa8Wf/9D+R6JOim6kZxEqzon3//9c3bG19JPKaqzfJYYtS5qLlegT6KwqYZUoxyv3g/e/y4e95sl6vZ9un5w+LpebNdbxbb3dPzw2y1sNnRgGiLngrdacTjiXHN0tfmmVqcwzQ4STNwRi3KYURrcIZ2+hyNrhkbzufwPPldMfaprg9jHUMCcc2R9bT1GG9ZANdUNzZn+B6NN18IDsQUoyQNJZYRth7jnYthG3QW0gjBqbbkJNrSOUFOn2PRD6A0FOhseyxRqpAlYfQbFNie9rvS2Xiv/bYYfVqQ29CpGme160fYI2eg1BZeaiqhcJcq5Ivyx2rfQY5SjLIhUlPC7pytehYSCV+oPopau+Oz9ShPsCbhxg3YUujO8dj2rf/tsX3g+FqKhPxgq0Mt/EBKZy0vCE3sxeQkTxo6EvFjbSYMPCEy2ofzm9K/XWw9kYdcwJff6W7EilRx7IpUqeTzW7c/cNy1Dvgu5puvyQDafkgmUeeCd2IcfnKmtnF6d0JkYizbhXQRnJXAszeBGJkR2xfjT5/84ewO+eL8fs9iZNtxOdOzb7ymGNl4Lds8Q4pSQtdi8n2Yk4rqrpYZEfua510SXo/qlPPuFxPBRHuKQuUlDCICgNeuiOqfy9OLYgQ5JgR4AD3XQk7P/RFlyDgE/Xdxwov+yWijux/675pNy/IjDQeComo+2fwjolfQ0HZdFi81Yf74s4xCNrUE+ycQkzLqCEYBg1zjGWB7MBzlh5oRGUhrQ8YgWlJ+aP+HPMCrN7mnDgf11//VLRrA4h4AAA=="
|
package/docs/assets/search.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
window.searchData = "data:application/octet-stream;base64,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";
|