@opendaw/lib-box 0.0.49 → 0.0.51
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/dist/box.d.ts.map +1 -1
- package/dist/box.js +1 -1
- package/dist/constraints.d.ts +24 -0
- package/dist/constraints.d.ts.map +1 -0
- package/dist/constraints.js +49 -0
- package/dist/editing.d.ts +2 -2
- package/dist/editing.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/pointer.d.ts +2 -1
- package/dist/pointer.d.ts.map +1 -1
- package/dist/pointer.js +5 -0
- package/dist/primitive.d.ts +9 -2
- package/dist/primitive.d.ts.map +1 -1
- package/dist/primitive.js +28 -10
- package/package.json +5 -4
package/dist/box.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAMH,KAAK,EACL,SAAS,EACT,UAAU,EACV,IAAI,EACJ,GAAG,EAGH,SAAS,EAET,KAAK,EACL,MAAM,EACN,QAAQ,EAER,SAAS,EACT,YAAY,EACZ,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,SAAS,CAAA;AAC1D,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,WAAW,CAAA;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAExC,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAA;AAChC,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAKzC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI;IAC/C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAChC,CAAA;AAED,8BAAsB,GAAG,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,CAAC,SAAS,MAAM,GAAG,GAAG,CAAE,YAAW,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;;IAC5G,MAAM,CAAC,QAAQ,CAAC,cAAc,SAAQ;IAEtC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAQ;IAUzB,SAAS,aAAa,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAWxE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC;IAExC,QAAQ,CAAC,MAAM,CAAC,OAAO,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAE/H,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC;IAC9B,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../src/box.ts"],"names":[],"mappings":"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"}
|
package/dist/box.js
CHANGED
|
@@ -33,7 +33,7 @@ export class Box {
|
|
|
33
33
|
fields() { return Object.values(this.#fields); }
|
|
34
34
|
record() { return this.#fields; }
|
|
35
35
|
getField(key) {
|
|
36
|
-
return asDefined(this.#fields[key], `Field ${String(key)} not found in ${this.toString()}`);
|
|
36
|
+
return asDefined(this.#fields[key], () => `Field ${String(key)} not found in ${this.toString()}`);
|
|
37
37
|
}
|
|
38
38
|
optField(key) { return Option.wrap(this.#fields[key]); }
|
|
39
39
|
subscribe(propagation, procedure) {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { float, int } from "@opendaw/lib-std";
|
|
2
|
+
export declare namespace Constraints {
|
|
3
|
+
type Int32 = {
|
|
4
|
+
min: int;
|
|
5
|
+
max: int;
|
|
6
|
+
} | {
|
|
7
|
+
length: int;
|
|
8
|
+
} | {
|
|
9
|
+
values: Array<int>;
|
|
10
|
+
} | "non-negative" | "positive" | "index" | "any";
|
|
11
|
+
type Float32 = {
|
|
12
|
+
min: float;
|
|
13
|
+
max: float;
|
|
14
|
+
scaling: "linear" | "exponential";
|
|
15
|
+
} | {
|
|
16
|
+
min: float;
|
|
17
|
+
mid: float;
|
|
18
|
+
max: float;
|
|
19
|
+
scaling: "decibel";
|
|
20
|
+
} | "unipolar" | "bipolar" | "decibel" | "non-negative" | "positive" | "any";
|
|
21
|
+
const clampInt32: (constraint: Constraints.Int32, value: int) => int;
|
|
22
|
+
const clampFloat32: (constraint: Constraints.Float32, value: float) => float;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../src/constraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAE3C,yBAAiB,WAAW,CAAC;IACzB,KAAY,KAAK,GACX;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,GACtB;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,GACf;QAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;KAAE,GACtB,cAAc,GACd,UAAU,GACV,OAAO,GACP,KAAK,CAAA;IAEX,KAAY,OAAO,GACb;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,QAAQ,GAAG,aAAa,CAAA;KAAE,GAC7D;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,SAAS,CAAA;KAAE,GAC1D,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,KAAK,CAAA;IAKvE,MAAM,UAAU,GAAI,YAAY,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAG,GAqBtE,CAAA;IACM,MAAM,YAAY,GAAI,YAAY,WAAW,CAAC,OAAO,EAAE,OAAO,KAAK,KAAG,KAqB5E,CAAA;CACJ"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export var Constraints;
|
|
2
|
+
(function (Constraints) {
|
|
3
|
+
// TODO There are many challenges to be solved. One is project-migration:
|
|
4
|
+
// Old values might be out of range now!
|
|
5
|
+
Constraints.clampInt32 = (constraint, value) => {
|
|
6
|
+
// TODO
|
|
7
|
+
/*if (constraint === "any") {
|
|
8
|
+
return value
|
|
9
|
+
} else if (constraint === "index" || constraint === "non-negative") {
|
|
10
|
+
assert(value >= 0, () => `value(${value}) must be non-negative`)
|
|
11
|
+
} else if (constraint === "positive") {
|
|
12
|
+
assert(value > 0, () => `value(${value}) must be positive`)
|
|
13
|
+
} else if (typeof constraint === "object") {
|
|
14
|
+
if ("min" in constraint && "max" in constraint) {
|
|
15
|
+
assert(constraint.min <= value && value <= constraint.max,
|
|
16
|
+
() => `value(${value}) must be in minmax(${constraint.min}, ${constraint.max})`)
|
|
17
|
+
} else if ("values" in constraint) {
|
|
18
|
+
assert(constraint.values.includes(value),
|
|
19
|
+
() => `value(${value}) must be in values(${constraint.values.join(", ")})`)
|
|
20
|
+
} else if ("length" in constraint) {
|
|
21
|
+
assert(value >= 0 && value < constraint.length,
|
|
22
|
+
() => `value(${value}) must be non-negative and lower then length(${constraint.length})`)
|
|
23
|
+
}
|
|
24
|
+
}*/
|
|
25
|
+
return value;
|
|
26
|
+
};
|
|
27
|
+
Constraints.clampFloat32 = (constraint, value) => {
|
|
28
|
+
// TODO
|
|
29
|
+
/*if (constraint === "any") {
|
|
30
|
+
return value
|
|
31
|
+
} else if (constraint === "unipolar") {
|
|
32
|
+
assert(value >= 0 && value <= 1, () => `value(${value}) must be in [0, 1]`)
|
|
33
|
+
} else if (constraint === "bipolar") {
|
|
34
|
+
assert(value >= -1 && value <= 1, () => `value(${value}) must be in [-1, 1]`)
|
|
35
|
+
} else if (constraint === "decibel") {
|
|
36
|
+
assert(value <= 0.0, () => `value(${value}) must be in [-INFINITY, 0]`)
|
|
37
|
+
} else if (constraint === "non-negative") {
|
|
38
|
+
assert(value >= 0, () => `value(${value}) must be non-negative`)
|
|
39
|
+
} else if (constraint === "positive") {
|
|
40
|
+
assert(value > 0, () => `value(${value}) must be positive`)
|
|
41
|
+
} else if (typeof constraint === "object") {
|
|
42
|
+
if ("min" in constraint && "max" in constraint) {
|
|
43
|
+
assert(constraint.min <= value && value <= constraint.max,
|
|
44
|
+
() => `value(${value}) must be in minmax(${constraint.min}, ${constraint.max})`)
|
|
45
|
+
}
|
|
46
|
+
}*/
|
|
47
|
+
return value;
|
|
48
|
+
};
|
|
49
|
+
})(Constraints || (Constraints = {}));
|
package/dist/editing.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BoxGraph } from "./graph";
|
|
2
|
-
import { Editing, Maybe, Option,
|
|
2
|
+
import { Editing, Maybe, Option, SyncProvider } from "@opendaw/lib-std";
|
|
3
3
|
export interface ModificationProcess {
|
|
4
4
|
approve(): void;
|
|
5
5
|
revert(): void;
|
|
@@ -13,7 +13,7 @@ export declare class BoxEditing implements Editing {
|
|
|
13
13
|
undo(): boolean;
|
|
14
14
|
redo(): boolean;
|
|
15
15
|
mustModify(): boolean;
|
|
16
|
-
modify<R>(modifier:
|
|
16
|
+
modify<R>(modifier: SyncProvider<Maybe<R>>, mark?: boolean): Option<R>;
|
|
17
17
|
beginModification(): ModificationProcess;
|
|
18
18
|
mark(): void;
|
|
19
19
|
clearPending(): void;
|
package/dist/editing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../src/editing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAChC,OAAO,EAAiB,OAAO,EAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../src/editing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAChC,OAAO,EAAiB,OAAO,EAAO,KAAK,EAAE,MAAM,EAAY,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAqBpG,MAAM,WAAW,mBAAmB;IAChC,OAAO,IAAI,IAAI,CAAA;IACf,MAAM,IAAI,IAAI,CAAA;CACjB;AAED,qBAAa,UAAW,YAAW,OAAO;;gBAU1B,KAAK,EAAE,QAAQ;IAI3B,IAAI,KAAK,IAAI,QAAQ,CAAqB;IAE1C,OAAO,IAAI,OAAO;IAElB,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,OAAO;IAUf,IAAI,IAAI,OAAO;IAcf,UAAU,IAAI,OAAO;IAErB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,OAAc,GAAG,MAAM,CAAC,CAAC,CAAC;IAW5E,iBAAiB,IAAI,mBAAmB;IAuCxC,IAAI,IAAI,IAAI;IAOZ,YAAY,IAAI,IAAI;IAMpB,OAAO,IAAI,IAAI;CAGlB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/pointer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataInput, DataOutput, JSONValue, Maybe, Observer, Option, Optional, Provider, Subscription } from "@opendaw/lib-std";
|
|
1
|
+
import { DataInput, DataOutput, JSONValue, Maybe, Observer, Option, Optional, Procedure, Provider, Subscription } from "@opendaw/lib-std";
|
|
2
2
|
import { Vertex, VertexVisitor } from "./vertex";
|
|
3
3
|
import { Address } from "./address";
|
|
4
4
|
import { PointerHub } from "./pointer-hub";
|
|
@@ -32,6 +32,7 @@ export declare class PointerField<P extends PointerTypes = PointerTypes> extends
|
|
|
32
32
|
set targetAddress(newValue: Option<Address>);
|
|
33
33
|
isEmpty(): boolean;
|
|
34
34
|
nonEmpty(): boolean;
|
|
35
|
+
ifVertex(procedure: Procedure<Vertex>): void;
|
|
35
36
|
resolvedTo(newTarget: Option<Vertex>): void;
|
|
36
37
|
read(input: DataInput): void;
|
|
37
38
|
write(output: DataOutput): void;
|
package/dist/pointer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,UAAU,EAEV,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EAER,QAAQ,EAER,YAAY,EAEf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,SAAS,CAAA;AAG7C,QAAA,MAAM,gBAAgB,eAA4B,CAAA;AAElD,MAAM,MAAM,mBAAmB,GAAG,OAAO,gBAAgB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,mBAAmB,CAAA;AAEhE,MAAM,WAAW,cAAc;IAAE,GAAG,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;CAAC;AAE7E,MAAM,WAAW,cAAc;IAAE,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;CAAC;AAE1G,qBAAa,YAAY,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;;IACtG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC9C,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;IAI1E,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAWnE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAoBnE,OAAO;IASP,IAAI,UAAU,IAAI,UAAU,CAA+C;IAE3E,IAAI,WAAW,IAAI,CAAC,CAA2B;IAC/C,IAAI,SAAS,IAAI,OAAO,CAAyB;IAEjD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAI7D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAKjD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAK3D,KAAK,CAAC,MAAM,SAAS,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,SAAS,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,GAAG,IAAI;IAInG,KAAK,IAAI,IAAI;IAEb,IAAI,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAIjC;IACD,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAQtC;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,CAA6B;IACjE,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAM1C;IAED,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../src/pointer.ts"],"names":[],"mappings":"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"}
|
package/dist/pointer.js
CHANGED
|
@@ -85,6 +85,11 @@ export class PointerField extends Field {
|
|
|
85
85
|
}
|
|
86
86
|
isEmpty() { return this.targetAddress.isEmpty(); }
|
|
87
87
|
nonEmpty() { return this.targetAddress.nonEmpty(); }
|
|
88
|
+
ifVertex(procedure) {
|
|
89
|
+
if (this.targetVertex.nonEmpty()) {
|
|
90
|
+
procedure(this.targetVertex.unwrap());
|
|
91
|
+
}
|
|
92
|
+
}
|
|
88
93
|
resolvedTo(newTarget) { this.#targetVertex = newTarget; }
|
|
89
94
|
read(input) {
|
|
90
95
|
const address = input.readBoolean()
|
package/dist/primitive.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Field, FieldConstruct } from "./field";
|
|
|
2
2
|
import { PointerTypes, UnreferenceableType } from "./pointer";
|
|
3
3
|
import { ByteArrayInput, ByteArrayOutput, DataInput, DataOutput, float, int, JSONValue, Maybe, MutableObservableValue, ObservableValue, Observer, Optional, Subscription } from "@opendaw/lib-std";
|
|
4
4
|
import { VertexVisitor } from "./vertex";
|
|
5
|
+
import { Constraints } from "./constraints";
|
|
5
6
|
export type PrimitiveValues = float | int | string | boolean | Readonly<Int8Array>;
|
|
6
7
|
export declare enum PrimitiveType {
|
|
7
8
|
Boolean = "boolean",
|
|
@@ -74,23 +75,29 @@ export declare class BooleanField<E extends PointerTypes = UnreferenceableType>
|
|
|
74
75
|
fromJSON(value: JSONValue): void;
|
|
75
76
|
}
|
|
76
77
|
export declare class Float32Field<E extends PointerTypes = UnreferenceableType> extends PrimitiveField<float, E> {
|
|
77
|
-
|
|
78
|
+
#private;
|
|
79
|
+
static create<E extends PointerTypes = UnreferenceableType>(construct: FieldConstruct<E>, constraints: Constraints.Float32, unit: string, value?: float): Float32Field<E>;
|
|
78
80
|
private constructor();
|
|
79
81
|
serialization(): ValueSerialization<float>;
|
|
80
82
|
equals(value: float): boolean;
|
|
81
83
|
clamp(value: float): float;
|
|
82
84
|
read(input: DataInput): void;
|
|
83
85
|
write(output: DataOutput): void;
|
|
86
|
+
get unit(): string;
|
|
87
|
+
get constraints(): Constraints.Float32;
|
|
84
88
|
fromJSON(value: JSONValue): void;
|
|
85
89
|
}
|
|
86
90
|
export declare class Int32Field<E extends PointerTypes = UnreferenceableType> extends PrimitiveField<int, E> {
|
|
87
|
-
|
|
91
|
+
#private;
|
|
92
|
+
static create<E extends PointerTypes = UnreferenceableType>(construct: FieldConstruct<E>, constraints: Constraints.Int32, unit: string, value?: int): Int32Field<E>;
|
|
88
93
|
private constructor();
|
|
89
94
|
serialization(): ValueSerialization<int>;
|
|
90
95
|
equals(value: int): boolean;
|
|
91
96
|
clamp(value: int): int;
|
|
92
97
|
read(input: DataInput): void;
|
|
93
98
|
write(output: DataOutput): void;
|
|
99
|
+
get unit(): string;
|
|
100
|
+
get constraints(): Constraints.Int32;
|
|
94
101
|
fromJSON(value: JSONValue): void;
|
|
95
102
|
}
|
|
96
103
|
export declare class StringField<E extends PointerTypes = UnreferenceableType> extends PrimitiveField<string, E> {
|
package/dist/primitive.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,WAAW,CAAA;AAC3D,OAAO,EAEH,cAAc,EACd,eAAe,EACf,SAAS,EACT,UAAU,EAEV,KAAK,EACL,GAAG,EAEH,SAAS,EACT,KAAK,EACL,sBAAsB,EACtB,eAAe,EACf,QAAQ,EACR,QAAQ,EAGR,YAAY,EACf,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"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"}
|
package/dist/primitive.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Field } from "./field";
|
|
2
2
|
import { assert, Float, Integer, panic, safeExecute } from "@opendaw/lib-std";
|
|
3
3
|
import { Propagation } from "./dispatchers";
|
|
4
|
+
import { Constraints } from "./constraints";
|
|
4
5
|
export var PrimitiveType;
|
|
5
6
|
(function (PrimitiveType) {
|
|
6
7
|
PrimitiveType["Boolean"] = "boolean";
|
|
@@ -50,7 +51,7 @@ export class PrimitiveField extends Field {
|
|
|
50
51
|
constructor(field, type, value) {
|
|
51
52
|
super(field);
|
|
52
53
|
this.#type = type;
|
|
53
|
-
this.#initValue =
|
|
54
|
+
this.#initValue = value;
|
|
54
55
|
this.#value = this.#initValue;
|
|
55
56
|
}
|
|
56
57
|
accept(visitor) {
|
|
@@ -121,18 +122,26 @@ export class BooleanField extends PrimitiveField {
|
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
export class Float32Field extends PrimitiveField {
|
|
124
|
-
static create(construct, value = 0.0) {
|
|
125
|
-
return new Float32Field(construct, value);
|
|
125
|
+
static create(construct, constraints, unit, value = 0.0) {
|
|
126
|
+
return new Float32Field(construct, constraints, unit, value);
|
|
127
|
+
}
|
|
128
|
+
#constraints;
|
|
129
|
+
#unit;
|
|
130
|
+
constructor(construct, constraints, unit, value) {
|
|
131
|
+
super(construct, PrimitiveType.Float32, value);
|
|
132
|
+
this.#constraints = constraints;
|
|
133
|
+
this.#unit = unit;
|
|
126
134
|
}
|
|
127
|
-
constructor(construct, value) { super(construct, PrimitiveType.Float32, value); }
|
|
128
135
|
serialization() { return ValueSerialization[PrimitiveType.Float32]; }
|
|
129
136
|
equals(value) { return this.getValue() === value; }
|
|
130
|
-
clamp(value) { return Float.toFloat32(value); }
|
|
137
|
+
clamp(value) { return Constraints.clampFloat32(this.#constraints, Float.toFloat32(value)); }
|
|
131
138
|
read(input) { this.setValue(input.readFloat()); }
|
|
132
139
|
write(output) {
|
|
133
140
|
assert(!this.deprecated, "FLoat32Field.write: deprecated field");
|
|
134
141
|
output.writeFloat(this.getValue());
|
|
135
142
|
}
|
|
143
|
+
get unit() { return this.#unit; }
|
|
144
|
+
get constraints() { return this.#constraints; }
|
|
136
145
|
fromJSON(value) {
|
|
137
146
|
if (this.deprecated) {
|
|
138
147
|
return;
|
|
@@ -146,18 +155,26 @@ export class Float32Field extends PrimitiveField {
|
|
|
146
155
|
}
|
|
147
156
|
}
|
|
148
157
|
export class Int32Field extends PrimitiveField {
|
|
149
|
-
static create(construct, value = 0) {
|
|
150
|
-
return new Int32Field(construct, value);
|
|
158
|
+
static create(construct, constraints, unit, value = 0) {
|
|
159
|
+
return new Int32Field(construct, constraints, unit, value);
|
|
160
|
+
}
|
|
161
|
+
#constraints;
|
|
162
|
+
#unit;
|
|
163
|
+
constructor(construct, constraints, unit, value) {
|
|
164
|
+
super(construct, PrimitiveType.Int32, value);
|
|
165
|
+
this.#constraints = constraints;
|
|
166
|
+
this.#unit = unit;
|
|
151
167
|
}
|
|
152
|
-
constructor(construct, value) { super(construct, PrimitiveType.Int32, value); }
|
|
153
168
|
serialization() { return ValueSerialization[PrimitiveType.Int32]; }
|
|
154
169
|
equals(value) { return this.getValue() === value; }
|
|
155
|
-
clamp(value) { return Integer.toInt(value); }
|
|
170
|
+
clamp(value) { return Constraints.clampInt32(this.#constraints, Integer.toInt(value)); }
|
|
156
171
|
read(input) { this.setValue(input.readInt()); }
|
|
157
172
|
write(output) {
|
|
158
173
|
assert(!this.deprecated, "Int32Field.write: deprecated field");
|
|
159
174
|
output.writeInt(this.getValue());
|
|
160
175
|
}
|
|
176
|
+
get unit() { return this.#unit; }
|
|
177
|
+
get constraints() { return this.#constraints; }
|
|
161
178
|
fromJSON(value) {
|
|
162
179
|
if (this.deprecated) {
|
|
163
180
|
return;
|
|
@@ -204,7 +221,8 @@ export class ByteArrayField extends PrimitiveField {
|
|
|
204
221
|
constructor(construct, value) { super(construct, PrimitiveType.Bytes, value); }
|
|
205
222
|
serialization() { return ValueSerialization[PrimitiveType.Bytes]; }
|
|
206
223
|
equals(value) {
|
|
207
|
-
|
|
224
|
+
// we only test for reference equality because the bytes are immutable
|
|
225
|
+
return this.getValue() === value;
|
|
208
226
|
}
|
|
209
227
|
clamp(value) { return value; }
|
|
210
228
|
read(input) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendaw/lib-box",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.51",
|
|
4
|
+
"sideEffects": false,
|
|
4
5
|
"main": "./dist/index.js",
|
|
5
6
|
"types": "./dist/index.d.ts",
|
|
6
7
|
"license": "LGPL-3.0-or-later",
|
|
@@ -22,12 +23,12 @@
|
|
|
22
23
|
"test": "vitest run"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
|
-
"@opendaw/lib-runtime": "^0.0.
|
|
26
|
-
"@opendaw/lib-std": "^0.0.
|
|
26
|
+
"@opendaw/lib-runtime": "^0.0.51",
|
|
27
|
+
"@opendaw/lib-std": "^0.0.51"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
30
|
"@opendaw/eslint-config": "^0.0.20",
|
|
30
31
|
"@opendaw/typescript-config": "^0.0.20"
|
|
31
32
|
},
|
|
32
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "1b6de986a1edbf3e26b8044f9c9e6a887f4b3b87"
|
|
33
34
|
}
|