@fjell/client-api 4.3.3 → 4.4.1

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 (104) hide show
  1. package/.kodrdriv/config.yaml +10 -0
  2. package/.kodrdriv/context/content.md +1 -0
  3. package/babel.config.cjs +14 -0
  4. package/dist/{src/AItemAPI.d.ts → AItemAPI.d.ts} +4 -4
  5. package/dist/{src/AItemAPI.js → AItemAPI.js} +18 -12
  6. package/dist/AItemAPI.js.map +1 -0
  7. package/dist/CItemAPI.d.ts +16 -0
  8. package/dist/{src/CItemAPI.js → CItemAPI.js} +14 -7
  9. package/dist/CItemAPI.js.map +1 -0
  10. package/dist/ClientApi.d.ts +13 -0
  11. package/dist/{src/ClientApiOptions.d.ts → ClientApiOptions.d.ts} +2 -2
  12. package/dist/PItemAPI.d.ts +16 -0
  13. package/dist/PItemAPI.js +38 -0
  14. package/dist/PItemAPI.js.map +1 -0
  15. package/dist/{src/Utilities.d.ts → Utilities.d.ts} +1 -1
  16. package/dist/Utilities.js +153 -0
  17. package/dist/Utilities.js.map +1 -0
  18. package/dist/index.cjs +427 -0
  19. package/dist/index.cjs.map +1 -0
  20. package/dist/index.d.ts +6 -0
  21. package/dist/index.js +3 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/logger.d.ts +2 -0
  24. package/dist/logger.js +6 -0
  25. package/dist/logger.js.map +1 -0
  26. package/dist/{src/ops → ops}/action.d.ts +4 -4
  27. package/dist/ops/action.js +20 -0
  28. package/dist/ops/action.js.map +1 -0
  29. package/dist/{src/ops → ops}/all.d.ts +4 -5
  30. package/dist/ops/all.js +24 -0
  31. package/dist/ops/all.js.map +1 -0
  32. package/dist/{src/ops → ops}/allAction.d.ts +4 -4
  33. package/dist/{src/ops → ops}/allAction.js +15 -6
  34. package/dist/ops/allAction.js.map +1 -0
  35. package/dist/{src/ops → ops}/create.d.ts +4 -4
  36. package/dist/ops/create.js +22 -0
  37. package/dist/ops/create.js.map +1 -0
  38. package/dist/{src/ops → ops}/find.d.ts +4 -4
  39. package/dist/ops/find.js +25 -0
  40. package/dist/ops/find.js.map +1 -0
  41. package/dist/{src/ops → ops}/get.d.ts +4 -4
  42. package/dist/ops/get.js +18 -0
  43. package/dist/ops/get.js.map +1 -0
  44. package/dist/{src/ops → ops}/index.d.ts +5 -5
  45. package/dist/ops/index.js +26 -0
  46. package/dist/ops/index.js.map +1 -0
  47. package/dist/ops/one.d.ts +5 -0
  48. package/dist/ops/one.js +29 -0
  49. package/dist/ops/one.js.map +1 -0
  50. package/dist/{src/ops → ops}/remove.d.ts +4 -4
  51. package/dist/ops/remove.js +18 -0
  52. package/dist/ops/remove.js.map +1 -0
  53. package/dist/{src/ops → ops}/update.d.ts +4 -4
  54. package/dist/ops/update.js +19 -0
  55. package/dist/ops/update.js.map +1 -0
  56. package/package.json +37 -32
  57. package/src/CItemAPI.ts +14 -19
  58. package/src/ClientApi.ts +14 -14
  59. package/src/PItemAPI.ts +32 -35
  60. package/src/Utilities.ts +47 -47
  61. package/src/index.ts +7 -4
  62. package/src/logger.ts +1 -1
  63. package/src/ops/one.ts +22 -23
  64. package/dist/src/AItemAPI.js.map +0 -1
  65. package/dist/src/CItemAPI.d.ts +0 -16
  66. package/dist/src/CItemAPI.js.map +0 -1
  67. package/dist/src/ClientApi.d.ts +0 -13
  68. package/dist/src/ClientApi.js +0 -2
  69. package/dist/src/ClientApi.js.map +0 -1
  70. package/dist/src/ClientApiOptions.js +0 -2
  71. package/dist/src/ClientApiOptions.js.map +0 -1
  72. package/dist/src/PItemAPI.d.ts +0 -17
  73. package/dist/src/PItemAPI.js +0 -30
  74. package/dist/src/PItemAPI.js.map +0 -1
  75. package/dist/src/Utilities.js +0 -110
  76. package/dist/src/Utilities.js.map +0 -1
  77. package/dist/src/index.d.ts +0 -4
  78. package/dist/src/index.js +0 -3
  79. package/dist/src/index.js.map +0 -1
  80. package/dist/src/logger.d.ts +0 -2
  81. package/dist/src/logger.js +0 -4
  82. package/dist/src/logger.js.map +0 -1
  83. package/dist/src/ops/action.js +0 -11
  84. package/dist/src/ops/action.js.map +0 -1
  85. package/dist/src/ops/all.js +0 -15
  86. package/dist/src/ops/all.js.map +0 -1
  87. package/dist/src/ops/allAction.js.map +0 -1
  88. package/dist/src/ops/create.js +0 -14
  89. package/dist/src/ops/create.js.map +0 -1
  90. package/dist/src/ops/find.js +0 -15
  91. package/dist/src/ops/find.js.map +0 -1
  92. package/dist/src/ops/get.js +0 -11
  93. package/dist/src/ops/get.js.map +0 -1
  94. package/dist/src/ops/index.js +0 -23
  95. package/dist/src/ops/index.js.map +0 -1
  96. package/dist/src/ops/one.d.ts +0 -5
  97. package/dist/src/ops/one.js +0 -20
  98. package/dist/src/ops/one.js.map +0 -1
  99. package/dist/src/ops/remove.js +0 -11
  100. package/dist/src/ops/remove.js.map +0 -1
  101. package/dist/src/ops/update.js +0 -11
  102. package/dist/src/ops/update.js.map +0 -1
  103. package/dist/tsconfig.tsbuildinfo +0 -1
  104. package/eslint.config.mjs +0 -70
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all.js","sources":["../../src/ops/all.ts"],"sourcesContent":["import {\n Item,\n ItemQuery,\n LocKeyArray,\n queryToParams,\n} from \"@fjell/core\";\nimport { HttpApi, QueryParams } from \"@fjell/http-api\";\n \nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\nimport { GetMethodOptions } from \"@fjell/http-api\";\n \nconst logger = LibLogger.get('client-api', 'ops', 'all');\n\nexport const getAllOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n \n ) => {\n \n const all = async (\n query: ItemQuery = {} as ItemQuery,\n options: Partial<GetMethodOptions> = {},\n locations: LocKeyArray<L1, L2, L3, L4, L5> | [] = []\n ): Promise<V[]> => {\n logger.default('all', { query, locations });\n utilities.verifyLocations(locations);\n const loc: LocKeyArray<L1, L2, L3, L4, L5> | [] = locations;\n \n const params: QueryParams = queryToParams(query);\n \n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.allAuthenticated, params });\n \n return utilities.validatePK(await utilities.processArray(\n api.httpGet<V[]>(\n utilities.getPath(loc),\n requestOptions,\n ))) as V[];\n }\n\n return all;\n}\n \n"],"names":["logger","LibLogger","get","getAllOperation","api","apiOptions","utilities","all","query","options","locations","default","verifyLocations","loc","params","queryToParams","requestOptions","Object","assign","isAuthenticated","allAuthenticated","validatePK","processArray","httpGet","getPath"],"mappings":";;;AAaA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,KAAA,CAAA;AAErCC,MAAAA,eAAAA,GAAkB,CAQ3BC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;IAIF,MAAMC,GAAAA,GAAM,OACVC,KAAAA,GAAmB,EAAe,EAClCC,OAAAA,GAAqC,EAAE,EACvCC,SAAAA,GAAkD,EAAE,GAAA;QAEpDV,MAAOW,CAAAA,OAAO,CAAC,KAAO,EAAA;AAAEH,YAAAA,KAAAA;AAAOE,YAAAA;AAAU,SAAA,CAAA;AACzCJ,QAAAA,SAAAA,CAAUM,eAAe,CAACF,SAAAA,CAAAA;AAC1B,QAAA,MAAMG,GAA4CH,GAAAA,SAAAA;AAElD,QAAA,MAAMI,SAAsBC,aAAcP,CAAAA,KAAAA,CAAAA;AAE1C,QAAA,MAAMQ,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIT,OAAS,EAAA;AAAEU,YAAAA,eAAAA,EAAiBd,WAAWe,gBAAgB;AAAEN,YAAAA;AAAO,SAAA,CAAA;AAEzG,QAAA,OAAOR,SAAUe,CAAAA,UAAU,CAAC,MAAMf,SAAUgB,CAAAA,YAAY,CACtDlB,GAAAA,CAAImB,OAAO,CACTjB,SAAUkB,CAAAA,OAAO,CAACX,GAClBG,CAAAA,EAAAA,cAAAA,CAAAA,CAAAA,CAAAA;AAEN,KAAA;IAEA,OAAOT,GAAAA;AACT;;;;"}
@@ -1,5 +1,5 @@
1
- import { Item, LocKeyArray } from "@fjell/core";
2
- import { HttpApi, PostMethodOptions } from "@fjell/http-api";
3
- import { ClientApiOptions } from "../ClientApiOptions";
4
- import { Utilities } from "../Utilities";
1
+ import { Item, LocKeyArray } from '@fjell/core';
2
+ import { HttpApi, PostMethodOptions } from '@fjell/http-api';
3
+ import { ClientApiOptions } from '../ClientApiOptions';
4
+ import { Utilities } from '../Utilities';
5
5
  export declare const getAllActionOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => (action: string, body?: any, options?: Partial<PostMethodOptions>, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V[]>;
@@ -1,14 +1,23 @@
1
- import LibLogger from "../logger";
1
+ import LibLogger from '../logger.js';
2
+
2
3
  const logger = LibLogger.get('client-api', 'ops', 'allAction');
3
- export const getAllActionOperation = (api, apiOptions, utilities) => {
4
- const allAction = async (action, body = {}, options = {}, locations = []) => {
5
- logger.default('allAction', { action, body, locations });
4
+ const getAllActionOperation = (api, apiOptions, utilities)=>{
5
+ const allAction = async (action, body = {}, options = {}, locations = [])=>{
6
+ logger.default('allAction', {
7
+ action,
8
+ body,
9
+ locations
10
+ });
6
11
  utilities.verifyLocations(locations);
7
12
  const loc = locations;
8
- const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.writeAuthenticated });
13
+ const requestOptions = Object.assign({}, options, {
14
+ isAuthenticated: apiOptions.writeAuthenticated
15
+ });
9
16
  // TODO: This should respond to either a single object, or multiple objects in an array.
10
17
  return utilities.validatePK(await utilities.processArray(api.httpPost(utilities.getPath(loc), body, requestOptions)));
11
18
  };
12
19
  return allAction;
13
20
  };
14
- //# sourceMappingURL=allAction.js.map
21
+
22
+ export { getAllActionOperation };
23
+ //# sourceMappingURL=allAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allAction.js","sources":["../../src/ops/allAction.ts"],"sourcesContent":["import {\n Item,\n LocKeyArray\n} from \"@fjell/core\";\nimport { HttpApi, PostMethodOptions } from \"@fjell/http-api\";\n \nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\n \nconst logger = LibLogger.get('client-api', 'ops', 'allAction');\n \nexport const getAllActionOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n \n ) => {\n \n const allAction = async (\n action: string,\n body: any = {},\n options: Partial<PostMethodOptions> = {},\n locations: LocKeyArray<L1, L2, L3, L4, L5> | [] = []\n ): Promise<V[]> => {\n logger.default('allAction', { action, body, locations });\n utilities.verifyLocations(locations);\n \n const loc: LocKeyArray<L1, L2, L3, L4, L5> | [] = locations;\n \n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.writeAuthenticated });\n \n // TODO: This should respond to either a single object, or multiple objects in an array.\n return utilities.validatePK(\n await utilities.processArray(\n api.httpPost<V[]>(\n utilities.getPath(loc),\n body,\n requestOptions,\n )\n )) as V[];\n };\n \n return allAction;\n}\n "],"names":["logger","LibLogger","get","getAllActionOperation","api","apiOptions","utilities","allAction","action","body","options","locations","default","verifyLocations","loc","requestOptions","Object","assign","isAuthenticated","writeAuthenticated","validatePK","processArray","httpPost","getPath"],"mappings":";;AAUA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,WAAA,CAAA;AAErCC,MAAAA,qBAAAA,GAAwB,CAQjCC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;AAIF,IAAA,MAAMC,SAAY,GAAA,OAChBC,MACAC,EAAAA,IAAAA,GAAY,EAAE,EACdC,OAAAA,GAAsC,EAAE,EACxCC,SAAAA,GAAkD,EAAE,GAAA;QAEpDX,MAAOY,CAAAA,OAAO,CAAC,WAAa,EAAA;AAAEJ,YAAAA,MAAAA;AAAQC,YAAAA,IAAAA;AAAME,YAAAA;AAAU,SAAA,CAAA;AACtDL,QAAAA,SAAAA,CAAUO,eAAe,CAACF,SAAAA,CAAAA;AAE1B,QAAA,MAAMG,GAA4CH,GAAAA,SAAAA;AAElD,QAAA,MAAMI,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIP,OAAS,EAAA;AAAEQ,YAAAA,eAAAA,EAAiBb,WAAWc;AAAmB,SAAA,CAAA;;AAGnG,QAAA,OAAOb,SAAUc,CAAAA,UAAU,CACzB,MAAMd,UAAUe,YAAY,CAC1BjB,GAAIkB,CAAAA,QAAQ,CACVhB,SAAAA,CAAUiB,OAAO,CAACT,MAClBL,IACAM,EAAAA,cAAAA,CAAAA,CAAAA,CAAAA;AAGR,KAAA;IAEA,OAAOR,SAAAA;AACT;;;;"}
@@ -1,5 +1,5 @@
1
- import { Item, ItemProperties, LocKeyArray } from "@fjell/core";
2
- import { HttpApi, PostMethodOptions } from "@fjell/http-api";
3
- import { ClientApiOptions } from "../ClientApiOptions";
4
- import { Utilities } from "../Utilities";
1
+ import { Item, ItemProperties, LocKeyArray } from '@fjell/core';
2
+ import { HttpApi, PostMethodOptions } from '@fjell/http-api';
3
+ import { ClientApiOptions } from '../ClientApiOptions';
4
+ import { Utilities } from '../Utilities';
5
5
  export declare const getCreateOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => (item: ItemProperties<S, L1, L2, L3, L4, L5>, options?: Partial<PostMethodOptions>, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V>;
@@ -0,0 +1,22 @@
1
+ import LibLogger from '../logger.js';
2
+
3
+ const logger = LibLogger.get('client-api', 'ops', 'create');
4
+ const getCreateOperation = (api, apiOptions, utilities)=>{
5
+ const create = async (item, options = {}, locations = [])=>{
6
+ logger.default('create', {
7
+ item,
8
+ locations
9
+ });
10
+ utilities.verifyLocations(locations);
11
+ const loc = locations;
12
+ const requestOptions = Object.assign({}, options, {
13
+ isAuthenticated: apiOptions.writeAuthenticated
14
+ });
15
+ const created = utilities.validatePK(await utilities.processOne(api.httpPost(utilities.getPath(loc), item, requestOptions)));
16
+ return created;
17
+ };
18
+ return create;
19
+ };
20
+
21
+ export { getCreateOperation };
22
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sources":["../../src/ops/create.ts"],"sourcesContent":["import {\n Item,\n ItemProperties,\n LocKeyArray\n} from \"@fjell/core\";\nimport { HttpApi, PostMethodOptions } from \"@fjell/http-api\";\n \nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\n \nconst logger = LibLogger.get('client-api', 'ops', 'create');\n\nexport const getCreateOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n \n ) => {\n \n const create = async (\n item: ItemProperties<S, L1, L2, L3, L4, L5>,\n options: Partial<PostMethodOptions> = {},\n locations: LocKeyArray<L1, L2, L3, L4, L5> | [] = []\n ): Promise<V> => {\n logger.default('create', { item, locations });\n utilities.verifyLocations(locations);\n \n const loc: LocKeyArray<L1, L2, L3, L4, L5> | [] = locations;\n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.writeAuthenticated });\n \n const created: V =\n utilities.validatePK(await utilities.processOne(api.httpPost<V>(\n utilities.getPath(loc),\n item,\n requestOptions,\n ))) as V;\n return created;\n };\n\n return create;\n}\n "],"names":["logger","LibLogger","get","getCreateOperation","api","apiOptions","utilities","create","item","options","locations","default","verifyLocations","loc","requestOptions","Object","assign","isAuthenticated","writeAuthenticated","created","validatePK","processOne","httpPost","getPath"],"mappings":";;AAWA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,QAAA,CAAA;AAErCC,MAAAA,kBAAAA,GAAqB,CAQ9BC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;IAIF,MAAMC,MAAAA,GAAS,OACbC,IACAC,EAAAA,OAAAA,GAAsC,EAAE,EACxCC,YAAkD,EAAE,GAAA;QAEpDV,MAAOW,CAAAA,OAAO,CAAC,QAAU,EAAA;AAAEH,YAAAA,IAAAA;AAAME,YAAAA;AAAU,SAAA,CAAA;AAC3CJ,QAAAA,SAAAA,CAAUM,eAAe,CAACF,SAAAA,CAAAA;AAE1B,QAAA,MAAMG,GAA4CH,GAAAA,SAAAA;AAClD,QAAA,MAAMI,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIP,OAAS,EAAA;AAAEQ,YAAAA,eAAAA,EAAiBZ,WAAWa;AAAmB,SAAA,CAAA;AAEnG,QAAA,MAAMC,OACFb,GAAAA,SAAAA,CAAUc,UAAU,CAAC,MAAMd,SAAUe,CAAAA,UAAU,CAACjB,GAAAA,CAAIkB,QAAQ,CAC1DhB,SAAAA,CAAUiB,OAAO,CAACV,MAClBL,IACAM,EAAAA,cAAAA,CAAAA,CAAAA,CAAAA;QAEN,OAAOK,OAAAA;AACT,KAAA;IAEA,OAAOZ,MAAAA;AACT;;;;"}
@@ -1,5 +1,5 @@
1
- import { Item, LocKeyArray } from "@fjell/core";
2
- import { GetMethodOptions, HttpApi } from "@fjell/http-api";
3
- import { ClientApiOptions } from "../ClientApiOptions";
4
- import { Utilities } from "../Utilities";
1
+ import { Item, LocKeyArray } from '@fjell/core';
2
+ import { GetMethodOptions, HttpApi } from '@fjell/http-api';
3
+ import { ClientApiOptions } from '../ClientApiOptions';
4
+ import { Utilities } from '../Utilities';
5
5
  export declare const getFindOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => (finder: string, finderParams: Record<string, string | number | boolean | Date | Array<string | number | boolean | Date>>, options?: Partial<GetMethodOptions>, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V[]>;
@@ -0,0 +1,25 @@
1
+ import { finderToParams } from '../AItemAPI.js';
2
+ import LibLogger from '../logger.js';
3
+
4
+ const logger = LibLogger.get('client-api', 'ops', 'find');
5
+ const getFindOperation = (api, apiOptions, utilities)=>{
6
+ const find = async (finder, finderParams, options = {}, locations = [])=>{
7
+ logger.default('find', {
8
+ finder,
9
+ finderParams,
10
+ locations
11
+ });
12
+ utilities.verifyLocations(locations);
13
+ const loc = locations;
14
+ const params = finderToParams(finder, finderParams);
15
+ const requestOptions = Object.assign({}, options, {
16
+ isAuthenticated: apiOptions.allAuthenticated,
17
+ params
18
+ });
19
+ return utilities.validatePK(await utilities.processArray(api.httpGet(utilities.getPath(loc), requestOptions)));
20
+ };
21
+ return find;
22
+ };
23
+
24
+ export { getFindOperation };
25
+ //# sourceMappingURL=find.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find.js","sources":["../../src/ops/find.ts"],"sourcesContent":["import {\n Item,\n LocKeyArray,\n QueryParams\n} from \"@fjell/core\";\nimport { GetMethodOptions, HttpApi } from \"@fjell/http-api\";\n \nimport { finderToParams } from \"@/AItemAPI\";\nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\n \nconst logger = LibLogger.get('client-api', 'ops', 'find');\n \nexport const getFindOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n \n ) => {\n \n const find = async (\n finder: string,\n finderParams: Record<string, string | number | boolean | Date | Array<string | number | boolean | Date>>,\n options: Partial<GetMethodOptions> = {},\n locations: LocKeyArray<L1, L2, L3, L4, L5> | [] = []\n ): Promise<V[]> => {\n logger.default('find', { finder, finderParams, locations });\n utilities.verifyLocations(locations);\n const loc: LocKeyArray<L1, L2, L3, L4, L5> | [] = locations;\n \n const params: QueryParams = finderToParams(finder, finderParams);\n \n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.allAuthenticated, params });\n \n return utilities.validatePK(await utilities.processArray(\n api.httpGet<V[]>(\n utilities.getPath(loc),\n requestOptions,\n ))) as V[];\n }\n \n return find;\n}\n "],"names":["logger","LibLogger","get","getFindOperation","api","apiOptions","utilities","find","finder","finderParams","options","locations","default","verifyLocations","loc","params","finderToParams","requestOptions","Object","assign","isAuthenticated","allAuthenticated","validatePK","processArray","httpGet","getPath"],"mappings":";;;AAYA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,MAAA,CAAA;AAErCC,MAAAA,gBAAAA,GAAmB,CAQ5BC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;IAIF,MAAMC,IAAAA,GAAO,OACXC,MACAC,EAAAA,YAAAA,EACAC,UAAqC,EAAE,EACvCC,SAAAA,GAAkD,EAAE,GAAA;QAEpDX,MAAOY,CAAAA,OAAO,CAAC,MAAQ,EAAA;AAAEJ,YAAAA,MAAAA;AAAQC,YAAAA,YAAAA;AAAcE,YAAAA;AAAU,SAAA,CAAA;AACzDL,QAAAA,SAAAA,CAAUO,eAAe,CAACF,SAAAA,CAAAA;AAC1B,QAAA,MAAMG,GAA4CH,GAAAA,SAAAA;QAElD,MAAMI,MAAAA,GAAsBC,eAAeR,MAAQC,EAAAA,YAAAA,CAAAA;AAEnD,QAAA,MAAMQ,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIT,OAAS,EAAA;AAAEU,YAAAA,eAAAA,EAAiBf,WAAWgB,gBAAgB;AAAEN,YAAAA;AAAO,SAAA,CAAA;AAEzG,QAAA,OAAOT,SAAUgB,CAAAA,UAAU,CAAC,MAAMhB,SAAUiB,CAAAA,YAAY,CACtDnB,GAAAA,CAAIoB,OAAO,CACTlB,SAAUmB,CAAAA,OAAO,CAACX,GAClBG,CAAAA,EAAAA,cAAAA,CAAAA,CAAAA,CAAAA;AAEN,KAAA;IAEA,OAAOV,IAAAA;AACT;;;;"}
@@ -1,5 +1,5 @@
1
- import { ComKey, Item, PriKey } from "@fjell/core";
2
- import { GetMethodOptions, HttpApi } from "@fjell/http-api";
3
- import { ClientApiOptions } from "../ClientApiOptions";
4
- import { Utilities } from "../Utilities";
1
+ import { ComKey, Item, PriKey } from '@fjell/core';
2
+ import { GetMethodOptions, HttpApi } from '@fjell/http-api';
3
+ import { ClientApiOptions } from '../ClientApiOptions';
4
+ import { Utilities } from '../Utilities';
5
5
  export declare const getGetOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => (ik: PriKey<S> | ComKey<S, never, never, never, never, never>, options?: Partial<GetMethodOptions>) => Promise<V | null>;
@@ -0,0 +1,18 @@
1
+ import LibLogger from '../logger.js';
2
+
3
+ const logger = LibLogger.get('client-api', 'ops', 'get');
4
+ const getGetOperation = (api, apiOptions, utilities)=>{
5
+ const get = async (ik, options = {})=>{
6
+ logger.default('get', {
7
+ ik
8
+ });
9
+ const requestOptions = Object.assign({}, options, {
10
+ isAuthenticated: apiOptions.readAuthenticated
11
+ });
12
+ return utilities.validatePK(await utilities.processOne(api.httpGet(utilities.getPath(ik), requestOptions)));
13
+ };
14
+ return get;
15
+ };
16
+
17
+ export { getGetOperation };
18
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sources":["../../src/ops/get.ts"],"sourcesContent":["import {\n ComKey,\n Item,\n PriKey,\n} from \"@fjell/core\";\nimport { GetMethodOptions, HttpApi } from \"@fjell/http-api\";\n \nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\n \nconst logger = LibLogger.get('client-api', 'ops', 'get');\n \nexport const getGetOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n \n ) => {\n \n const get = async (\n ik: PriKey<S> | ComKey<S, never, never, never, never, never>,\n options: Partial<GetMethodOptions> = {},\n ): Promise<V | null> => {\n logger.default('get', { ik });\n \n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.readAuthenticated });\n \n return utilities.validatePK(await utilities.processOne(\n api.httpGet<V>(\n utilities.getPath(ik),\n requestOptions,\n ))) as V;\n }\n \n return get;\n}\n "],"names":["logger","LibLogger","get","getGetOperation","api","apiOptions","utilities","ik","options","default","requestOptions","Object","assign","isAuthenticated","readAuthenticated","validatePK","processOne","httpGet","getPath"],"mappings":";;AAWA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,KAAA,CAAA;AAErCC,MAAAA,eAAAA,GAAkB,CAQ3BC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;AAIF,IAAA,MAAMJ,GAAM,GAAA,OACVK,EACAC,EAAAA,OAAAA,GAAqC,EAAE,GAAA;QAEvCR,MAAOS,CAAAA,OAAO,CAAC,KAAO,EAAA;AAAEF,YAAAA;AAAG,SAAA,CAAA;AAE3B,QAAA,MAAMG,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIJ,OAAS,EAAA;AAAEK,YAAAA,eAAAA,EAAiBR,WAAWS;AAAkB,SAAA,CAAA;AAElG,QAAA,OAAOR,SAAUS,CAAAA,UAAU,CAAC,MAAMT,SAAUU,CAAAA,UAAU,CACpDZ,GAAAA,CAAIa,OAAO,CACTX,SAAUY,CAAAA,OAAO,CAACX,EAClBG,CAAAA,EAAAA,cAAAA,CAAAA,CAAAA,CAAAA;AAEN,KAAA;IAEA,OAAOR,GAAAA;AACT;;;;"}
@@ -1,6 +1,6 @@
1
- import { Item } from "@fjell/core";
2
- import { Utilities } from "../Utilities";
3
- import { HttpApi } from "@fjell/http-api";
4
- import { ClientApiOptions } from "../ClientApiOptions";
5
- import { ClientApi } from "../ClientApi";
1
+ import { Item } from '@fjell/core';
2
+ import { Utilities } from '../Utilities';
3
+ import { HttpApi } from '@fjell/http-api';
4
+ import { ClientApiOptions } from '../ClientApiOptions';
5
+ import { ClientApi } from '../ClientApi';
6
6
  export declare const getOperations: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => ClientApi<V, S, L1, L2, L3, L4, L5>;
