@voiceflow/bidirectional-adapter 3.0.0 → 4.0.0

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.
Files changed (39) hide show
  1. package/build/{cjs/adapter.d.ts → index.d.mts} +55 -38
  2. package/build/index.d.mts.map +1 -0
  3. package/build/index.mjs +77 -0
  4. package/build/index.mjs.map +1 -0
  5. package/build/rolldown-runtime-D8jQpDG7.mjs +12 -0
  6. package/package.json +4 -13
  7. package/build/cjs/adapter.d.ts.map +0 -1
  8. package/build/cjs/adapter.js +0 -52
  9. package/build/cjs/adapter.js.map +0 -1
  10. package/build/cjs/identity.d.ts +0 -16
  11. package/build/cjs/identity.d.ts.map +0 -1
  12. package/build/cjs/identity.js +0 -13
  13. package/build/cjs/identity.js.map +0 -1
  14. package/build/cjs/index.d.ts +0 -5
  15. package/build/cjs/index.d.ts.map +0 -1
  16. package/build/cjs/index.js +0 -46
  17. package/build/cjs/index.js.map +0 -1
  18. package/build/cjs/notImplemented.d.ts +0 -7
  19. package/build/cjs/notImplemented.d.ts.map +0 -1
  20. package/build/cjs/notImplemented.js +0 -17
  21. package/build/cjs/notImplemented.js.map +0 -1
  22. package/build/cjs/package.json +0 -1
  23. package/build/esm/adapter.d.ts +0 -71
  24. package/build/esm/adapter.d.ts.map +0 -1
  25. package/build/esm/adapter.js +0 -45
  26. package/build/esm/adapter.js.map +0 -1
  27. package/build/esm/identity.d.ts +0 -16
  28. package/build/esm/identity.d.ts.map +0 -1
  29. package/build/esm/identity.js +0 -7
  30. package/build/esm/identity.js.map +0 -1
  31. package/build/esm/index.d.ts +0 -5
  32. package/build/esm/index.d.ts.map +0 -1
  33. package/build/esm/index.js +0 -6
  34. package/build/esm/index.js.map +0 -1
  35. package/build/esm/notImplemented.d.ts +0 -7
  36. package/build/esm/notImplemented.d.ts.map +0 -1
  37. package/build/esm/notImplemented.js +0 -12
  38. package/build/esm/notImplemented.js.map +0 -1
  39. package/build/esm/package.json +0 -1
@@ -1,71 +1,88 @@
1
1
  type EmptyObject = Record<string, never>;
2
- type UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends (k: infer Intersection) => void ? Intersection : never;
3
- type RemapFromDBUnion<DBModel, Model, PartialDBModel extends Partial<DBModel>, KeyRemap extends [keyof PartialDBModel, keyof Model]> = KeyRemap extends [infer ToDBKey extends keyof PartialDBModel, infer FromDBKey extends keyof Model] ? PartialDBModel extends {
4
- [key in ToDBKey]: Exclude<PartialDBModel[key], undefined>;
5
- } ? {
6
- [key in FromDBKey]: Model[key];
7
- } : EmptyObject : EmptyObject;
2
+ type UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void) ? Intersection : never;
3
+ type RemapFromDBUnion<DBModel, Model, PartialDBModel extends Partial<DBModel>, KeyRemap extends [keyof PartialDBModel, keyof Model]> = KeyRemap extends [infer ToDBKey extends keyof PartialDBModel, infer FromDBKey extends keyof Model] ? PartialDBModel extends { [key in ToDBKey]: Exclude<PartialDBModel[key], undefined>; } ? { [key in FromDBKey]: Model[key]; } : EmptyObject : EmptyObject;
8
4
  type RemapFromDBKeys<DBModel, Model, PartialDBModel extends Partial<DBModel>, KeyRemap extends [keyof PartialDBModel, keyof Model][]> = Pick<Model, Extract<keyof Model, Exclude<keyof PartialDBModel, KeyRemap[number][0]>>> & UnionToIntersection<Exclude<RemapFromDBUnion<DBModel, Model, PartialDBModel, KeyRemap[number]>, EmptyObject>>;
9
- type RemapToDBUnion<DBModel, Model, PartialModel extends Partial<Model>, KeyRemap extends [keyof DBModel, keyof PartialModel]> = KeyRemap extends [infer ToDBKey extends keyof DBModel, infer FromDBKey extends keyof PartialModel] ? PartialModel extends {
10
- [key in FromDBKey]: Exclude<PartialModel[key], undefined>;
11
- } ? {
12
- [key in ToDBKey]: DBModel[key];
13
- } : EmptyObject : EmptyObject;
5
+ type RemapToDBUnion<DBModel, Model, PartialModel extends Partial<Model>, KeyRemap extends [keyof DBModel, keyof PartialModel]> = KeyRemap extends [infer ToDBKey extends keyof DBModel, infer FromDBKey extends keyof PartialModel] ? PartialModel extends { [key in FromDBKey]: Exclude<PartialModel[key], undefined>; } ? { [key in ToDBKey]: DBModel[key]; } : EmptyObject : EmptyObject;
14
6
  type RemapToDBKeys<DBModel, Model, PartialModel extends Partial<Model>, KeyRemap extends [keyof DBModel, keyof PartialModel][]> = Pick<DBModel, Extract<keyof DBModel, Exclude<keyof PartialModel, KeyRemap[number][1]>>> & UnionToIntersection<Exclude<RemapToDBUnion<DBModel, Model, PartialModel, KeyRemap[number]>, EmptyObject>>;
15
7
  export interface FromDB<DBModel, Model, FromDBArgs extends any[] = []> {
16
- (dbModel: DBModel, ...args: FromDBArgs): Model;
8
+ (dbModel: DBModel, ...args: FromDBArgs): Model;
17
9
  }
18
10
  export interface SmartFromDB<DBModel, Model, FromDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
19
- (dbModel: DBModel, ...args: FromDBArgs): Model;
20
- <PartialDBModel extends Partial<DBModel>>(dbModel: PartialDBModel, ...args: FromDBArgs): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>;
11
+ (dbModel: DBModel, ...args: FromDBArgs): Model;
12
+ <PartialDBModel extends Partial<DBModel>>(dbModel: PartialDBModel, ...args: FromDBArgs): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>;
21
13
  }
22
14
  export interface MapFromDB<DBModel, Model, FromDBArgs extends any[] = []> {
23
- (dbModels: DBModel[], ...args: FromDBArgs): Model[];
15
+ (dbModels: DBModel[], ...args: FromDBArgs): Model[];
24
16
  }
25
17
  export interface SmartMapFromDB<DBModel, Model, FromDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
26
- (dbModels: DBModel[], ...args: FromDBArgs): Model[];
27
- <PartialDBModel extends Partial<DBModel>>(dbModels: PartialDBModel[], ...args: FromDBArgs): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>[];
18
+ (dbModels: DBModel[], ...args: FromDBArgs): Model[];
19
+ <PartialDBModel extends Partial<DBModel>>(dbModels: PartialDBModel[], ...args: FromDBArgs): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>[];
28
20
  }
29
21
  export interface ToDB<DBModel, Model, ToDBArgs extends any[] = []> {
30
- (model: Model, ...args: ToDBArgs): DBModel;
22
+ (model: Model, ...args: ToDBArgs): DBModel;
31
23
  }
32
24
  export interface SmartToDB<DBModel, Model, ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
