@arcote.tech/arc 0.0.8 → 0.0.9

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.
@@ -31,8 +31,8 @@ declare class ArcCollection<Name extends string, Id extends ArcIdAny, Schema ext
31
31
  commandContext(transaction: ReadTransaction, changes: CollectionChange[], getDraft: GetDraft<any>): {
32
32
  one: (id: util.GetType<Id>) => Deserialize<Id, Schema>;
33
33
  remove: (id: util.GetType<Id>) => Promise<any>;
34
- add: (data: util.FirstArgument<Schema["parse"]>) => Promise<any>;
35
- set: (id: util.GetType<Id>, data: util.FirstArgument<Schema["deserialize"]>) => Promise<any>;
34
+ add: (data: objectUtil.addQuestionMarks<util.FirstArgument<Schema["serialize"]>>) => Promise<any>;
35
+ set: (id: util.GetType<Id>, data: util.FirstArgument<Schema["serialize"]>) => Promise<any>;
36
36
  };
37
37
  applyChange(transaction: ReadWriteTransaction, change: CollectionChange, events: CollectionChange[]): Promise<void>;
38
38
  indexBy<Indexes extends keyof ReturnType<Schema["deserialize"]>, const I extends {
@@ -1,6 +1,7 @@
1
1
  import { type util } from "../utils";
2
2
  import { ArcAbstract } from "./abstract";
3
- export declare class ArcArray<E extends ArcAbstract> extends ArcAbstract {
3
+ import type { ArcElement } from "./element";
4
+ export declare class ArcArray<E extends ArcElement> extends ArcAbstract {
4
5
  private parent;
5
6
  constructor(parent: E);
6
7
  parse(value: util.FirstArgument<E["deserialize"]>[]): ReturnType<E["parse"]>[];
@@ -9,4 +10,4 @@ export declare class ArcArray<E extends ArcAbstract> extends ArcAbstract {
9
10
  deserializePath(path: string[], value: any): any;
10
11
  }
11
12
  export type ArcArrayAny = ArcArray<any>;
12
- export declare function array<E extends ArcAbstract>(element: E): ArcArray<E>;
13
+ export declare function array<E extends ArcElement>(element: E): ArcArray<E>;
@@ -1,4 +1,5 @@
1
1
  export * from "./array";
2
+ export * from "./boolean";
2
3
  export * from "./branded";
3
4
  export * from "./date";
4
5
  export * from "./id";
package/dist/index.js CHANGED
@@ -569,6 +569,29 @@ class ArcArray extends ArcAbstract {
569
569
  return this.parent.deserialize(value);
570
570
  }
571
571
  }
572
+ // elements/abstract-primitive.ts
573
+ class ArcPrimitive extends ArcAbstract {
574
+ constructor() {
575
+ super();
576
+ }
577
+ serialize(value) {
578
+ return value;
579
+ }
580
+ parse(value) {
581
+ return value;
582
+ }
583
+ deserialize(value) {
584
+ return value;
585
+ }
586
+ }
587
+
588
+ // elements/boolean.ts
589
+ function boolean() {
590
+ return new ArcBoolean;
591
+ }
592
+
593
+ class ArcBoolean extends ArcPrimitive {
594
+ }
572
595
  // elements/date.ts
573
596
  function date() {
574
597
  return new ArcDate;
@@ -588,22 +611,6 @@ class ArcDate extends ArcAbstract {
588
611
  return new Date(value);
589
612
  }
590
613
  }
591
- // elements/abstract-primitive.ts
592
- class ArcPrimitive extends ArcAbstract {
593
- constructor() {
594
- super();
595
- }
596
- serialize(value) {
597
- return value;
598
- }
599
- parse(value) {
600
- return value;
601
- }
602
- deserialize(value) {
603
- return value;
604
- }
605
- }
606
-
607
614
  // elements/string.ts
608
615
  function string() {
609
616
  return new ArcString;
@@ -865,6 +872,7 @@ export {
865
872
  date,
866
873
  context,
867
874
  collection,
875
+ boolean,
868
876
  array2 as array,
869
877
  ArcStringEnum,
870
878
  ArcString,
@@ -877,5 +885,6 @@ export {
877
885
  ArcDate,
878
886
  ArcCollectionQuery,
879
887
  ArcBranded,
888
+ ArcBoolean,
880
889
  ArcArray
881
890
  };
package/dist/utils.d.ts CHANGED
@@ -57,3 +57,6 @@ export type ContextTypes<Ctx extends {
57
57
  } & {
58
58
  [Collection in Ctx["collections"][number] as `${Collection["name"]}.queryCollectionResult`]: Omit<QueryCollectionResult<Collection>, "result">;
59
59
  } : never;
60
+ export type infer<E extends {
61
+ deserialize: (...args: any) => any;
62
+ }> = ReturnType<E["deserialize"]>;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
7
- "version": "0.0.8",
7
+ "version": "0.0.9",
8
8
  "private": false,
9
9
  "author": "Przemysław Krasiński [arcote.tech]",
10
10
  "description": "Arc is a framework designed to align code closely with business logic, streamlining development and enhancing productivity.",