@@ -0,0 +1,26 @@
1
+ import { getAllOperation } from './all.js';
2
+ import { getActionOperation } from './action.js';
3
+ import { getAllActionOperation } from './allAction.js';
4
+ import { getOneOperation } from './one.js';
5
+ import { getCreateOperation } from './create.js';
6
+ import { getUpdateOperation } from './update.js';
7
+ import { getGetOperation } from './get.js';
8
+ import { getRemoveOperation } from './remove.js';
9
+ import { getFindOperation } from './find.js';
10
+
11
+ const getOperations = (api, apiOptions, utilities)=>{
12
+ return {
13
+ action: getActionOperation(api, apiOptions, utilities),
14
+ all: getAllOperation(api, apiOptions, utilities),
15
+ allAction: getAllActionOperation(api, apiOptions, utilities),
16
+ create: getCreateOperation(api, apiOptions, utilities),
17
+ find: getFindOperation(api, apiOptions, utilities),
18
+ get: getGetOperation(api, apiOptions, utilities),
19
+ one: getOneOperation(api, apiOptions, utilities),
20
+ remove: getRemoveOperation(api, apiOptions, utilities),
21
+ update: getUpdateOperation(api, apiOptions, utilities)
22
+ };
23
+ };
24
+
25
+ export { getOperations };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/ops/index.ts"],"sourcesContent":["import { Item } from \"@fjell/core\"\nimport { getAllOperation } from \"./all\"\nimport { getActionOperation } from \"./action\"\nimport { Utilities } from \"@/Utilities\"\nimport { HttpApi } from \"@fjell/http-api\"\nimport { getAllActionOperation } from \"./allAction\"\nimport { getOneOperation } from \"./one\"\nimport { getCreateOperation } from \"./create\"\nimport { getUpdateOperation } from \"./update\"\nimport { getGetOperation } from \"./get\"\nimport { getRemoveOperation } from \"./remove\"\nimport { getFindOperation } from \"./find\"\nimport { ClientApiOptions } from \"@/ClientApiOptions\"\nimport { ClientApi } from \"@/ClientApi\"\n\nexport const getOperations =\n<\nV extends Item<S, L1, L2, L3, L4, L5>,\nS extends string,\nL1 extends string = never,\nL2 extends string = never,\nL3 extends string = never,\nL4 extends string = never,\nL5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>,\n \n ): ClientApi<V, S, L1, L2, L3, L4, L5> => {\n return {\n action: getActionOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n all: getAllOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n allAction: getAllActionOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n create: getCreateOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n find: getFindOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n get: getGetOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n one: getOneOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n remove: getRemoveOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n update: getUpdateOperation<V, S, L1, L2, L3, L4, L5>(\n api,\n apiOptions,\n utilities,\n ),\n }\n}"],"names":["getOperations","api","apiOptions","utilities","action","getActionOperation","all","getAllOperation","allAction","getAllActionOperation","create","getCreateOperation","find","getFindOperation","get","getGetOperation","one","getOneOperation","remove","getRemoveOperation","update","getUpdateOperation"],"mappings":";;;;;;;;;;AAeaA,MAAAA,aAAAA,GACb,CAQIC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;IAGF,OAAO;QACLC,MAAQC,EAAAA,kBAAAA,CACNJ,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFG,GAAKC,EAAAA,eAAAA,CACHN,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFK,SAAWC,EAAAA,qBAAAA,CACTR,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFO,MAAQC,EAAAA,kBAAAA,CACNV,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFS,IAAMC,EAAAA,gBAAAA,CACJZ,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFW,GAAKC,EAAAA,eAAAA,CACHd,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFa,GAAKC,EAAAA,eAAAA,CACHhB,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFe,MAAQC,EAAAA,kBAAAA,CACNlB,KACAC,UACAC,EAAAA,SAAAA,CAAAA;QAEFiB,MAAQC,EAAAA,kBAAAA,CACNpB,KACAC,UACAC,EAAAA,SAAAA;AAEJ,KAAA;AACF;;;;"}
@@ -0,0 +1,5 @@
1
+ import { Item, ItemQuery, LocKeyArray } from '@fjell/core';
2
+ import { GetMethodOptions, HttpApi } from '@fjell/http-api';
3
+ import { ClientApiOptions } from '../ClientApiOptions';
4
+ import { Utilities } from '../Utilities';
5
+ export declare const getOneOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => (query: ItemQuery, options?: Partial<GetMethodOptions>, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V | null>;
@@ -0,0 +1,29 @@
1
+ import { queryToParams } from '@fjell/core';
2
+ import LibLogger from '../logger.js';
3
+
4
+ const logger = LibLogger.get('client-api', 'ops', 'one');
5
+ const getOneOperation = (api, apiOptions, utilities)=>{
6
+ const one = async (query = {}, options = {}, locations = [])=>{
7
+ logger.default('one', {
8
+ query,
9
+ locations
10
+ });
11
+ utilities.verifyLocations(locations);
12
+ const loc = locations;
13
+ const params = queryToParams(query);
14
+ const requestOptions = Object.assign({}, options, {
15
+ isAuthenticated: apiOptions.readAuthenticated,
16
+ params
17
+ });
18
+ let item = null;
19
+ const items = utilities.validatePK(await utilities.processArray(api.httpGet(utilities.getPath(loc), requestOptions)));
20
+ if (items.length > 0) {
21
+ item = items[0];
22
+ }
23
+ return item;
24
+ };
25
+ return one;
26
+ };
27
+
28
+ export { getOneOperation };
29
+ //# sourceMappingURL=one.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"one.js","sources":["../../src/ops/one.ts"],"sourcesContent":["import {\n Item,\n ItemQuery,\n LocKeyArray,\n QueryParams,\n queryToParams\n} from \"@fjell/core\";\nimport { GetMethodOptions, HttpApi } from \"@fjell/http-api\";\n\nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\n\nconst logger = LibLogger.get('client-api', 'ops', 'one');\n\nexport const getOneOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n\n ): (\n query: ItemQuery,\n options?: Partial<GetMethodOptions>,\n locations?: LocKeyArray<L1, L2, L3, L4, L5> | []\n ) => Promise<V | null> => {\n\n const one = async (\n query: ItemQuery = {} as ItemQuery,\n options: Partial<GetMethodOptions> = {},\n locations: LocKeyArray<L1, L2, L3, L4, L5> | [] = []\n ): Promise<V | null> => {\n logger.default('one', { query, locations });\n utilities.verifyLocations(locations);\n\n const loc: LocKeyArray<L1, L2, L3, L4, L5> | [] = locations;\n\n const params: QueryParams = queryToParams(query);\n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.readAuthenticated, params });\n\n let item: V | null = null;\n\n const items = utilities.validatePK(await utilities.processArray(\n api.httpGet<V[]>(\n utilities.getPath(loc),\n requestOptions,\n ))) as V[];\n\n if (items.length > 0) {\n item = items[0];\n }\n\n return item as V;\n }\n\n return one;\n}\n"],"names":["logger","LibLogger","get","getOneOperation","api","apiOptions","utilities","one","query","options","locations","default","verifyLocations","loc","params","queryToParams","requestOptions","Object","assign","isAuthenticated","readAuthenticated","item","items","validatePK","processArray","httpGet","getPath","length"],"mappings":";;;AAaA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,KAAA,CAAA;AAErCC,MAAAA,eAAAA,GAAkB,CAQ3BC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;IAQF,MAAMC,GAAAA,GAAM,OACVC,KAAAA,GAAmB,EAAe,EAClCC,OAAAA,GAAqC,EAAE,EACvCC,SAAAA,GAAkD,EAAE,GAAA;QAEpDV,MAAOW,CAAAA,OAAO,CAAC,KAAO,EAAA;AAAEH,YAAAA,KAAAA;AAAOE,YAAAA;AAAU,SAAA,CAAA;AACzCJ,QAAAA,SAAAA,CAAUM,eAAe,CAACF,SAAAA,CAAAA;AAE1B,QAAA,MAAMG,GAA4CH,GAAAA,SAAAA;AAElD,QAAA,MAAMI,SAAsBC,aAAcP,CAAAA,KAAAA,CAAAA;AAC1C,QAAA,MAAMQ,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIT,OAAS,EAAA;AAAEU,YAAAA,eAAAA,EAAiBd,WAAWe,iBAAiB;AAAEN,YAAAA;AAAO,SAAA,CAAA;AAE1G,QAAA,IAAIO,IAAiB,GAAA,IAAA;AAErB,QAAA,MAAMC,KAAQhB,GAAAA,SAAAA,CAAUiB,UAAU,CAAC,MAAMjB,SAAUkB,CAAAA,YAAY,CAC7DpB,GAAAA,CAAIqB,OAAO,CACTnB,SAAUoB,CAAAA,OAAO,CAACb,GAClBG,CAAAA,EAAAA,cAAAA,CAAAA,CAAAA,CAAAA;QAGJ,IAAIM,KAAAA,CAAMK,MAAM,GAAG,CAAG,EAAA;YACpBN,IAAOC,GAAAA,KAAK,CAAC,CAAE,CAAA;AACjB;QAEA,OAAOD,IAAAA;AACT,KAAA;IAEA,OAAOd,GAAAA;AACT;;;;"}
@@ -1,5 +1,5 @@
1
- import { ComKey, Item, PriKey } from "@fjell/core";
2
- import { DeleteMethodOptions, HttpApi } from "@fjell/http-api";
3
- import { ClientApiOptions } from "../ClientApiOptions";
4
- import { Utilities } from "../Utilities";
1
+ import { ComKey, Item, PriKey } from '@fjell/core';
2
+ import { DeleteMethodOptions, HttpApi } from '@fjell/http-api';
3
+ import { ClientApiOptions } from '../ClientApiOptions';
4
+ import { Utilities } from '../Utilities';
5
5
  export declare const getRemoveOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => (ik: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>, options?: Partial<DeleteMethodOptions>) => Promise<boolean>;
@@ -0,0 +1,18 @@
1
+ import LibLogger from '../logger.js';
2
+
3
+ const logger = LibLogger.get('client-api', 'ops', 'remove');
4
+ const getRemoveOperation = (api, apiOptions, utilities)=>{
5
+ const remove = async (ik, options = {})=>{
6
+ logger.default('remove', {
7
+ ik
8
+ });
9
+ const requestOptions = Object.assign({}, options, {
10
+ isAuthenticated: apiOptions.writeAuthenticated
11
+ });
12
+ return api.httpDelete(utilities.getPath(ik), requestOptions);
13
+ };
14
+ return remove;
15
+ };
16
+
17
+ export { getRemoveOperation };
18
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sources":["../../src/ops/remove.ts"],"sourcesContent":["import {\n ComKey,\n Item,\n PriKey,\n} from \"@fjell/core\";\nimport { DeleteMethodOptions, HttpApi } from \"@fjell/http-api\";\n \nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\n \nconst logger = LibLogger.get('client-api', 'ops', 'remove');\n \nexport const getRemoveOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n \n ) => {\n \n const remove = async (\n ik: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>,\n options: Partial<DeleteMethodOptions> = {},\n ): Promise<boolean> => {\n logger.default('remove', { ik });\n \n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.writeAuthenticated });\n \n return api.httpDelete<boolean>(utilities.getPath(ik), requestOptions);\n }\n \n return remove;\n}\n "],"names":["logger","LibLogger","get","getRemoveOperation","api","apiOptions","utilities","remove","ik","options","default","requestOptions","Object","assign","isAuthenticated","writeAuthenticated","httpDelete","getPath"],"mappings":";;AAWA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,QAAA,CAAA;AAErCC,MAAAA,kBAAAA,GAAqB,CAQ9BC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;AAIF,IAAA,MAAMC,MAAS,GAAA,OACbC,EACAC,EAAAA,OAAAA,GAAwC,EAAE,GAAA;QAE1CT,MAAOU,CAAAA,OAAO,CAAC,QAAU,EAAA;AAAEF,YAAAA;AAAG,SAAA,CAAA;AAE9B,QAAA,MAAMG,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIJ,OAAS,EAAA;AAAEK,YAAAA,eAAAA,EAAiBT,WAAWU;AAAmB,SAAA,CAAA;AAEnG,QAAA,OAAOX,IAAIY,UAAU,CAAUV,SAAUW,CAAAA,OAAO,CAACT,EAAKG,CAAAA,EAAAA,cAAAA,CAAAA;AACxD,KAAA;IAEA,OAAOJ,MAAAA;AACT;;;;"}
@@ -1,5 +1,5 @@
1
- import { ComKey, Item, ItemProperties, PriKey } from "@fjell/core";
2
- import { HttpApi, PutMethodOptions } from "@fjell/http-api";
3
- import { ClientApiOptions } from "../ClientApiOptions";
4
- import { Utilities } from "../Utilities";
1
+ import { ComKey, Item, ItemProperties, PriKey } from '@fjell/core';
2
+ import { HttpApi, PutMethodOptions } from '@fjell/http-api';
3
+ import { ClientApiOptions } from '../ClientApiOptions';
4
+ import { Utilities } from '../Utilities';
5
5
  export declare const getUpdateOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(api: HttpApi, apiOptions: ClientApiOptions, utilities: Utilities<V, S, L1, L2, L3, L4, L5>) => (ik: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>, item: ItemProperties<S, L1, L2, L3, L4, L5>, options?: Partial<PutMethodOptions>) => Promise<V>;