33
- (model: Model, ...args: ToDBArgs): DBModel;
34
- <PartialModel extends Partial<Model>>(model: PartialModel, ...args: ToDBArgs): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>;
25
+ (model: Model, ...args: ToDBArgs): DBModel;
26
+ <PartialModel extends Partial<Model>>(model: PartialModel, ...args: ToDBArgs): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>;
35
27
  }
36
28
  export interface MapToDB<DBModel, Model, ToDBArgs extends any[] = []> {
37
- (models: Model[], ...args: ToDBArgs): DBModel[];
29
+ (models: Model[], ...args: ToDBArgs): DBModel[];
38
30
  }
39
31
  export interface SmartMapToDB<DBModel, Model, ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
40
- (models: Model[], ...args: ToDBArgs): DBModel[];
41
- <PartialModel extends Partial<Model>>(diagrams: PartialModel[], ...args: ToDBArgs): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>[];
32
+ (models: Model[], ...args: ToDBArgs): DBModel[];
33
+ <PartialModel extends Partial<Model>>(diagrams: PartialModel[], ...args: ToDBArgs): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>[];
42
34
  }
43
35
  export interface SimpleAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []> {
44
- toDB: ToDB<DBModel, Model, ToDBArgs>;
45
- fromDB: FromDB<DBModel, Model, FromDBArgs>;
36
+ toDB: ToDB<DBModel, Model, ToDBArgs>;
37
+ fromDB: FromDB<DBModel, Model, FromDBArgs>;
46
38
  }
47
39
  export interface SmartSimpleAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
48
- toDB: SmartToDB<DBModel, Model, ToDBArgs, KeyRemap>;
49
- fromDB: SmartFromDB<DBModel, Model, FromDBArgs, KeyRemap>;
40
+ toDB: SmartToDB<DBModel, Model, ToDBArgs, KeyRemap>;
41
+ fromDB: SmartFromDB<DBModel, Model, FromDBArgs, KeyRemap>;
50
42
  }
51
43
  export interface MultiAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []> extends SimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs> {
52
- mapToDB: MapToDB<DBModel, Model, ToDBArgs>;
53
- mapFromDB: MapFromDB<DBModel, Model, FromDBArgs>;
44
+ mapToDB: MapToDB<DBModel, Model, ToDBArgs>;
45
+ mapFromDB: MapFromDB<DBModel, Model, FromDBArgs>;
54
46
  }
55
47
  export interface SmartMultiAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> extends SmartSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap> {
56
- mapToDB: SmartMapToDB<DBModel, Model, ToDBArgs, KeyRemap>;
57
- mapFromDB: SmartMapFromDB<DBModel, Model, FromDBArgs, KeyRemap>;
48
+ mapToDB: SmartMapToDB<DBModel, Model, ToDBArgs, KeyRemap>;
49
+ mapFromDB: SmartMapFromDB<DBModel, Model, FromDBArgs, KeyRemap>;
58
50
  }
59
51
  export interface AdapterOptions {
60
- debug?: (message: string, model: unknown) => void;
61
- }
62
- export interface AnyMultiAdapter extends MultiAdapter<any, any> {
63
- }
64
- export interface AnySimpleAdapter extends SimpleAdapter<any, any> {
52
+ debug?: (message: string, model: unknown) => void;
65
53
  }
54
+ export interface AnyMultiAdapter extends MultiAdapter<any, any> {}
55
+ export interface AnySimpleAdapter extends SimpleAdapter<any, any> {}
66
56
  export declare const createSimpleAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []>(fromDB: (dbModel: DBModel, ...args: FromDBArgs) => Model, toDB: (model: Model, ...args: ToDBArgs) => DBModel, options?: AdapterOptions) => SimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs>;
67
57
  export declare const createSmartSimpleAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []>(fromDB: (dbModel: Partial<DBModel>, ...args: FromDBArgs) => Partial<Model>, toDB: (model: Partial<Model>, ...args: ToDBArgs) => Partial<DBModel>, options?: AdapterOptions) => SmartSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap>;
68
58
  export declare const createMultiAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []>(fromDB: (dbModel: DBModel, ...args: FromDBArgs) => Model, toDB: (model: Model, ...args: ToDBArgs) => DBModel, options?: AdapterOptions) => MultiAdapter<DBModel, Model, FromDBArgs, ToDBArgs>;
69
59
  export declare const createSmartMultiAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []>(fromDB: (dbModel: Partial<DBModel>, ...args: FromDBArgs) => Partial<Model>, toDB: (model: Partial<Model>, ...args: ToDBArgs) => Partial<DBModel>, options?: AdapterOptions) => SmartMultiAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap>;