@@ -0,0 +1,19 @@
1
+ import LibLogger from '../logger.js';
2
+
3
+ const logger = LibLogger.get('client-api', 'ops', 'update');
4
+ const getUpdateOperation = (api, apiOptions, utilities)=>{
5
+ const update = async (ik, item, options = {})=>{
6
+ logger.default('update', {
7
+ ik,
8
+ item
9
+ });
10
+ const requestOptions = Object.assign({}, options, {
11
+ isAuthenticated: apiOptions.writeAuthenticated
12
+ });
13
+ return utilities.validatePK(await utilities.processOne(api.httpPut(utilities.getPath(ik), item, requestOptions)));
14
+ };
15
+ return update;
16
+ };
17
+
18
+ export { getUpdateOperation };
19
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sources":["../../src/ops/update.ts"],"sourcesContent":["import {\n ComKey,\n Item,\n ItemProperties,\n PriKey\n} from \"@fjell/core\";\nimport { HttpApi, PutMethodOptions } from \"@fjell/http-api\";\n \nimport { ClientApiOptions } from \"@/ClientApiOptions\";\nimport LibLogger from \"@/logger\";\nimport { Utilities } from \"@/Utilities\";\n \nconst logger = LibLogger.get('client-api', 'ops', 'update');\n \nexport const getUpdateOperation = <\n V extends Item<S, L1, L2, L3, L4, L5>,\n S extends string,\n L1 extends string = never,\n L2 extends string = never,\n L3 extends string = never,\n L4 extends string = never,\n L5 extends string = never>(\n api: HttpApi,\n apiOptions: ClientApiOptions,\n utilities: Utilities<V, S, L1, L2, L3, L4, L5>\n \n ) => {\n \n const update = async (\n ik: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>,\n item: ItemProperties<S, L1, L2, L3, L4, L5>,\n options: Partial<PutMethodOptions> = {},\n ): Promise<V> => {\n logger.default('update', { ik, item });\n const requestOptions = Object.assign({}, options, { isAuthenticated: apiOptions.writeAuthenticated });\n \n return utilities.validatePK(await utilities.processOne(\n api.httpPut<V>(\n utilities.getPath(ik),\n item,\n requestOptions,\n ))) as V;\n }\n \n return update;\n}\n "],"names":["logger","LibLogger","get","getUpdateOperation","api","apiOptions","utilities","update","ik","item","options","default","requestOptions","Object","assign","isAuthenticated","writeAuthenticated","validatePK","processOne","httpPut","getPath"],"mappings":";;AAYA,MAAMA,MAASC,GAAAA,SAAAA,CAAUC,GAAG,CAAC,cAAc,KAAO,EAAA,QAAA,CAAA;AAErCC,MAAAA,kBAAAA,GAAqB,CAQ9BC,GAAAA,EACAC,UACAC,EAAAA,SAAAA,GAAAA;AAIF,IAAA,MAAMC,SAAS,OACbC,EAAAA,EACAC,IACAC,EAAAA,OAAAA,GAAqC,EAAE,GAAA;QAEvCV,MAAOW,CAAAA,OAAO,CAAC,QAAU,EAAA;AAAEH,YAAAA,EAAAA;AAAIC,YAAAA;AAAK,SAAA,CAAA;AACpC,QAAA,MAAMG,iBAAiBC,MAAOC,CAAAA,MAAM,CAAC,IAAIJ,OAAS,EAAA;AAAEK,YAAAA,eAAAA,EAAiBV,WAAWW;AAAmB,SAAA,CAAA;AAEnG,QAAA,OAAOV,SAAUW,CAAAA,UAAU,CAAC,MAAMX,UAAUY,UAAU,CACpDd,GAAIe,CAAAA,OAAO,CACTb,SAAAA,CAAUc,OAAO,CAACZ,KAClBC,IACAG,EAAAA,cAAAA,CAAAA,CAAAA,CAAAA;AAEN,KAAA;IAEA,OAAOL,MAAAA;AACT;;;;"}
package/package.json CHANGED
@@ -1,51 +1,56 @@
1
1
  {
2
2
  "name": "@fjell/client-api",
3
3
  "description": "Client API for Fjell",
4
- "version": "4.3.3",
4
+ "version": "4.4.1",
5
5
  "license": "Apache-2.0",
6
- "main": "./dist/src/index.js",
6
+ "type": "module",
7
+ "module": "./dist/index.js",
7
8
  "exports": {
8
9
  ".": {
9
- "types": "./dist/src/index.d.ts",
10
- "require": "./dist/src/index.js",
11
- "default": "./dist/src/index.js"
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
12
  }
13
13
  },
14
- "type": "module",
15
- "scripts": {
16
- "lint": "eslint .",
17
- "dev": "concurrently \"tsc --watch\" \"tsc-alias -w\"",
18
- "build": "yarn run lint && tsc --build --verbose --force && tsc-alias -p tsconfig.json",
19
- "clean": "rimraf dist",
20
- "test": "yarn run lint && NODE_OPTIONS='--experimental-require-module' yarn run jest --coverage"
21
- },
22
14
  "dependencies": {
23
- "@fjell/core": "^4.3",
24
- "@fjell/http-api": "^4.3",
25
- "@fjell/logging": "^4.3"
15
+ "@fjell/core": "^4.4.3",
16
+ "@fjell/http-api": "^4.4.1",
17
+ "@fjell/logging": "^4.4.3",
18
+ "deepmerge": "^4.3.1"
26
19
  },
27
20
  "devDependencies": {
28
- "@babel/core": "^7.26.9",
29
- "@babel/preset-env": "^7.26.9",
30
- "@babel/preset-typescript": "^7.26.0",
31
- "@jest/globals": "^29.7.0",
32
- "@tsconfig/recommended": "^1.0.8",
33
- "@types/jest": "^29.5.14",
34
- "@types/luxon": "^3.4.2",
35
- "@typescript-eslint/eslint-plugin": "^8.24.1",
36
- "@typescript-eslint/parser": "^8.24.1",
37
- "babel-jest": "^29.7.0",
21
+ "@babel/core": "^7.27.4",
22
+ "@babel/preset-env": "^7.27.2",
23
+ "@babel/preset-typescript": "^7.27.1",
24
+ "@eslint/eslintrc": "^3.3.1",
25
+ "@eslint/js": "^9.29.0",
26
+ "@swc/core": "^1.12.1",
27
+ "@tsconfig/recommended": "^1.0.9",
28
+ "@types/luxon": "^3.6.2",
29
+ "@typescript-eslint/eslint-plugin": "^8.34.1",
30
+ "@typescript-eslint/parser": "^8.34.1",
31
+ "@vitest/coverage-istanbul": "^3.2.4",
32
+ "@vitest/coverage-v8": "^3.2.4",
33
+ "@vitest/ui": "^3.2.4",
38
34
  "concurrently": "^9.1.2",
39
- "eslint": "^9.21.0",
40
- "jest": "^29.7.0",
35
+ "eslint": "^9.29.0",
41
36
  "rimraf": "^6.0.1",
42
- "ts-jest": "^29.2.5",
43
- "tsc-alias": "^1.8.10",
44
- "typescript": "^5.7.3"
37
+ "tsc-alias": "^1.8.16",
38
+ "typescript": "^5.8.3",
39
+ "vite": "^6.3.5",
40
+ "vite-plugin-dts": "^4.5.4",
41
+ "vite-plugin-node": "^5.0.1",
42
+ "vitest": "^3.2.4"
45
43
  },
46
- "packageManager": "yarn@4.6.0",
47
44
  "repository": {
48
45
  "type": "git",
49
46
  "url": "git+https://github.com/getfjell/client-api.git"
47
+ },
48
+ "scripts": {
49
+ "dev": "concurrently \"tsc --noEmit --watch\" \"vite build --watch\"",
50
+ "build": "pnpm run lint && tsc --noEmit && vite build",
51
+ "lint": "eslint . --ext .ts --fix",
52
+ "clean": "rimraf dist",
53
+ "test": "vitest run --coverage",
54
+ "test:ui": "vitest --ui"
50
55
  }
51
56
  }
package/src/CItemAPI.ts CHANGED
@@ -1,4 +1,4 @@
1
-
1
+
2
2
  import {
3
3
  ComKey,
4
4
  Item,
@@ -35,42 +35,42 @@ export interface CItemApi<
35
35
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
36
36
  action: string,
37
37
  body: any,
38
- options: Partial<PostMethodOptions>
38
+ options?: Partial<PostMethodOptions>
39
39
  ) => Promise<V>;
40
40
  all: (
41
41
  query: ItemQuery,
42
- options: Partial<GetMethodOptions>,
43
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
42
+ options?: Partial<GetMethodOptions>,
43
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
44
44
  ) => Promise<V[]>;
45
45
  allAction: (
46
46
  action: string,
47
47
  body: any,
48
- options: Partial<PostMethodOptions>,
49
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
48
+ options?: Partial<PostMethodOptions>,
49
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
50
50
  ) => Promise<V[]>;
51
51
  get: (
52
52
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
53
- options: Partial<GetMethodOptions>,
53
+ options?: Partial<GetMethodOptions>,
54
54
  ) => Promise<V | null>;
55
55
  create: (
56
56
  item: TypesProperties<V, S, L1, L2, L3, L4, L5>,
57
- options: Partial<PostMethodOptions>,
58
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
57
+ options?: Partial<PostMethodOptions>,
58
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
59
59
  ) => Promise<V>;