70
- export {};
71
- //# sourceMappingURL=adapter.d.ts.map
60
+ declare namespace identity_d_exports {
61
+ export { Identity, IdentityMulti, Multi, Simple, createMulti, createSimple, multi$1 as multi, simple$1 as simple, transformer$1 as transformer };
62
+ }
63
+ type Identity = <Model>(model: Model) => Model;
64
+ type IdentityMulti = <Model>(models: Model[]) => Model[];
65
+ interface Simple {
66
+ toDB: Identity;
67
+ fromDB: Identity;
68
+ }
69
+ interface Multi extends Simple {
70
+ mapToDB: IdentityMulti;
71
+ mapFromDB: IdentityMulti;
72
+ }
73
+ declare const transformer$1: Identity;
74
+ declare const multi$1: Multi;
75
+ declare const simple$1: Simple;
76
+ declare const createMulti: <Model>() => MultiAdapter<Model, Model, [], []>;
77
+ declare const createSimple: <Model>() => SimpleAdapter<Model, Model, [], []>;
78
+ declare namespace notImplemented_d_exports {
79
+ export { NotImplementedError, multi, simple, transformer };
80
+ }
81
+ declare class NotImplementedError extends Error {
82
+ constructor();
83
+ }
84
+ declare const transformer: () => never;
85
+ declare const multi: MultiAdapter<never, never, [], []>;
86
+ declare const simple: SimpleAdapter<never, never, [], []>;
87
+ export { createMultiAdapter as default, identity_d_exports as identityAdapter, notImplemented_d_exports as notImplementedAdapter };
88
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":["transformer","multi","simple","_$__adapter0.MultiAdapter","_$__adapter0.SimpleAdapter","_$__adapter0.MultiAdapter","_$__adapter0.SimpleAdapter"],"sources":["../src/adapter.ts","../src/identity.ts","../src/notImplemented.ts"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-D8jQpDG7.mjs";
2
+ // src/adapter.ts
3
+ const toDBFactory = (toDB, { debug } = {}) => (model, ...args) => {
4
+ debug?.("adapter called with value from the store", model);
5
+ const result = toDB(model, ...args);
6
+ debug?.("converted store value to", result);
7
+ return result;
8
+ };
9
+ const fromDBFactory = (fromDB, { debug } = {}) => (dbModel, ...args) => {
10
+ debug?.("adapter called with value from DB", dbModel);
11
+ const result = fromDB(dbModel, ...args);
12
+ debug?.("converted DB value to", result);
13
+ return result;
14
+ };
15
+ const mapToDBFactory = (toDB, { debug } = {}) => (models, ...args) => {
16
+ debug?.("adapter called with values from store", models);
17
+ const result = models.map((model) => toDB(model, ...args));
18
+ debug?.("converted store values to", result);
19
+ return result;
20
+ };
21
+ const mapFromDBFactory = (fromDB, { debug } = {}) => (dbModels, ...args) => {
22
+ debug?.("adapter called with values from DB", dbModels);
23
+ const result = dbModels.map((dbModel) => fromDB(dbModel, ...args));
24
+ debug?.("converted DB values to", result);
25
+ return result;
26
+ };
27
+ const createSimpleAdapter = (fromDB, toDB, options = {}) => ({
28
+ toDB: toDBFactory(toDB, options),
29
+ fromDB: fromDBFactory(fromDB, options)
30
+ });
31
+ const createSmartSimpleAdapter = (fromDB, toDB, options = {}) => ({
32
+ toDB: toDBFactory(toDB, options),
33
+ fromDB: fromDBFactory(fromDB, options)
34
+ });
35
+ const createMultiAdapter = (fromDB, toDB, options = {}) => ({
36
+ ...createSimpleAdapter(fromDB, toDB, options),
37
+ mapToDB: mapToDBFactory(toDB, options),
38
+ mapFromDB: mapFromDBFactory(fromDB, options)
39
+ });
40
+ const createSmartMultiAdapter = (fromDB, toDB, options = {}) => ({
41
+ ...createSmartSimpleAdapter(fromDB, toDB, options),
42
+ mapToDB: mapToDBFactory(toDB, options),
43
+ mapFromDB: mapFromDBFactory(fromDB, options)
44
+ });
45
+ // src/identity.ts
46
+ var identity_exports = /* @__PURE__ */ __exportAll({
47
+ createMulti: () => createMulti,
48
+ createSimple: () => createSimple,
49
+ multi: () => multi$1,
50
+ simple: () => simple$1,
51
+ transformer: () => transformer$1
52
+ });
53
+ const transformer$1 = (value) => value;
54
+ const multi$1 = createMultiAdapter(transformer$1, transformer$1);
55
+ const simple$1 = createSimpleAdapter(transformer$1, transformer$1);
56
+ const createMulti = () => createMultiAdapter(transformer$1, transformer$1);
57
+ const createSimple = () => createSimpleAdapter(transformer$1, transformer$1);
58
+ // src/notImplemented.ts
59
+ var notImplemented_exports = /* @__PURE__ */ __exportAll({
60
+ NotImplementedError: () => NotImplementedError,
61
+ multi: () => multi,
62
+ simple: () => simple,
63
+ transformer: () => transformer
64
+ });
65
+ var NotImplementedError = class extends Error {
66
+ constructor() {
67
+ super("adapter not implemented");
68
+ }
69
+ };
70
+ const transformer = () => {
71
+ throw new NotImplementedError();
72
+ };
73
+ const multi = createMultiAdapter(transformer, transformer);
74
+ const simple = createSimpleAdapter(transformer, transformer);
75
+ export { createMultiAdapter, createMultiAdapter as default, createSimpleAdapter, createSmartMultiAdapter, createSmartSimpleAdapter, identity_exports as identityAdapter, notImplemented_exports as notImplementedAdapter };
76
+
77
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["transformer","multi","simple"],"sources":["../src/adapter.ts","../src/identity.ts","../src/notImplemented.ts"],"sourcesContent":["type EmptyObject = Record<string, never>;\n\ntype UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends (\n k: infer Intersection\n) => void\n ? Intersection\n : never;\n\ntype RemapFromDBUnion<\n DBModel,\n Model,\n PartialDBModel extends Partial<DBModel>,\n KeyRemap extends [keyof PartialDBModel, keyof Model],\n> = KeyRemap extends [infer ToDBKey extends keyof PartialDBModel, infer FromDBKey extends keyof Model]\n ? PartialDBModel extends { [key in ToDBKey]: Exclude<PartialDBModel[key], undefined> }\n ? { [key in FromDBKey]: Model[key] }\n : EmptyObject\n : EmptyObject;\n\ntype RemapFromDBKeys<\n DBModel,\n Model,\n PartialDBModel extends Partial<DBModel>,\n KeyRemap extends [keyof PartialDBModel, keyof Model][],\n> = Pick<Model, Extract<keyof Model, Exclude<keyof PartialDBModel, KeyRemap[number][0]>>> &\n UnionToIntersection<Exclude<RemapFromDBUnion<DBModel, Model, PartialDBModel, KeyRemap[number]>, EmptyObject>>;\n\ntype RemapToDBUnion<\n DBModel,\n Model,\n PartialModel extends Partial<Model>,\n KeyRemap extends [keyof DBModel, keyof PartialModel],\n> = KeyRemap extends [infer ToDBKey extends keyof DBModel, infer FromDBKey extends keyof PartialModel]\n ? PartialModel extends { [key in FromDBKey]: Exclude<PartialModel[key], undefined> }\n ? { [key in ToDBKey]: DBModel[key] }\n : EmptyObject\n : EmptyObject;\n\ntype RemapToDBKeys<\n DBModel,\n Model,\n PartialModel extends Partial<Model>,\n KeyRemap extends [keyof DBModel, keyof PartialModel][],\n> = Pick<DBModel, Extract<keyof DBModel, Exclude<keyof PartialModel, KeyRemap[number][1]>>> &\n UnionToIntersection<Exclude<RemapToDBUnion<DBModel, Model, PartialModel, KeyRemap[number]>, EmptyObject>>;\n\nexport interface FromDB<DBModel, Model, FromDBArgs extends any[] = []> {\n (dbModel: DBModel, ...args: FromDBArgs): Model;\n}\n\nexport interface SmartFromDB<\n DBModel,\n Model,\n FromDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n> {\n (dbModel: DBModel, ...args: FromDBArgs): Model;\n\n <PartialDBModel extends Partial<DBModel>>(\n dbModel: PartialDBModel,\n ...args: FromDBArgs\n ): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>;\n}\n\nexport interface MapFromDB<DBModel, Model, FromDBArgs extends any[] = []> {\n (dbModels: DBModel[], ...args: FromDBArgs): Model[];\n}\n\nexport interface SmartMapFromDB<\n DBModel,\n Model,\n FromDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n> {\n (dbModels: DBModel[], ...args: FromDBArgs): Model[];\n\n <PartialDBModel extends Partial<DBModel>>(\n dbModels: PartialDBModel[],\n ...args: FromDBArgs\n ): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>[];\n}\n\nexport interface ToDB<DBModel, Model, ToDBArgs extends any[] = []> {\n (model: Model, ...args: ToDBArgs): DBModel;\n}\n\nexport interface SmartToDB<\n DBModel,\n Model,\n ToDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n> {\n (model: Model, ...args: ToDBArgs): DBModel;\n\n <PartialModel extends Partial<Model>>(\n model: PartialModel,\n ...args: ToDBArgs\n ): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>;\n}\n\nexport interface MapToDB<DBModel, Model, ToDBArgs extends any[] = []> {\n (models: Model[], ...args: ToDBArgs): DBModel[];\n}\n\nexport interface SmartMapToDB<\n DBModel,\n Model,\n ToDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n> {\n (models: Model[], ...args: ToDBArgs): DBModel[];\n\n <PartialModel extends Partial<Model>>(\n diagrams: PartialModel[],\n ...args: ToDBArgs\n ): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>[];\n}\n\nexport interface SimpleAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []> {\n toDB: ToDB<DBModel, Model, ToDBArgs>;\n fromDB: FromDB<DBModel, Model, FromDBArgs>;\n}\n\nexport interface SmartSimpleAdapter<\n DBModel,\n Model,\n FromDBArgs extends any[] = [],\n ToDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n> {\n toDB: SmartToDB<DBModel, Model, ToDBArgs, KeyRemap>;\n fromDB: SmartFromDB<DBModel, Model, FromDBArgs, KeyRemap>;\n}\n\nexport interface MultiAdapter<\n DBModel,\n Model,\n FromDBArgs extends any[] = [],\n ToDBArgs extends any[] = [],\n> extends SimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs> {\n mapToDB: MapToDB<DBModel, Model, ToDBArgs>;\n mapFromDB: MapFromDB<DBModel, Model, FromDBArgs>;\n}\n\nexport interface SmartMultiAdapter<\n DBModel,\n Model,\n FromDBArgs extends any[] = [],\n ToDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n> extends SmartSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap> {\n mapToDB: SmartMapToDB<DBModel, Model, ToDBArgs, KeyRemap>;\n mapFromDB: SmartMapFromDB<DBModel, Model, FromDBArgs, KeyRemap>;\n}\n\nexport interface AdapterOptions {\n debug?: (message: string, model: unknown) => void;\n}\n\nexport interface AnyMultiAdapter extends MultiAdapter<any, any> {}\n\nexport interface AnySimpleAdapter extends SimpleAdapter<any, any> {}\n\nconst toDBFactory =\n <ToDBArgs extends any[] = []>(toDB: (model: any, ...args: ToDBArgs) => any, { debug }: AdapterOptions = {}) =>\n (model: any, ...args: ToDBArgs): any => {\n debug?.('adapter called with value from the store', model);\n\n const result = toDB(model, ...args);\n\n debug?.('converted store value to', result);\n\n return result;\n };\n\nconst fromDBFactory =\n <FromDBArgs extends any[] = []>(fromDB: (dbModel: any, ...args: FromDBArgs) => any, { debug }: AdapterOptions = {}) =>\n (dbModel: any, ...args: FromDBArgs): any => {\n debug?.('adapter called with value from DB', dbModel);\n\n const result = fromDB(dbModel, ...args);\n\n debug?.('converted DB value to', result);\n\n return result;\n };\n\nconst mapToDBFactory =\n <ToDBArgs extends any[] = []>(toDB: (model: any, ...args: ToDBArgs) => any, { debug }: AdapterOptions = {}) =>\n (models: any[], ...args: ToDBArgs): any[] => {\n debug?.('adapter called with values from store', models);\n\n const result = models.map((model) => toDB(model, ...args));\n\n debug?.('converted store values to', result);\n\n return result;\n };\n\nconst mapFromDBFactory =\n <FromDBArgs extends any[] = []>(fromDB: (dbModel: any, ...args: FromDBArgs) => any, { debug }: AdapterOptions = {}) =>\n (dbModels: any[], ...args: FromDBArgs): any[] => {\n debug?.('adapter called with values from DB', dbModels);\n\n const result = dbModels.map((dbModel) => fromDB(dbModel, ...args));\n\n debug?.('converted DB values to', result);\n\n return result;\n };\n\nexport const createSimpleAdapter = <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []>(\n fromDB: (dbModel: DBModel, ...args: FromDBArgs) => Model,\n toDB: (model: Model, ...args: ToDBArgs) => DBModel,\n options: AdapterOptions = {}\n): SimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs> => ({\n toDB: toDBFactory(toDB, options),\n\n fromDB: fromDBFactory(fromDB, options),\n});\n\nexport const createSmartSimpleAdapter = <\n DBModel,\n Model,\n FromDBArgs extends any[] = [],\n ToDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n>(\n fromDB: (dbModel: Partial<DBModel>, ...args: FromDBArgs) => Partial<Model>,\n toDB: (model: Partial<Model>, ...args: ToDBArgs) => Partial<DBModel>,\n options: AdapterOptions = {}\n // eslint-disable-next-line sonarjs/no-identical-functions\n): SmartSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap> => ({\n toDB: toDBFactory(toDB, options),\n\n fromDB: fromDBFactory(fromDB, options),\n});\n\nexport const createMultiAdapter = <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []>(\n fromDB: (dbModel: DBModel, ...args: FromDBArgs) => Model,\n toDB: (model: Model, ...args: ToDBArgs) => DBModel,\n options: AdapterOptions = {}\n): MultiAdapter<DBModel, Model, FromDBArgs, ToDBArgs> => ({\n ...createSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs>(fromDB, toDB, options),\n\n mapToDB: mapToDBFactory(toDB, options),\n\n mapFromDB: mapFromDBFactory(fromDB, options),\n});\n\nexport const createSmartMultiAdapter = <\n DBModel,\n Model,\n FromDBArgs extends any[] = [],\n ToDBArgs extends any[] = [],\n KeyRemap extends [keyof DBModel, keyof Model][] = [],\n>(\n fromDB: (dbModel: Partial<DBModel>, ...args: FromDBArgs) => Partial<Model>,\n toDB: (model: Partial<Model>, ...args: ToDBArgs) => Partial<DBModel>,\n options: AdapterOptions = {}\n): SmartMultiAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap> => ({\n ...createSmartSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap>(fromDB, toDB, options),\n\n mapToDB: mapToDBFactory(toDB, options),\n\n mapFromDB: mapFromDBFactory(fromDB, options),\n});\n","import { createMultiAdapter, createSimpleAdapter } from './adapter';\n\nexport type Identity = <Model>(model: Model) => Model;\nexport type IdentityMulti = <Model>(models: Model[]) => Model[];\n\nexport interface Simple {\n toDB: Identity;\n fromDB: Identity;\n}\n\nexport interface Multi extends Simple {\n mapToDB: IdentityMulti;\n mapFromDB: IdentityMulti;\n}\n\nexport const transformer: Identity = (value) => value;\n\nexport const multi: Multi = createMultiAdapter<any, any>(transformer, transformer);\n\nexport const simple: Simple = createSimpleAdapter<any, any>(transformer, transformer);\n\nexport const createMulti = <Model>() => createMultiAdapter<Model, Model>(transformer, transformer);\n\nexport const createSimple = <Model>() => createSimpleAdapter<Model, Model>(transformer, transformer);\n","import { createMultiAdapter, createSimpleAdapter } from './adapter';\n\nexport class NotImplementedError extends Error {\n constructor() {\n super('adapter not implemented');\n }\n}\n\nexport const transformer = (): never => {\n throw new NotImplementedError();\n};\n\nexport const multi = createMultiAdapter(transformer, transformer);\nexport const simple = createSimpleAdapter(transformer, transformer);\n"],"mappings":";;AAmKA,MAAM,eAC0B,MAA8C,EAAE,UAA0B,CAAC,OACxG,OAAY,GAAG,SAAwB;CACtC,QAAQ,4CAA4C,KAAK;CAEzD,MAAM,SAAS,KAAK,OAAO,GAAG,IAAI;CAElC,QAAQ,4BAA4B,MAAM;CAE1C,OAAO;AACT;AAEF,MAAM,iBAC4B,QAAoD,EAAE,UAA0B,CAAC,OAChH,SAAc,GAAG,SAA0B;CAC1C,QAAQ,qCAAqC,OAAO;CAEpD,MAAM,SAAS,OAAO,SAAS,GAAG,IAAI;CAEtC,QAAQ,yBAAyB,MAAM;CAEvC,OAAO;AACT;AAEF,MAAM,kBAC0B,MAA8C,EAAE,UAA0B,CAAC,OACxG,QAAe,GAAG,SAA0B;CAC3C,QAAQ,yCAAyC,MAAM;CAEvD,MAAM,SAAS,OAAO,KAAK,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC;CAEzD,QAAQ,6BAA6B,MAAM;CAE3C,OAAO;AACT;AAEF,MAAM,oBAC4B,QAAoD,EAAE,UAA0B,CAAC,OAChH,UAAiB,GAAG,SAA4B;CAC/C,QAAQ,sCAAsC,QAAQ;CAEtD,MAAM,SAAS,SAAS,KAAK,YAAY,OAAO,SAAS,GAAG,IAAI,CAAC;CAEjE,QAAQ,0BAA0B,MAAM;CAExC,OAAO;AACT;AAEF,MAAa,uBACX,QACA,MACA,UAA0B,CAAC,OAC8B;CACzD,MAAM,YAAY,MAAM,OAAO;CAE/B,QAAQ,cAAc,QAAQ,OAAO;AACvC;AAEA,MAAa,4BAOX,QACA,MACA,UAA0B,CAAC,OAE6C;CACxE,MAAM,YAAY,MAAM,OAAO;CAE/B,QAAQ,cAAc,QAAQ,OAAO;AACvC;AAEA,MAAa,sBACX,QACA,MACA,UAA0B,CAAC,OAC6B;CACxD,GAAG,oBAA0D,QAAQ,MAAM,OAAO;CAElF,SAAS,eAAe,MAAM,OAAO;CAErC,WAAW,iBAAiB,QAAQ,OAAO;AAC7C;AAEA,MAAa,2BAOX,QACA,MACA,UAA0B,CAAC,OAC4C;CACvE,GAAG,yBAAyE,QAAQ,MAAM,OAAO;CAEjG,SAAS,eAAe,MAAM,OAAO;CAErC,WAAW,iBAAiB,QAAQ,OAAO;AAC7C;;;;;;;;;AC3PA,MAAaA,iBAAyB,UAAU;AAEhD,MAAaC,UAAe,mBAA6BD,eAAaA,aAAW;AAEjF,MAAaE,WAAiB,oBAA8BF,eAAaA,aAAW;AAEpF,MAAa,oBAA2B,mBAAiCA,eAAaA,aAAW;AAEjG,MAAa,qBAA4B,oBAAkCA,eAAaA,aAAW;;;;;;;;ACrBnG,IAAa,sBAAb,cAAyC,MAAM;CAC7C,cAAc;EACZ,MAAM,yBAAyB;CACjC;AACF;AAEA,MAAa,oBAA2B;CACtC,MAAM,IAAI,oBAAoB;AAChC;AAEA,MAAa,QAAQ,mBAAmB,aAAa,WAAW;AAChE,MAAa,SAAS,oBAAoB,aAAa,WAAW"}
@@ -0,0 +1,12 @@
1
+ // \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true
8
+ });
9
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
+ return target;
11
+ };
12
+ export { __exportAll as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voiceflow/bidirectional-adapter",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "description": "bi-directional adapter factory, used to decouple systems across shared data structures",
5
5
  "keywords": [
6
6
  "adapter",
@@ -20,23 +20,14 @@
20
20
  "author": "Tyler Han, Ben Teichman",
21
21
  "type": "module",
22
22
  "exports": {
23
- ".": {
24
- "types": "./build/cjs/index.d.ts",
25
- "import": "./build/esm/index.js",
26
- "default": "./build/cjs/index.js"
27
- }
23
+ ".": "./build/index.mjs"
28
24
  },
29
- "main": "build/cjs/index.js",
30
- "module": "build/esm/index.js",
31
- "types": "build/esm/index.d.ts",
32
25
  "files": [
33
26
  "build"
34
27
  ],
35
28
  "scripts": {
36
29
  "build": "yarn g:turbo run build:cmd --filter=@voiceflow/bidirectional-adapter...",
37
- "build:cjs": "yarn g:build:pkg cjs",
38
- "build:cmd": "yarn g:run-p build:cjs build:esm",
39
- "build:esm": "yarn g:build:pkg esm",
30
+ "build:cmd": "yarn g:tsdown",
40
31
  "clean": "yarn g:rimraf build",
41
32
  "lint": "yarn g:run-p -c lint:eslint lint:prettier",
42
33
  "lint:eslint": "yarn g:eslint",
@@ -55,5 +46,5 @@
55
46
  "volta": {
56
47
  "extends": "../../package.json"
57
48
  },
58
- "gitHead": "450bc0578d83b6bb5fefbf9ebc105bc21e2412e7"
49
+ "gitHead": "856cf9c6f41c3510675115d0feb331c6165f0975"
59
50
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSmartMultiAdapter = exports.createMultiAdapter = exports.createSmartSimpleAdapter = exports.createSimpleAdapter = void 0;
4
- const toDBFactory = (toDB, { debug } = {}) => (model, ...args) => {
5
- debug?.('adapter called with value from the store', model);
6
- const result = toDB(model, ...args);
7
- debug?.('converted store value to', result);
8
- return result;
9
- };
10
- const fromDBFactory = (fromDB, { debug } = {}) => (dbModel, ...args) => {
11
- debug?.('adapter called with value from DB', dbModel);
12
- const result = fromDB(dbModel, ...args);
13
- debug?.('converted DB value to', result);
14
- return result;
15
- };
16
- const mapToDBFactory = (toDB, { debug } = {}) => (models, ...args) => {
17
- debug?.('adapter called with values from store', models);
18
- const result = models.map((model) => toDB(model, ...args));
19
- debug?.('converted store values to', result);
20
- return result;
21
- };
22
- const mapFromDBFactory = (fromDB, { debug } = {}) => (dbModels, ...args) => {
23
- debug?.('adapter called with values from DB', dbModels);
24
- const result = dbModels.map((dbModel) => fromDB(dbModel, ...args));
25
- debug?.('converted DB values to', result);
26
- return result;
27
- };
28
- const createSimpleAdapter = (fromDB, toDB, options = {}) => ({
29
- toDB: toDBFactory(toDB, options),
30
- fromDB: fromDBFactory(fromDB, options),
31
- });
32
- exports.createSimpleAdapter = createSimpleAdapter;
33
- const createSmartSimpleAdapter = (fromDB, toDB, options = {}
34
- // eslint-disable-next-line sonarjs/no-identical-functions
35
- ) => ({
36
- toDB: toDBFactory(toDB, options),
37
- fromDB: fromDBFactory(fromDB, options),
38
- });
39
- exports.createSmartSimpleAdapter = createSmartSimpleAdapter;
40
- const createMultiAdapter = (fromDB, toDB, options = {}) => ({
41
- ...(0, exports.createSimpleAdapter)(fromDB, toDB, options),
42
- mapToDB: mapToDBFactory(toDB, options),
43
- mapFromDB: mapFromDBFactory(fromDB, options),
44
- });
45
- exports.createMultiAdapter = createMultiAdapter;
46
- const createSmartMultiAdapter = (fromDB, toDB, options = {}) => ({
47
- ...(0, exports.createSmartSimpleAdapter)(fromDB, toDB, options),
48
- mapToDB: mapToDBFactory(toDB, options),
49
- mapFromDB: mapFromDBFactory(fromDB, options),
50
- });
51
- exports.createSmartMultiAdapter = createSmartMultiAdapter;
52
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":";;;AAmKA,MAAM,WAAW,GACf,CAA8B,IAA4C,EAAE,EAAE,KAAK,KAAqB,EAAE,EAAE,EAAE,CAC9G,CAAC,KAAU,EAAE,GAAG,IAAc,EAAO,EAAE;IACrC,KAAK,EAAE,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAEpC,KAAK,EAAE,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ,MAAM,aAAa,GACjB,CAAgC,MAAkD,EAAE,EAAE,KAAK,KAAqB,EAAE,EAAE,EAAE,CACtH,CAAC,OAAY,EAAE,GAAG,IAAgB,EAAO,EAAE;IACzC,KAAK,EAAE,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAExC,KAAK,EAAE,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAEzC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ,MAAM,cAAc,GAClB,CAA8B,IAA4C,EAAE,EAAE,KAAK,KAAqB,EAAE,EAAE,EAAE,CAC9G,CAAC,MAAa,EAAE,GAAG,IAAc,EAAS,EAAE;IAC1C,KAAK,EAAE,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAE3D,KAAK,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEJ,MAAM,gBAAgB,GACpB,CAAgC,MAAkD,EAAE,EAAE,KAAK,KAAqB,EAAE,EAAE,EAAE,CACtH,CAAC,QAAe,EAAE,GAAG,IAAgB,EAAS,EAAE;IAC9C,KAAK,EAAE,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnE,KAAK,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEG,MAAM,mBAAmB,GAAG,CACjC,MAAwD,EACxD,IAAkD,EAClD,UAA0B,EAAE,EACyB,EAAE,CAAC,CAAC;IACzD,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;IAEhC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;CACvC,CAAC,CAAC;AARU,QAAA,mBAAmB,uBAQ7B;AAEI,MAAM,wBAAwB,GAAG,CAOtC,MAA0E,EAC1E,IAAoE,EACpE,UAA0B,EAAE;AAC5B,0DAA0D;EACU,EAAE,CAAC,CAAC;IACxE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;IAEhC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;CACvC,CAAC,CAAC;AAfU,QAAA,wBAAwB,4BAelC;AAEI,MAAM,kBAAkB,GAAG,CAChC,MAAwD,EACxD,IAAkD,EAClD,UAA0B,EAAE,EACwB,EAAE,CAAC,CAAC;IACxD,GAAG,IAAA,2BAAmB,EAAuC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAEnF,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;IAEtC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;CAC7C,CAAC,CAAC;AAVU,QAAA,kBAAkB,sBAU5B;AAEI,MAAM,uBAAuB,GAAG,CAOrC,MAA0E,EAC1E,IAAoE,EACpE,UAA0B,EAAE,EACuC,EAAE,CAAC,CAAC;IACvE,GAAG,IAAA,gCAAwB,EAAiD,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAElG,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;IAEtC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;CAC7C,CAAC,CAAC;AAhBU,QAAA,uBAAuB,2BAgBjC"}
@@ -1,16 +0,0 @@
1
- export type Identity = <Model>(model: Model) => Model;
2
- export type IdentityMulti = <Model>(models: Model[]) => Model[];
3
- export interface Simple {
4
- toDB: Identity;
5
- fromDB: Identity;
6
- }
7
- export interface Multi extends Simple {
8
- mapToDB: IdentityMulti;
9
- mapFromDB: IdentityMulti;
10
- }
11
- export declare const transformer: Identity;
12
- export declare const multi: Multi;
13
- export declare const simple: Simple;
14
- export declare const createMulti: <Model>() => import("./adapter").MultiAdapter<Model, Model, [], []>;
15
- export declare const createSimple: <Model>() => import("./adapter").SimpleAdapter<Model, Model, [], []>;
16
- //# sourceMappingURL=identity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/identity.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC;AAEhE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,KAAM,SAAQ,MAAM;IACnC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,eAAO,MAAM,WAAW,EAAE,QAA2B,CAAC;AAEtD,eAAO,MAAM,KAAK,EAAE,KAA8D,CAAC;AAEnF,eAAO,MAAM,MAAM,EAAE,MAAgE,CAAC;AAEtF,eAAO,MAAM,WAAW,GAAI,KAAK,6DAAiE,CAAC;AAEnG,eAAO,MAAM,YAAY,GAAI,KAAK,8DAAkE,CAAC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSimple = exports.createMulti = exports.simple = exports.multi = exports.transformer = void 0;
4
- const adapter_1 = require("./adapter");
5
- const transformer = (value) => value;
6
- exports.transformer = transformer;
7
- exports.multi = (0, adapter_1.createMultiAdapter)(exports.transformer, exports.transformer);
8
- exports.simple = (0, adapter_1.createSimpleAdapter)(exports.transformer, exports.transformer);
9
- const createMulti = () => (0, adapter_1.createMultiAdapter)(exports.transformer, exports.transformer);
10
- exports.createMulti = createMulti;
11
- const createSimple = () => (0, adapter_1.createSimpleAdapter)(exports.transformer, exports.transformer);
12
- exports.createSimple = createSimple;
13
- //# sourceMappingURL=identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/identity.ts"],"names":[],"mappings":";;;AAAA,uCAAoE;AAe7D,MAAM,WAAW,GAAa,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;AAAzC,QAAA,WAAW,eAA8B;AAEzC,QAAA,KAAK,GAAU,IAAA,4BAAkB,EAAW,mBAAW,EAAE,mBAAW,CAAC,CAAC;AAEtE,QAAA,MAAM,GAAW,IAAA,6BAAmB,EAAW,mBAAW,EAAE,mBAAW,CAAC,CAAC;AAE/E,MAAM,WAAW,GAAG,GAAU,EAAE,CAAC,IAAA,4BAAkB,EAAe,mBAAW,EAAE,mBAAW,CAAC,CAAC;AAAtF,QAAA,WAAW,eAA2E;AAE5F,MAAM,YAAY,GAAG,GAAU,EAAE,CAAC,IAAA,6BAAmB,EAAe,mBAAW,EAAE,mBAAW,CAAC,CAAC;AAAxF,QAAA,YAAY,gBAA4E"}
@@ -1,5 +0,0 @@
1
- export * from './adapter';
2
- export { createMultiAdapter as default } from './adapter';
3
- export * as identityAdapter from './identity';
4
- export * as notImplementedAdapter from './notImplemented';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,qBAAqB,MAAM,kBAAkB,CAAC"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.notImplementedAdapter = exports.identityAdapter = exports.default = void 0;
40
- __exportStar(require("./adapter"), exports);
41
- // eslint-disable-next-line no-restricted-exports
42
- var adapter_1 = require("./adapter");
43
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return adapter_1.createMultiAdapter; } });
44
- exports.identityAdapter = __importStar(require("./identity"));
45
- exports.notImplementedAdapter = __importStar(require("./notImplemented"));
46
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,iDAAiD;AACjD,qCAA0D;AAAjD,kGAAA,kBAAkB,OAAW;AACtC,8DAA8C;AAC9C,0EAA0D"}
@@ -1,7 +0,0 @@
1
- export declare class NotImplementedError extends Error {
2
- constructor();
3
- }
4
- export declare const transformer: () => never;
5
- export declare const multi: import("./adapter").MultiAdapter<never, never, [], []>;
6
- export declare const simple: import("./adapter").SimpleAdapter<never, never, [], []>;
7
- //# sourceMappingURL=notImplemented.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notImplemented.d.ts","sourceRoot":"","sources":["../../src/notImplemented.ts"],"names":[],"mappings":"AAEA,qBAAa,mBAAoB,SAAQ,KAAK;;CAI7C;AAED,eAAO,MAAM,WAAW,QAAO,KAE9B,CAAC;AAEF,eAAO,MAAM,KAAK,wDAA+C,CAAC;AAClE,eAAO,MAAM,MAAM,yDAAgD,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.simple = exports.multi = exports.transformer = exports.NotImplementedError = void 0;
4
- const adapter_1 = require("./adapter");
5
- class NotImplementedError extends Error {
6
- constructor() {
7
- super('adapter not implemented');
8
- }
9
- }
10
- exports.NotImplementedError = NotImplementedError;
11
- const transformer = () => {
12
- throw new NotImplementedError();
13
- };
14
- exports.transformer = transformer;
15
- exports.multi = (0, adapter_1.createMultiAdapter)(exports.transformer, exports.transformer);
16
- exports.simple = (0, adapter_1.createSimpleAdapter)(exports.transformer, exports.transformer);
17
- //# sourceMappingURL=notImplemented.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notImplemented.js","sourceRoot":"","sources":["../../src/notImplemented.ts"],"names":[],"mappings":";;;AAAA,uCAAoE;AAEpE,MAAa,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnC,CAAC;CACF;AAJD,kDAIC;AAEM,MAAM,WAAW,GAAG,GAAU,EAAE;IACrC,MAAM,IAAI,mBAAmB,EAAE,CAAC;AAClC,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEW,QAAA,KAAK,GAAG,IAAA,4BAAkB,EAAC,mBAAW,EAAE,mBAAW,CAAC,CAAC;AACrD,QAAA,MAAM,GAAG,IAAA,6BAAmB,EAAC,mBAAW,EAAE,mBAAW,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- { "type": "commonjs" }
@@ -1,71 +0,0 @@
1
- type EmptyObject = Record<string, never>;
2
- type UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends (k: infer Intersection) => void ? Intersection : never;
3
- type RemapFromDBUnion<DBModel, Model, PartialDBModel extends Partial<DBModel>, KeyRemap extends [keyof PartialDBModel, keyof Model]> = KeyRemap extends [infer ToDBKey extends keyof PartialDBModel, infer FromDBKey extends keyof Model] ? PartialDBModel extends {
4
- [key in ToDBKey]: Exclude<PartialDBModel[key], undefined>;
5
- } ? {
6
- [key in FromDBKey]: Model[key];
7
- } : EmptyObject : EmptyObject;
8
- type RemapFromDBKeys<DBModel, Model, PartialDBModel extends Partial<DBModel>, KeyRemap extends [keyof PartialDBModel, keyof Model][]> = Pick<Model, Extract<keyof Model, Exclude<keyof PartialDBModel, KeyRemap[number][0]>>> & UnionToIntersection<Exclude<RemapFromDBUnion<DBModel, Model, PartialDBModel, KeyRemap[number]>, EmptyObject>>;
9
- type RemapToDBUnion<DBModel, Model, PartialModel extends Partial<Model>, KeyRemap extends [keyof DBModel, keyof PartialModel]> = KeyRemap extends [infer ToDBKey extends keyof DBModel, infer FromDBKey extends keyof PartialModel] ? PartialModel extends {
10
- [key in FromDBKey]: Exclude<PartialModel[key], undefined>;
11
- } ? {
12
- [key in ToDBKey]: DBModel[key];
13
- } : EmptyObject : EmptyObject;
14
- type RemapToDBKeys<DBModel, Model, PartialModel extends Partial<Model>, KeyRemap extends [keyof DBModel, keyof PartialModel][]> = Pick<DBModel, Extract<keyof DBModel, Exclude<keyof PartialModel, KeyRemap[number][1]>>> & UnionToIntersection<Exclude<RemapToDBUnion<DBModel, Model, PartialModel, KeyRemap[number]>, EmptyObject>>;
15
- export interface FromDB<DBModel, Model, FromDBArgs extends any[] = []> {
16
- (dbModel: DBModel, ...args: FromDBArgs): Model;
17
- }
18
- export interface SmartFromDB<DBModel, Model, FromDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
19
- (dbModel: DBModel, ...args: FromDBArgs): Model;
20
- <PartialDBModel extends Partial<DBModel>>(dbModel: PartialDBModel, ...args: FromDBArgs): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>;
21
- }
22
- export interface MapFromDB<DBModel, Model, FromDBArgs extends any[] = []> {
23
- (dbModels: DBModel[], ...args: FromDBArgs): Model[];
24
- }
25
- export interface SmartMapFromDB<DBModel, Model, FromDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
26
- (dbModels: DBModel[], ...args: FromDBArgs): Model[];
27
- <PartialDBModel extends Partial<DBModel>>(dbModels: PartialDBModel[], ...args: FromDBArgs): RemapFromDBKeys<DBModel, Model, PartialDBModel, KeyRemap>[];
28
- }
29
- export interface ToDB<DBModel, Model, ToDBArgs extends any[] = []> {
30
- (model: Model, ...args: ToDBArgs): DBModel;
31
- }
32
- export interface SmartToDB<DBModel, Model, ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
33
- (model: Model, ...args: ToDBArgs): DBModel;
34
- <PartialModel extends Partial<Model>>(model: PartialModel, ...args: ToDBArgs): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>;
35
- }
36
- export interface MapToDB<DBModel, Model, ToDBArgs extends any[] = []> {
37
- (models: Model[], ...args: ToDBArgs): DBModel[];
38
- }
39
- export interface SmartMapToDB<DBModel, Model, ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
40
- (models: Model[], ...args: ToDBArgs): DBModel[];
41
- <PartialModel extends Partial<Model>>(diagrams: PartialModel[], ...args: ToDBArgs): RemapToDBKeys<DBModel, Model, PartialModel, KeyRemap>[];
42
- }
43
- export interface SimpleAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []> {
44
- toDB: ToDB<DBModel, Model, ToDBArgs>;
45
- fromDB: FromDB<DBModel, Model, FromDBArgs>;
46
- }
47
- export interface SmartSimpleAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> {
48
- toDB: SmartToDB<DBModel, Model, ToDBArgs, KeyRemap>;
49
- fromDB: SmartFromDB<DBModel, Model, FromDBArgs, KeyRemap>;
50
- }
51
- export interface MultiAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []> extends SimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs> {
52
- mapToDB: MapToDB<DBModel, Model, ToDBArgs>;
53
- mapFromDB: MapFromDB<DBModel, Model, FromDBArgs>;
54
- }
55
- export interface SmartMultiAdapter<DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []> extends SmartSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap> {
56
- mapToDB: SmartMapToDB<DBModel, Model, ToDBArgs, KeyRemap>;
57
- mapFromDB: SmartMapFromDB<DBModel, Model, FromDBArgs, KeyRemap>;
58
- }
59
- export interface AdapterOptions {
60
- debug?: (message: string, model: unknown) => void;
61
- }
62
- export interface AnyMultiAdapter extends MultiAdapter<any, any> {
63
- }
64
- export interface AnySimpleAdapter extends SimpleAdapter<any, any> {
65
- }
66
- export declare const createSimpleAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []>(fromDB: (dbModel: DBModel, ...args: FromDBArgs) => Model, toDB: (model: Model, ...args: ToDBArgs) => DBModel, options?: AdapterOptions) => SimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs>;
67
- export declare const createSmartSimpleAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []>(fromDB: (dbModel: Partial<DBModel>, ...args: FromDBArgs) => Partial<Model>, toDB: (model: Partial<Model>, ...args: ToDBArgs) => Partial<DBModel>, options?: AdapterOptions) => SmartSimpleAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap>;
68
- export declare const createMultiAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = []>(fromDB: (dbModel: DBModel, ...args: FromDBArgs) => Model, toDB: (model: Model, ...args: ToDBArgs) => DBModel, options?: AdapterOptions) => MultiAdapter<DBModel, Model, FromDBArgs, ToDBArgs>;
69
- export declare const createSmartMultiAdapter: <DBModel, Model, FromDBArgs extends any[] = [], ToDBArgs extends any[] = [], KeyRemap extends [keyof DBModel, keyof Model][] = []>(fromDB: (dbModel: Partial<DBModel>, ...args: FromDBArgs) => Partial<Model>, toDB: (model: Partial<Model>, ...args: ToDBArgs) => Partial<DBModel>, options?: AdapterOptions) => SmartMultiAdapter<DBModel, Model, FromDBArgs, ToDBArgs, KeyRemap>;
70
- export {};
71
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- const toDBFactory = (toDB, { debug } = {}) => (model, ...args) => {
2
- debug?.('adapter called with value from the store', model);
3
- const result = toDB(model, ...args);
4
- debug?.('converted store value to', result);
5
- return result;
6
- };
7
- const fromDBFactory = (fromDB, { debug } = {}) => (dbModel, ...args) => {
8
- debug?.('adapter called with value from DB', dbModel);
9
- const result = fromDB(dbModel, ...args);
10
- debug?.('converted DB value to', result);
11
- return result;
12
- };
13
- const mapToDBFactory = (toDB, { debug } = {}) => (models, ...args) => {
14
- debug?.('adapter called with values from store', models);
15
- const result = models.map((model) => toDB(model, ...args));
16
- debug?.('converted store values to', result);
17
- return result;
18
- };
19
- const mapFromDBFactory = (fromDB, { debug } = {}) => (dbModels, ...args) => {
20
- debug?.('adapter called with values from DB', dbModels);
21
- const result = dbModels.map((dbModel) => fromDB(dbModel, ...args));
22
- debug?.('converted DB values to', result);
23
- return result;
24
- };
25
- export const createSimpleAdapter = (fromDB, toDB, options = {}) => ({
26
- toDB: toDBFactory(toDB, options),
27
- fromDB: fromDBFactory(fromDB, options),
28
- });
29
- export const createSmartSimpleAdapter = (fromDB, toDB, options = {}
30
- // eslint-disable-next-line sonarjs/no-identical-functions
31
- ) => ({
32
- toDB: toDBFactory(toDB, options),
33
- fromDB: fromDBFactory(fromDB, options),
34
- });
35
- export const createMultiAdapter = (fromDB, toDB, options = {}) => ({
36
- ...createSimpleAdapter(fromDB, toDB, options),
37
- mapToDB: mapToDBFactory(toDB, options),
38
- mapFromDB: mapFromDBFactory(fromDB, options),
39
- });
40
- export const createSmartMultiAdapter = (fromDB, toDB, options = {}) => ({
41
- ...createSmartSimpleAdapter(fromDB, toDB, options),
42
- mapToDB: mapToDBFactory(toDB, options),
43
- mapFromDB: mapFromDBFactory(fromDB, options),
44
- });
45
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export type Identity = <Model>(model: Model) => Model;
2
- export type IdentityMulti = <Model>(models: Model[]) => Model[];
3
- export interface Simple {
4
- toDB: Identity;
5
- fromDB: Identity;
6
- }
7
- export interface Multi extends Simple {
8
- mapToDB: IdentityMulti;
9
- mapFromDB: IdentityMulti;
10
- }
11
- export declare const transformer: Identity;
12
- export declare const multi: Multi;
13
- export declare const simple: Simple;
14
- export declare const createMulti: <Model>() => import("./adapter.js").MultiAdapter<Model, Model, [], []>;
15
- export declare const createSimple: <Model>() => import("./adapter.js").SimpleAdapter<Model, Model, [], []>;
16
- //# sourceMappingURL=identity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/identity.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC;AAEhE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,KAAM,SAAQ,MAAM;IACnC,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,eAAO,MAAM,WAAW,EAAE,QAA2B,CAAC;AAEtD,eAAO,MAAM,KAAK,EAAE,KAA8D,CAAC;AAEnF,eAAO,MAAM,MAAM,EAAE,MAAgE,CAAC;AAEtF,eAAO,MAAM,WAAW,GAAI,KAAK,6DAAiE,CAAC;AAEnG,eAAO,MAAM,YAAY,GAAI,KAAK,8DAAkE,CAAC"}
@@ -1,7 +0,0 @@
1
- import { createMultiAdapter, createSimpleAdapter } from './adapter.js';
2
- export const transformer = (value) => value;
3
- export const multi = createMultiAdapter(transformer, transformer);
4
- export const simple = createSimpleAdapter(transformer, transformer);
5
- export const createMulti = () => createMultiAdapter(transformer, transformer);
6
- export const createSimple = () => createSimpleAdapter(transformer, transformer);
7
- //# sourceMappingURL=identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAepE,MAAM,CAAC,MAAM,WAAW,GAAa,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAU,kBAAkB,CAAW,WAAW,EAAE,WAAW,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,MAAM,GAAW,mBAAmB,CAAW,WAAW,EAAE,WAAW,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAU,EAAE,CAAC,kBAAkB,CAAe,WAAW,EAAE,WAAW,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,YAAY,GAAG,GAAU,EAAE,CAAC,mBAAmB,CAAe,WAAW,EAAE,WAAW,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from './adapter.js';
2
- export { createMultiAdapter as default } from './adapter.js';
3
- export * as identityAdapter from './identity.js';
4
- export * as notImplementedAdapter from './notImplemented.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,qBAAqB,MAAM,kBAAkB,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './adapter.js';
2
- // eslint-disable-next-line no-restricted-exports
3
- export { createMultiAdapter as default } from './adapter.js';
4
- export * as identityAdapter from './identity.js';
5
- export * as notImplementedAdapter from './notImplemented.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,iDAAiD;AACjD,OAAO,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,qBAAqB,MAAM,kBAAkB,CAAC"}
@@ -1,7 +0,0 @@
1
- export declare class NotImplementedError extends Error {
2
- constructor();
3
- }
4
- export declare const transformer: () => never;
5
- export declare const multi: import("./adapter.js").MultiAdapter<never, never, [], []>;
6
- export declare const simple: import("./adapter.js").SimpleAdapter<never, never, [], []>;
7
- //# sourceMappingURL=notImplemented.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notImplemented.d.ts","sourceRoot":"","sources":["../../src/notImplemented.ts"],"names":[],"mappings":"AAEA,qBAAa,mBAAoB,SAAQ,KAAK;;CAI7C;AAED,eAAO,MAAM,WAAW,QAAO,KAE9B,CAAC;AAEF,eAAO,MAAM,KAAK,wDAA+C,CAAC;AAClE,eAAO,MAAM,MAAM,yDAAgD,CAAC"}
@@ -1,12 +0,0 @@
1
- import { createMultiAdapter, createSimpleAdapter } from './adapter.js';
2
- export class NotImplementedError extends Error {
3
- constructor() {
4
- super('adapter not implemented');
5
- }
6
- }
7
- export const transformer = () => {
8
- throw new NotImplementedError();
9
- };
10
- export const multi = createMultiAdapter(transformer, transformer);
11
- export const simple = createSimpleAdapter(transformer, transformer);
12
- //# sourceMappingURL=notImplemented.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notImplemented.js","sourceRoot":"","sources":["../../src/notImplemented.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEpE,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,GAAU,EAAE;IACrC,MAAM,IAAI,mBAAmB,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- { "type": "module" }