60
60
  remove: (
61
61
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
62
- options: Partial<DeleteMethodOptions>
62
+ options?: Partial<DeleteMethodOptions>
63
63
  ) => Promise<boolean>;
64
64
  update: (
65
65
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
66
66
  item: TypesProperties<V, S, L1, L2, L3, L4, L5>,
67
- options: Partial<PutMethodOptions>
67
+ options?: Partial<PutMethodOptions>
68
68
  ) => Promise<V>;
69
69
  find: (
70
70
  finder: string,
71
71
  finderParams: Record<string, string | number | boolean | Date | Array<string | number | boolean | Date>>,
72
- options: Partial<GetMethodOptions>,
73
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
72
+ options?: Partial<GetMethodOptions>,
73
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
74
74
  ) => Promise<V[]>;
75
75
  };
76
76
 
@@ -82,12 +82,7 @@ export const createCItemApi = <
82
82
  L3 extends string = never,
83
83
  L4 extends string = never,
84
84
  L5 extends string = never
85
- >(
86
- api: HttpApi,
87
- type: S,
88
- pathNames: PathNamesArray<L1, L2, L3, L4, L5>,
89
- options: ClientApiOptions
90
- ): CItemApi<V, S, L1, L2, L3, L4, L5> => {
85
+ >(api: HttpApi, type: S, pathNames: PathNamesArray<L1, L2, L3, L4, L5>, options?: ClientApiOptions): CItemApi<V, S, L1, L2, L3, L4, L5> => {
91
86
 
92
87
  logger.default('createCItemApi', { api, type, pathNames, options });
93
88
 
package/src/ClientApi.ts CHANGED
@@ -14,46 +14,46 @@ export interface ClientApi<
14
14
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
15
15
  action: string,
16
16
  body: any,
17
- options: Partial<PostMethodOptions>,
17
+ options?: Partial<PostMethodOptions>,
18
18
  ) => Promise<V>;
19
19
  all: (
20
20
  query: ItemQuery,
21
- options: Partial<GetMethodOptions>,
22
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
21
+ options?: Partial<GetMethodOptions>,
22
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
23
23
  ) => Promise<V[]>;
24
24
  allAction: (
25
25
  action: string,
26
26
  body: any,
27
- options: Partial<PostMethodOptions>,
28
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
27
+ options?: Partial<PostMethodOptions>,
28
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
29
29
  ) => Promise<V[]>;
30
30
  create: (
31
31
  item: TypesProperties<V, S, L1, L2, L3, L4, L5>,
32
- options: Partial<PostMethodOptions>,
33
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
32
+ options?: Partial<PostMethodOptions>,
33
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
34
34
  ) => Promise<V>;
35
35
  find: (
36
36
  finder: string,
37
37
  finderParams: Record<string, string | number | boolean | Date | Array<string | number | boolean | Date>>,
38
- options: Partial<GetMethodOptions>,
39
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
38
+ options?: Partial<GetMethodOptions>,
39
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
40
40
  ) => Promise<V[]>;
41
41
  get: (
42
42
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
43
- options: Partial<GetMethodOptions>,
43
+ options?: Partial<GetMethodOptions>,
44
44
  ) => Promise<V | null>;
45
45
  one: (
46
46
  query: ItemQuery,
47
- options: Partial<GetMethodOptions>,
48
- locations: LocKeyArray<L1, L2, L3, L4, L5> | []
47
+ options?: Partial<GetMethodOptions>,
48
+ locations?: LocKeyArray<L1, L2, L3, L4, L5> | []
49
49
  ) => Promise<V | null>;
50
50
  remove: (
51
51
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
52
- options: Partial<DeleteMethodOptions>
52
+ options?: Partial<DeleteMethodOptions>
53
53
  ) => Promise<boolean>;
54
54
  update: (
55
55
  ik: ComKey<S, L1, L2, L3, L4, L5> | PriKey<S>,
56
56
  item: TypesProperties<V, S, L1, L2, L3, L4, L5>,
57
- options: Partial<PutMethodOptions>
57
+ options?: Partial<PutMethodOptions>
58
58
  ) => Promise<V>;
59
59
  }