@nlabs/metropolisjs 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FACTORY_PATTERN_GUIDE.md +244 -0
- package/README.md +332 -0
- package/examples/factory-pattern-usage.ts +283 -0
- package/lex.config.mjs +17 -0
- package/lib/actions/eventActions/eventActions.d.ts +45 -0
- package/lib/actions/eventActions/eventActions.js +2 -0
- package/lib/actions/imageActions/imageActions.d.ts +56 -0
- package/lib/actions/imageActions/imageActions.js +2 -0
- package/lib/actions/index.d.ts +9 -0
- package/lib/actions/index.js +2 -0
- package/lib/actions/locationActions/locationActions.d.ts +58 -0
- package/lib/actions/locationActions/locationActions.js +2 -0
- package/lib/actions/messageActions/messageActions.d.ts +54 -0
- package/lib/actions/messageActions/messageActions.js +2 -0
- package/lib/actions/postActions/postActions.d.ts +56 -0
- package/lib/actions/postActions/postActions.js +2 -0
- package/lib/actions/profileActions/profileActions.d.ts +50 -0
- package/lib/actions/profileActions/profileActions.js +2 -0
- package/lib/actions/reactionActions/reactionActions.d.ts +52 -0
- package/lib/actions/reactionActions/reactionActions.js +2 -0
- package/lib/actions/sseActions/sseActions.d.ts +37 -0
- package/lib/actions/sseActions/sseActions.js +2 -0
- package/lib/actions/tagActions/tagActions.d.ts +55 -0
- package/lib/actions/tagActions/tagActions.js +2 -0
- package/lib/actions/userActions/userActions.d.ts +131 -0
- package/lib/actions/userActions/userActions.js +2 -0
- package/lib/actions/websocketActions/websocketActions.d.ts +31 -0
- package/lib/actions/websocketActions/websocketActions.js +2 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +20 -0
- package/lib/adapters/arangoAdapter/arangoAdapter.js +2 -0
- package/lib/adapters/contentAdapter/contentAdapter.d.ts +31 -0
- package/lib/adapters/contentAdapter/contentAdapter.js +2 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +23 -0
- package/lib/adapters/conversationAdapter/conversationAdapter.js +2 -0
- package/lib/adapters/eventAdapter/eventAdapter.d.ts +43 -0
- package/lib/adapters/eventAdapter/eventAdapter.js +2 -0
- package/lib/adapters/fileAdapter/fileAdapter.d.ts +29 -0
- package/lib/adapters/fileAdapter/fileAdapter.js +2 -0
- package/lib/adapters/imageAdapter/imageAdapter.d.ts +31 -0
- package/lib/adapters/imageAdapter/imageAdapter.js +2 -0
- package/lib/adapters/index.d.ts +16 -0
- package/lib/adapters/index.js +2 -0
- package/lib/adapters/locationAdapter/locationAdapter.d.ts +27 -0
- package/lib/adapters/locationAdapter/locationAdapter.js +2 -0
- package/lib/adapters/messageAdapter/messageAdapter.d.ts +27 -0
- package/lib/adapters/messageAdapter/messageAdapter.js +2 -0
- package/lib/adapters/personaAdapter/personaAdapter.d.ts +18 -0
- package/lib/adapters/personaAdapter/personaAdapter.js +2 -0
- package/lib/adapters/postAdapter/postAdapter.d.ts +32 -0
- package/lib/adapters/postAdapter/postAdapter.js +2 -0
- package/lib/adapters/profileAdapter/profileAdapter.d.ts +32 -0
- package/lib/adapters/profileAdapter/profileAdapter.js +2 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +20 -0
- package/lib/adapters/reactionAdapter/reactionAdapter.js +2 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +16 -0
- package/lib/adapters/reaktorAdapter/reaktorAdapter.js +2 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +23 -0
- package/lib/adapters/sessionAdapter/sessionAdapter.js +2 -0
- package/lib/adapters/tagAdapter/tagAdapter.d.ts +20 -0
- package/lib/adapters/tagAdapter/tagAdapter.js +2 -0
- package/lib/adapters/userAdapter/userAdapter.d.ts +55 -0
- package/lib/adapters/userAdapter/userAdapter.js +2 -0
- package/lib/config/index.d.ts +31 -0
- package/lib/config/index.js +2 -0
- package/lib/constants/MetropolisConstants.d.ts +14 -0
- package/lib/constants/MetropolisConstants.js +2 -0
- package/lib/graphql/message.d.ts +2 -0
- package/lib/graphql/message.js +18 -0
- package/lib/graphql/notification.d.ts +2 -0
- package/lib/graphql/notification.js +18 -0
- package/lib/graphql/session.d.ts +1 -0
- package/lib/graphql/session.js +16 -0
- package/lib/index.d.ts +29 -0
- package/lib/index.js +2 -0
- package/lib/stores/appStore.d.ts +22 -0
- package/lib/stores/appStore.js +2 -0
- package/lib/stores/eventStore.d.ts +34 -0
- package/lib/stores/eventStore.js +2 -0
- package/lib/stores/imageStore.d.ts +35 -0
- package/lib/stores/imageStore.js +2 -0
- package/lib/stores/index.d.ts +15 -0
- package/lib/stores/index.js +2 -0
- package/lib/stores/locationStore.d.ts +33 -0
- package/lib/stores/locationStore.js +2 -0
- package/lib/stores/messageStore.d.ts +36 -0
- package/lib/stores/messageStore.js +2 -0
- package/lib/stores/postStore.d.ts +33 -0
- package/lib/stores/postStore.js +2 -0
- package/lib/stores/profileStore.d.ts +24 -0
- package/lib/stores/profileStore.js +2 -0
- package/lib/stores/reactionStore.d.ts +24 -0
- package/lib/stores/reactionStore.js +2 -0
- package/lib/stores/tagStore.d.ts +31 -0
- package/lib/stores/tagStore.js +2 -0
- package/lib/stores/userStore.d.ts +73 -0
- package/lib/stores/userStore.js +2 -0
- package/lib/stores/websocketStore.d.ts +23 -0
- package/lib/stores/websocketStore.js +2 -0
- package/lib/utils/MetropolisProvider.d.ts +34 -0
- package/lib/utils/MetropolisProvider.js +2 -0
- package/lib/utils/actionFactory.d.ts +22 -0
- package/lib/utils/actionFactory.js +2 -0
- package/lib/utils/api.d.ts +43 -0
- package/lib/utils/api.js +7 -0
- package/lib/utils/app.d.ts +6 -0
- package/lib/utils/app.js +2 -0
- package/lib/utils/baseActionFactory.d.ts +34 -0
- package/lib/utils/baseActionFactory.js +2 -0
- package/lib/utils/dateUtils.d.ts +2 -0
- package/lib/utils/dateUtils.js +2 -0
- package/lib/utils/file.d.ts +1 -0
- package/lib/utils/file.js +2 -0
- package/lib/utils/location.d.ts +9 -0
- package/lib/utils/location.js +2 -0
- package/lib/utils/useMetropolis.d.ts +12 -0
- package/lib/utils/useMetropolis.js +2 -0
- package/lib/utils/validatorFactory.d.ts +48 -0
- package/lib/utils/validatorFactory.js +2 -0
- package/package.json +33 -27
- package/tsconfig.lint.json +25 -0
- package/tsconfig.test.json +14 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{isEmpty as l}from"@nlabs/utils";import y from"p-debounce";import{parseLocation as c}from"../adapters/locationAdapter/locationAdapter";import{appQuery as s}from"../utils/api";const m="locations",F=y(async(e,t,r,a,n=[],i=c)=>{if(l(t))return[];try{const o={address:{type:"String",value:t},latitude:{type:"Float",value:r},longitude:{type:"Float",value:a}},{autoCompleteLocation:p=[]}=await s(e,"autoCompleteLocation",m,o,["address","latitude","longitude",...n]);return p.map(u=>i(u))}catch{return[]}},500),b=async(e,t,r,a,n=[],i=c)=>{if(l(t))return[];try{const o={address:{type:"String",value:t},latitude:{type:"Float",value:r},longitude:{type:"Float",value:a}},{autoCompleteLocation:p=[]}=await s(e,"autoCompleteLocation",m,o,["address","latitude","longitude",...n]);return p.map(u=>i(u))}catch{return[]}};export{F as autoCompleteLocation,b as searchLocations};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2xvY2F0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMi1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHtpc0VtcHR5fSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHBEZWJvdW5jZSBmcm9tICdwLWRlYm91bmNlJztcblxuaW1wb3J0IHtwYXJzZUxvY2F0aW9ufSBmcm9tICcuLi9hZGFwdGVycy9sb2NhdGlvbkFkYXB0ZXIvbG9jYXRpb25BZGFwdGVyJztcbmltcG9ydCB7YXBwUXVlcnksIHR5cGUgUmVha3RvckRiQ29sbGVjdGlvbn0gZnJvbSAnLi4vdXRpbHMvYXBpJztcblxuaW1wb3J0IHR5cGUge0xvY2F0aW9uVHlwZX0gZnJvbSAnLi4vYWRhcHRlcnMvbG9jYXRpb25BZGFwdGVyL2xvY2F0aW9uQWRhcHRlcic7XG5cbmNvbnN0IERBVEFfVFlQRTogUmVha3RvckRiQ29sbGVjdGlvbiA9ICdsb2NhdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgYXV0b0NvbXBsZXRlTG9jYXRpb24gPSBwRGVib3VuY2UoYXN5bmMgKFxuICBmbHV4OiBGbHV4RnJhbWV3b3JrLFxuICBhZGRyZXNzOiBzdHJpbmcsXG4gIGxhdGl0dWRlPzogbnVtYmVyLFxuICBsb25naXR1ZGU/OiBudW1iZXIsXG4gIGxvY2F0aW9uUHJvcHM6IHN0cmluZ1tdID0gW10sXG4gIEN1c3RvbUNsYXNzOiB0eXBlb2YgcGFyc2VMb2NhdGlvbiA9IHBhcnNlTG9jYXRpb25cbik6IFByb21pc2U8TG9jYXRpb25UeXBlW10+ID0+IHtcbiAgaWYoaXNFbXB0eShhZGRyZXNzKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcXVlcnlWYXJpYWJsZXMgPSB7XG4gICAgICBhZGRyZXNzOiB7XG4gICAgICAgIHR5cGU6ICdTdHJpbmcnLFxuICAgICAgICB2YWx1ZTogYWRkcmVzc1xuICAgICAgfSxcbiAgICAgIGxhdGl0dWRlOiB7XG4gICAgICAgIHR5cGU6ICdGbG9hdCcsXG4gICAgICAgIHZhbHVlOiBsYXRpdHVkZVxuICAgICAgfSxcbiAgICAgIGxvbmdpdHVkZToge1xuICAgICAgICB0eXBlOiAnRmxvYXQnLFxuICAgICAgICB2YWx1ZTogbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHthdXRvQ29tcGxldGVMb2NhdGlvbiA9IFtdfSA9IGF3YWl0IGFwcFF1ZXJ5KGZsdXgsICdhdXRvQ29tcGxldGVMb2NhdGlvbicsIERBVEFfVFlQRSwgcXVlcnlWYXJpYWJsZXMsIFtcbiAgICAgICdhZGRyZXNzJyxcbiAgICAgICdsYXRpdHVkZScsXG4gICAgICAnbG9uZ2l0dWRlJyxcbiAgICAgIC4uLmxvY2F0aW9uUHJvcHNcbiAgICBdKSBhcyB7YXV0b0NvbXBsZXRlTG9jYXRpb246IFJlY29yZDxzdHJpbmcsIHVua25vd24+W119O1xuICAgIHJldHVybiBhdXRvQ29tcGxldGVMb2NhdGlvbi5tYXAoKGl0ZW0pID0+IEN1c3RvbUNsYXNzKGl0ZW0pKTtcbiAgfSBjYXRjaChfZXJyb3IpIHtcbiAgICAvLyBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICByZXR1cm4gW107XG4gIH1cbn0sIDUwMCk7XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hMb2NhdGlvbnMgPSBhc3luYyAoXG4gIGZsdXg6IEZsdXhGcmFtZXdvcmssXG4gIGFkZHJlc3M6IHN0cmluZyxcbiAgbGF0aXR1ZGU/OiBudW1iZXIsXG4gIGxvbmdpdHVkZT86IG51bWJlcixcbiAgbG9jYXRpb25Qcm9wczogc3RyaW5nW10gPSBbXSxcbiAgQ3VzdG9tQ2xhc3M6IHR5cGVvZiBwYXJzZUxvY2F0aW9uID0gcGFyc2VMb2NhdGlvblxuKTogUHJvbWlzZTxMb2NhdGlvblR5cGVbXT4gPT4ge1xuICBpZihpc0VtcHR5KGFkZHJlc3MpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBxdWVyeVZhcmlhYmxlcyA9IHtcbiAgICAgIGFkZHJlc3M6IHtcbiAgICAgICAgdHlwZTogJ1N0cmluZycsXG4gICAgICAgIHZhbHVlOiBhZGRyZXNzXG4gICAgICB9LFxuICAgICAgbGF0aXR1ZGU6IHtcbiAgICAgICAgdHlwZTogJ0Zsb2F0JyxcbiAgICAgICAgdmFsdWU6IGxhdGl0dWRlXG4gICAgICB9LFxuICAgICAgbG9uZ2l0dWRlOiB7XG4gICAgICAgIHR5cGU6ICdGbG9hdCcsXG4gICAgICAgIHZhbHVlOiBsb25naXR1ZGVcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qge2F1dG9Db21wbGV0ZUxvY2F0aW9uID0gW119ID0gYXdhaXQgYXBwUXVlcnkoZmx1eCwgJ2F1dG9Db21wbGV0ZUxvY2F0aW9uJywgREFUQV9UWVBFLCBxdWVyeVZhcmlhYmxlcywgW1xuICAgICAgJ2FkZHJlc3MnLFxuICAgICAgJ2xhdGl0dWRlJyxcbiAgICAgICdsb25naXR1ZGUnLFxuICAgICAgLi4ubG9jYXRpb25Qcm9wc1xuICAgIF0pIGFzIHthdXRvQ29tcGxldGVMb2NhdGlvbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXX07XG4gICAgcmV0dXJuIGF1dG9Db21wbGV0ZUxvY2F0aW9uLm1hcCgoaXRlbSkgPT4gQ3VzdG9tQ2xhc3MoaXRlbSkpO1xuICB9IGNhdGNoKF9lcnJvcikge1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIHJldHVybiBbXTtcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUtBLE9BQVEsV0FBQUEsTUFBYyxlQUN0QixPQUFPQyxNQUFlLGFBRXRCLE9BQVEsaUJBQUFDLE1BQW9CLDhDQUM1QixPQUFRLFlBQUFDLE1BQXlDLGVBSWpELE1BQU1DLEVBQWlDLFlBRTFCQyxFQUF1QkosRUFBVSxNQUM1Q0ssRUFDQUMsRUFDQUMsRUFDQUMsRUFDQUMsRUFBMEIsQ0FBQyxFQUMzQkMsRUFBb0NULElBQ1IsQ0FDNUIsR0FBR0YsRUFBUU8sQ0FBTyxFQUNoQixNQUFPLENBQUMsRUFHVixHQUFJLENBQ0YsTUFBTUssRUFBaUIsQ0FDckIsUUFBUyxDQUNQLEtBQU0sU0FDTixNQUFPTCxDQUNULEVBQ0EsU0FBVSxDQUNSLEtBQU0sUUFDTixNQUFPQyxDQUNULEVBQ0EsVUFBVyxDQUNULEtBQU0sUUFDTixNQUFPQyxDQUNULENBQ0YsRUFFTSxDQUFDLHFCQUFBSixFQUF1QixDQUFDLENBQUMsRUFBSSxNQUFNRixFQUFTRyxFQUFNLHVCQUF3QkYsRUFBV1EsRUFBZ0IsQ0FDMUcsVUFDQSxXQUNBLFlBQ0EsR0FBR0YsQ0FDTCxDQUFDLEVBQ0QsT0FBT0wsRUFBcUIsSUFBS1EsR0FBU0YsRUFBWUUsQ0FBSSxDQUFDLENBQzdELE1BQWdCLENBRWQsTUFBTyxDQUFDLENBQ1YsQ0FDRixFQUFHLEdBQUcsRUFFT0MsRUFBa0IsTUFDN0JSLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQTBCLENBQUMsRUFDM0JDLEVBQW9DVCxJQUNSLENBQzVCLEdBQUdGLEVBQVFPLENBQU8sRUFDaEIsTUFBTyxDQUFDLEVBR1YsR0FBSSxDQUNGLE1BQU1LLEVBQWlCLENBQ3JCLFFBQVMsQ0FDUCxLQUFNLFNBQ04sTUFBT0wsQ0FDVCxFQUNBLFNBQVUsQ0FDUixLQUFNLFFBQ04sTUFBT0MsQ0FDVCxFQUNBLFVBQVcsQ0FDVCxLQUFNLFFBQ04sTUFBT0MsQ0FDVCxDQUNGLEVBRU0sQ0FBQyxxQkFBQUosRUFBdUIsQ0FBQyxDQUFDLEVBQUksTUFBTUYsRUFBU0csRUFBTSx1QkFBd0JGLEVBQVdRLEVBQWdCLENBQzFHLFVBQ0EsV0FDQSxZQUNBLEdBQUdGLENBQ0wsQ0FBQyxFQUNELE9BQU9MLEVBQXFCLElBQUtRLEdBQVNGLEVBQVlFLENBQUksQ0FBQyxDQUM3RCxNQUFnQixDQUVkLE1BQU8sQ0FBQyxDQUNWLENBQ0YiLAogICJuYW1lcyI6IFsiaXNFbXB0eSIsICJwRGVib3VuY2UiLCAicGFyc2VMb2NhdGlvbiIsICJhcHBRdWVyeSIsICJEQVRBX1RZUEUiLCAiYXV0b0NvbXBsZXRlTG9jYXRpb24iLCAiZmx1eCIsICJhZGRyZXNzIiwgImxhdGl0dWRlIiwgImxvbmdpdHVkZSIsICJsb2NhdGlvblByb3BzIiwgIkN1c3RvbUNsYXNzIiwgInF1ZXJ5VmFyaWFibGVzIiwgIml0ZW0iLCAic2VhcmNoTG9jYXRpb25zIl0KfQo=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const useMetropolis: () => {
|
|
2
|
+
eventActions: any;
|
|
3
|
+
imageActions: any;
|
|
4
|
+
locationActions: any;
|
|
5
|
+
messageActions: any;
|
|
6
|
+
postActions: any;
|
|
7
|
+
profileActions: any;
|
|
8
|
+
reactionActions: any;
|
|
9
|
+
tagActions: any;
|
|
10
|
+
userActions: any;
|
|
11
|
+
websocketActions: any;
|
|
12
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useFlux as b}from"@nlabs/arkhamjs-utils-react";import{useContext as k,useMemo as w}from"react";import{createAllActions as C}from"../utils/actionFactory";import{MetropolisContext as P}from"./MetropolisProvider";const R=()=>{const p=b(),{adapters:c}=k(P),{Event:e,Image:t,Location:a,Message:n,Post:o,Profile:s,Reaction:r,Tag:i,User:d}=c||{};return w(()=>{const{event:A,image:u,location:f,message:m,post:g,profile:l,reaction:y,tag:v,user:x,websocket:M}=C(p,{event:e?{eventAdapter:e}:void 0,image:t?{imageAdapter:t}:void 0,location:a?{locationAdapter:a}:void 0,message:n?{messageAdapter:n}:void 0,post:o?{postAdapter:o}:void 0,profile:s?{profileAdapter:s}:void 0,reaction:r?{reactionAdapter:r}:void 0,tag:i?{tagAdapter:i}:void 0,user:d?{userAdapter:d}:void 0});return{eventActions:A,imageActions:u,locationActions:f,messageActions:m,postActions:g,profileActions:l,reactionActions:y,tagActions:v,userActions:x,websocketActions:M}},[p,e,t,a,n,o,s,r,i,d])};export{R as useMetropolis};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3VzZU1ldHJvcG9saXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7dXNlRmx1eH0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCB7dXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge2NyZWF0ZUFsbEFjdGlvbnN9IGZyb20gJy4uL3V0aWxzL2FjdGlvbkZhY3RvcnknO1xuaW1wb3J0IHtNZXRyb3BvbGlzQ29udGV4dH0gZnJvbSAnLi9NZXRyb3BvbGlzUHJvdmlkZXInO1xuXG5leHBvcnQgY29uc3QgdXNlTWV0cm9wb2xpcyA9ICgpID0+IHtcbiAgY29uc3QgZmx1eCA9IHVzZUZsdXgoKTtcbiAgY29uc3Qge2FkYXB0ZXJzfSA9IHVzZUNvbnRleHQoTWV0cm9wb2xpc0NvbnRleHQpO1xuICBjb25zdCB7XG4gICAgRXZlbnQ6IGV2ZW50QWRhcHRlcixcbiAgICBJbWFnZTogaW1hZ2VBZGFwdGVyLFxuICAgIExvY2F0aW9uOiBsb2NhdGlvbkFkYXB0ZXIsXG4gICAgTWVzc2FnZTogbWVzc2FnZUFkYXB0ZXIsXG4gICAgUG9zdDogcG9zdEFkYXB0ZXIsXG4gICAgUHJvZmlsZTogcHJvZmlsZUFkYXB0ZXIsXG4gICAgUmVhY3Rpb246IHJlYWN0aW9uQWRhcHRlcixcbiAgICBUYWc6IHRhZ0FkYXB0ZXIsXG4gICAgVXNlcjogdXNlckFkYXB0ZXJcbiAgfSA9IGFkYXB0ZXJzIHx8IHt9O1xuXG4gIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG4gICAgY29uc3Qge1xuICAgICAgZXZlbnQsXG4gICAgICBpbWFnZSxcbiAgICAgIGxvY2F0aW9uLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIHBvc3QsXG4gICAgICBwcm9maWxlLFxuICAgICAgcmVhY3Rpb24sXG4gICAgICB0YWcsXG4gICAgICB1c2VyLFxuICAgICAgd2Vic29ja2V0XG4gICAgfSA9IGNyZWF0ZUFsbEFjdGlvbnMoZmx1eCwge1xuICAgICAgLy8gVXNlIHR5cGUgYXNzZXJ0aW9ucyB0byBicmlkZ2UgdGhlIGdhcCBiZXR3ZWVuIHRoZSBhZGFwdGVyIHNpZ25hdHVyZXNcbiAgICAgIGV2ZW50OiBldmVudEFkYXB0ZXIgPyB7ZXZlbnRBZGFwdGVyOiBldmVudEFkYXB0ZXIgYXMgYW55fSA6IHVuZGVmaW5lZCxcbiAgICAgIGltYWdlOiBpbWFnZUFkYXB0ZXIgPyB7aW1hZ2VBZGFwdGVyOiBpbWFnZUFkYXB0ZXIgYXMgYW55fSA6IHVuZGVmaW5lZCxcbiAgICAgIGxvY2F0aW9uOiBsb2NhdGlvbkFkYXB0ZXIgPyB7bG9jYXRpb25BZGFwdGVyOiBsb2NhdGlvbkFkYXB0ZXIgYXMgYW55fSA6IHVuZGVmaW5lZCxcbiAgICAgIG1lc3NhZ2U6IG1lc3NhZ2VBZGFwdGVyID8ge21lc3NhZ2VBZGFwdGVyOiBtZXNzYWdlQWRhcHRlciBhcyBhbnl9IDogdW5kZWZpbmVkLFxuICAgICAgcG9zdDogcG9zdEFkYXB0ZXIgPyB7cG9zdEFkYXB0ZXI6IHBvc3RBZGFwdGVyIGFzIGFueX0gOiB1bmRlZmluZWQsXG4gICAgICBwcm9maWxlOiBwcm9maWxlQWRhcHRlciA/IHtwcm9maWxlQWRhcHRlcjogcHJvZmlsZUFkYXB0ZXIgYXMgYW55fSA6IHVuZGVmaW5lZCxcbiAgICAgIHJlYWN0aW9uOiByZWFjdGlvbkFkYXB0ZXIgPyB7cmVhY3Rpb25BZGFwdGVyOiByZWFjdGlvbkFkYXB0ZXIgYXMgYW55fSA6IHVuZGVmaW5lZCxcbiAgICAgIHRhZzogdGFnQWRhcHRlciA/IHt0YWdBZGFwdGVyOiB0YWdBZGFwdGVyIGFzIGFueX0gOiB1bmRlZmluZWQsXG4gICAgICB1c2VyOiB1c2VyQWRhcHRlciA/IHt1c2VyQWRhcHRlcjogdXNlckFkYXB0ZXIgYXMgYW55fSA6IHVuZGVmaW5lZFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGV2ZW50QWN0aW9uczogZXZlbnQsXG4gICAgICBpbWFnZUFjdGlvbnM6IGltYWdlLFxuICAgICAgbG9jYXRpb25BY3Rpb25zOiBsb2NhdGlvbixcbiAgICAgIG1lc3NhZ2VBY3Rpb25zOiBtZXNzYWdlLFxuICAgICAgcG9zdEFjdGlvbnM6IHBvc3QsXG4gICAgICBwcm9maWxlQWN0aW9uczogcHJvZmlsZSxcbiAgICAgIHJlYWN0aW9uQWN0aW9uczogcmVhY3Rpb24sXG4gICAgICB0YWdBY3Rpb25zOiB0YWcsXG4gICAgICB1c2VyQWN0aW9uczogdXNlcixcbiAgICAgIHdlYnNvY2tldEFjdGlvbnM6IHdlYnNvY2tldFxuICAgIH07XG4gIH0sIFtcbiAgICBmbHV4LFxuICAgIGV2ZW50QWRhcHRlcixcbiAgICBpbWFnZUFkYXB0ZXIsXG4gICAgbG9jYXRpb25BZGFwdGVyLFxuICAgIG1lc3NhZ2VBZGFwdGVyLFxuICAgIHBvc3RBZGFwdGVyLFxuICAgIHByb2ZpbGVBZGFwdGVyLFxuICAgIHJlYWN0aW9uQWRhcHRlcixcbiAgICB0YWdBZGFwdGVyLFxuICAgIHVzZXJBZGFwdGVyXG4gIF0pO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLFdBQUFBLE1BQWMsOEJBQ3RCLE9BQVEsY0FBQUMsRUFBWSxXQUFBQyxNQUFjLFFBRWxDLE9BQVEsb0JBQUFDLE1BQXVCLHlCQUMvQixPQUFRLHFCQUFBQyxNQUF3Qix1QkFFekIsTUFBTUMsRUFBZ0IsSUFBTSxDQUNqQyxNQUFNQyxFQUFPTixFQUFRLEVBQ2YsQ0FBQyxTQUFBTyxDQUFRLEVBQUlOLEVBQVdHLENBQWlCLEVBQ3pDLENBQ0osTUFBT0ksRUFDUCxNQUFPQyxFQUNQLFNBQVVDLEVBQ1YsUUFBU0MsRUFDVCxLQUFNQyxFQUNOLFFBQVNDLEVBQ1QsU0FBVUMsRUFDVixJQUFLQyxFQUNMLEtBQU1DLENBQ1IsRUFBSVQsR0FBWSxDQUFDLEVBRWpCLE9BQU9MLEVBQVEsSUFBTSxDQUVuQixLQUFNLENBQ0osTUFBQWUsRUFDQSxNQUFBQyxFQUNBLFNBQUFDLEVBQ0EsUUFBQUMsRUFDQSxLQUFBQyxFQUNBLFFBQUFDLEVBQ0EsU0FBQUMsRUFDQSxJQUFBQyxFQUNBLEtBQUFDLEVBQ0EsVUFBQUMsQ0FDRixFQUFJdkIsRUFBaUJHLEVBQU0sQ0FFekIsTUFBT0UsRUFBZSxDQUFDLGFBQWNBLENBQW1CLEVBQUksT0FDNUQsTUFBT0MsRUFBZSxDQUFDLGFBQWNBLENBQW1CLEVBQUksT0FDNUQsU0FBVUMsRUFBa0IsQ0FBQyxnQkFBaUJBLENBQXNCLEVBQUksT0FDeEUsUUFBU0MsRUFBaUIsQ0FBQyxlQUFnQkEsQ0FBcUIsRUFBSSxPQUNwRSxLQUFNQyxFQUFjLENBQUMsWUFBYUEsQ0FBa0IsRUFBSSxPQUN4RCxRQUFTQyxFQUFpQixDQUFDLGVBQWdCQSxDQUFxQixFQUFJLE9BQ3BFLFNBQVVDLEVBQWtCLENBQUMsZ0JBQWlCQSxDQUFzQixFQUFJLE9BQ3hFLElBQUtDLEVBQWEsQ0FBQyxXQUFZQSxDQUFpQixFQUFJLE9BQ3BELEtBQU1DLEVBQWMsQ0FBQyxZQUFhQSxDQUFrQixFQUFJLE1BQzFELENBQUMsRUFFRCxNQUFPLENBQ0wsYUFBY0MsRUFDZCxhQUFjQyxFQUNkLGdCQUFpQkMsRUFDakIsZUFBZ0JDLEVBQ2hCLFlBQWFDLEVBQ2IsZUFBZ0JDLEVBQ2hCLGdCQUFpQkMsRUFDakIsV0FBWUMsRUFDWixZQUFhQyxFQUNiLGlCQUFrQkMsQ0FDcEIsQ0FDRixFQUFHLENBQ0RwQixFQUNBRSxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxDQUNGLENBQUMsQ0FDSCIsCiAgIm5hbWVzIjogWyJ1c2VGbHV4IiwgInVzZUNvbnRleHQiLCAidXNlTWVtbyIsICJjcmVhdGVBbGxBY3Rpb25zIiwgIk1ldHJvcG9saXNDb250ZXh0IiwgInVzZU1ldHJvcG9saXMiLCAiZmx1eCIsICJhZGFwdGVycyIsICJldmVudEFkYXB0ZXIiLCAiaW1hZ2VBZGFwdGVyIiwgImxvY2F0aW9uQWRhcHRlciIsICJtZXNzYWdlQWRhcHRlciIsICJwb3N0QWRhcHRlciIsICJwcm9maWxlQWRhcHRlciIsICJyZWFjdGlvbkFkYXB0ZXIiLCAidGFnQWRhcHRlciIsICJ1c2VyQWRhcHRlciIsICJldmVudCIsICJpbWFnZSIsICJsb2NhdGlvbiIsICJtZXNzYWdlIiwgInBvc3QiLCAicHJvZmlsZSIsICJyZWFjdGlvbiIsICJ0YWciLCAidXNlciIsICJ3ZWJzb2NrZXQiXQp9Cg==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/
|
|
5
|
+
export interface BaseAdapterOptions {
|
|
6
|
+
strict?: boolean;
|
|
7
|
+
allowPartial?: boolean;
|
|
8
|
+
environment?: 'development' | 'production' | 'test';
|
|
9
|
+
customValidation?: (input: unknown) => unknown;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Creates a validator factory that merges custom adapters with default behavior.
|
|
13
|
+
* This eliminates code duplication across all action files.
|
|
14
|
+
*
|
|
15
|
+
* @param defaultValidator - The default validation function
|
|
16
|
+
* @param customAdapter - Optional custom adapter function
|
|
17
|
+
* @param options - Adapter options
|
|
18
|
+
* @returns A validator function that applies default + custom validation
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const validateUser = createValidatorFactory(
|
|
22
|
+
* defaultUserValidator,
|
|
23
|
+
* customUserAdapter,
|
|
24
|
+
* userAdapterOptions
|
|
25
|
+
* );
|
|
26
|
+
*/
|
|
27
|
+
export declare const createValidatorFactory: <T extends BaseAdapterOptions>(defaultValidator: (input: unknown, options?: T) => any, customAdapter?: (input: unknown, options?: T) => any, options?: T) => (input: unknown, validatorOptions?: T) => any;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a validator manager that handles adapter updates and recreation.
|
|
30
|
+
* This centralizes the update logic that's duplicated across action files.
|
|
31
|
+
*
|
|
32
|
+
* @param defaultValidator - The default validation function
|
|
33
|
+
* @param initialOptions - Initial adapter options
|
|
34
|
+
* @returns An object with validator and update functions
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* const { validator, updateAdapter, updateOptions } = createValidatorManager(
|
|
38
|
+
* defaultUserValidator,
|
|
39
|
+
* userAdapterOptions
|
|
40
|
+
* );
|
|
41
|
+
*/
|
|
42
|
+
export declare const createValidatorManager: <T extends BaseAdapterOptions>(defaultValidator: (input: unknown, options?: T) => any, initialOptions?: T) => {
|
|
43
|
+
getCustomAdapter: () => ((input: unknown, options?: T) => any) | undefined;
|
|
44
|
+
getOptions: () => T;
|
|
45
|
+
updateAdapter: (adapter: (input: unknown, options?: T) => any) => void;
|
|
46
|
+
updateOptions: (options: T) => void;
|
|
47
|
+
validator: (input: unknown, validatorOptions?: T | undefined) => any;
|
|
48
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const p=(a,i,r)=>(n,o)=>{const t={...r,...o};let e=a(n,t);return i&&(e=i(e,t)),t?.customValidation&&(e=t.customValidation(e)),e},d=(a,i={})=>{let n={...{},...i},o,t=p(a,o,n);return{getCustomAdapter:()=>o,getOptions:()=>({...n}),updateAdapter:s=>{o=s,t=p(a,o,n)},updateOptions:s=>{n={...n,...s},t=p(a,o,n)},validator:t}};export{p as createValidatorFactory,d as createValidatorManager};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3ZhbGlkYXRvckZhY3RvcnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFkYXB0ZXJPcHRpb25zIHtcbiAgc3RyaWN0PzogYm9vbGVhbjtcbiAgYWxsb3dQYXJ0aWFsPzogYm9vbGVhbjtcbiAgZW52aXJvbm1lbnQ/OiAnZGV2ZWxvcG1lbnQnIHwgJ3Byb2R1Y3Rpb24nIHwgJ3Rlc3QnO1xuICBjdXN0b21WYWxpZGF0aW9uPzogKGlucHV0OiB1bmtub3duKSA9PiB1bmtub3duO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB2YWxpZGF0b3IgZmFjdG9yeSB0aGF0IG1lcmdlcyBjdXN0b20gYWRhcHRlcnMgd2l0aCBkZWZhdWx0IGJlaGF2aW9yLlxuICogVGhpcyBlbGltaW5hdGVzIGNvZGUgZHVwbGljYXRpb24gYWNyb3NzIGFsbCBhY3Rpb24gZmlsZXMuXG4gKlxuICogQHBhcmFtIGRlZmF1bHRWYWxpZGF0b3IgLSBUaGUgZGVmYXVsdCB2YWxpZGF0aW9uIGZ1bmN0aW9uXG4gKiBAcGFyYW0gY3VzdG9tQWRhcHRlciAtIE9wdGlvbmFsIGN1c3RvbSBhZGFwdGVyIGZ1bmN0aW9uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFkYXB0ZXIgb3B0aW9uc1xuICogQHJldHVybnMgQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCBhcHBsaWVzIGRlZmF1bHQgKyBjdXN0b20gdmFsaWRhdGlvblxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCB2YWxpZGF0ZVVzZXIgPSBjcmVhdGVWYWxpZGF0b3JGYWN0b3J5KFxuICogICBkZWZhdWx0VXNlclZhbGlkYXRvcixcbiAqICAgY3VzdG9tVXNlckFkYXB0ZXIsXG4gKiAgIHVzZXJBZGFwdGVyT3B0aW9uc1xuICogKTtcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVZhbGlkYXRvckZhY3RvcnkgPSA8VCBleHRlbmRzIEJhc2VBZGFwdGVyT3B0aW9ucz4oXG4gIGRlZmF1bHRWYWxpZGF0b3I6IChpbnB1dDogdW5rbm93biwgb3B0aW9ucz86IFQpID0+IGFueSxcbiAgY3VzdG9tQWRhcHRlcj86IChpbnB1dDogdW5rbm93biwgb3B0aW9ucz86IFQpID0+IGFueSxcbiAgb3B0aW9ucz86IFRcbikgPT4gKGlucHV0OiB1bmtub3duLCB2YWxpZGF0b3JPcHRpb25zPzogVCkgPT4ge1xuICBjb25zdCBtZXJnZWRPcHRpb25zID0gey4uLm9wdGlvbnMsIC4uLnZhbGlkYXRvck9wdGlvbnN9O1xuXG4gIC8vIFN0YXJ0IHdpdGggZGVmYXVsdCB2YWxpZGF0aW9uXG4gIGxldCB2YWxpZGF0ZWQgPSBkZWZhdWx0VmFsaWRhdG9yKGlucHV0LCBtZXJnZWRPcHRpb25zIGFzIFQpO1xuXG4gIC8vIEFwcGx5IGN1c3RvbSB2YWxpZGF0aW9uIGlmIHByb3ZpZGVkXG4gIGlmKGN1c3RvbUFkYXB0ZXIpIHtcbiAgICB2YWxpZGF0ZWQgPSBjdXN0b21BZGFwdGVyKHZhbGlkYXRlZCwgbWVyZ2VkT3B0aW9ucyBhcyBUKTtcbiAgfVxuXG4gIC8vIEFwcGx5IGN1c3RvbSB2YWxpZGF0aW9uIGZyb20gb3B0aW9ucyBpZiBwcm92aWRlZFxuICBpZihtZXJnZWRPcHRpb25zPy5jdXN0b21WYWxpZGF0aW9uKSB7XG4gICAgdmFsaWRhdGVkID0gbWVyZ2VkT3B0aW9ucy5jdXN0b21WYWxpZGF0aW9uKHZhbGlkYXRlZCk7XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVkO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgdmFsaWRhdG9yIG1hbmFnZXIgdGhhdCBoYW5kbGVzIGFkYXB0ZXIgdXBkYXRlcyBhbmQgcmVjcmVhdGlvbi5cbiAqIFRoaXMgY2VudHJhbGl6ZXMgdGhlIHVwZGF0ZSBsb2dpYyB0aGF0J3MgZHVwbGljYXRlZCBhY3Jvc3MgYWN0aW9uIGZpbGVzLlxuICpcbiAqIEBwYXJhbSBkZWZhdWx0VmFsaWRhdG9yIC0gVGhlIGRlZmF1bHQgdmFsaWRhdGlvbiBmdW5jdGlvblxuICogQHBhcmFtIGluaXRpYWxPcHRpb25zIC0gSW5pdGlhbCBhZGFwdGVyIG9wdGlvbnNcbiAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIHZhbGlkYXRvciBhbmQgdXBkYXRlIGZ1bmN0aW9uc1xuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCB7IHZhbGlkYXRvciwgdXBkYXRlQWRhcHRlciwgdXBkYXRlT3B0aW9ucyB9ID0gY3JlYXRlVmFsaWRhdG9yTWFuYWdlcihcbiAqICAgZGVmYXVsdFVzZXJWYWxpZGF0b3IsXG4gKiAgIHVzZXJBZGFwdGVyT3B0aW9uc1xuICogKTtcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVZhbGlkYXRvck1hbmFnZXIgPSA8VCBleHRlbmRzIEJhc2VBZGFwdGVyT3B0aW9ucz4oXG4gIGRlZmF1bHRWYWxpZGF0b3I6IChpbnB1dDogdW5rbm93biwgb3B0aW9ucz86IFQpID0+IGFueSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xuICBpbml0aWFsT3B0aW9uczogVCA9IHt9IGFzIFRcbikgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG4gIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBUID0ge30gYXMgVDtcblxuICBsZXQgYWRhcHRlck9wdGlvbnM6IFQgPSB7Li4uZGVmYXVsdE9wdGlvbnMsIC4uLmluaXRpYWxPcHRpb25zfTtcbiAgbGV0IGN1c3RvbUFkYXB0ZXI6ICgoaW5wdXQ6IHVua25vd24sIG9wdGlvbnM/OiBUKSA9PiBhbnkpIHwgdW5kZWZpbmVkO1xuXG4gIGxldCB2YWxpZGF0b3IgPSBjcmVhdGVWYWxpZGF0b3JGYWN0b3J5KGRlZmF1bHRWYWxpZGF0b3IsIGN1c3RvbUFkYXB0ZXIsIGFkYXB0ZXJPcHRpb25zKTtcblxuICBjb25zdCB1cGRhdGVBZGFwdGVyID0gKGFkYXB0ZXI6IChpbnB1dDogdW5rbm93biwgb3B0aW9ucz86IFQpID0+IGFueSk6IHZvaWQgPT4ge1xuICAgIGN1c3RvbUFkYXB0ZXIgPSBhZGFwdGVyO1xuICAgIHZhbGlkYXRvciA9IGNyZWF0ZVZhbGlkYXRvckZhY3RvcnkoZGVmYXVsdFZhbGlkYXRvciwgY3VzdG9tQWRhcHRlciwgYWRhcHRlck9wdGlvbnMpO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZU9wdGlvbnMgPSAob3B0aW9uczogVCk6IHZvaWQgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWFzc2VydGlvbnNcbiAgICBhZGFwdGVyT3B0aW9ucyA9IHsuLi5hZGFwdGVyT3B0aW9ucywgLi4ub3B0aW9uc30gYXMgVDtcbiAgICB2YWxpZGF0b3IgPSBjcmVhdGVWYWxpZGF0b3JGYWN0b3J5KGRlZmF1bHRWYWxpZGF0b3IsIGN1c3RvbUFkYXB0ZXIsIGFkYXB0ZXJPcHRpb25zKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGdldEN1c3RvbUFkYXB0ZXI6ICgpID0+IGN1c3RvbUFkYXB0ZXIsXG4gICAgZ2V0T3B0aW9uczogKCkgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1xuICAgICAgY29uc3Qgb3B0aW9uczogVCA9IHsuLi5hZGFwdGVyT3B0aW9uc30gYXMgVDtcbiAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH0sXG4gICAgdXBkYXRlQWRhcHRlcixcbiAgICB1cGRhdGVPcHRpb25zLFxuICAgIHZhbGlkYXRvclxuICB9O1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUE0Qk8sTUFBTUEsRUFBeUIsQ0FDcENDLEVBQ0FDLEVBQ0FDLElBQ0csQ0FBQ0MsRUFBZ0JDLElBQXlCLENBQzdDLE1BQU1DLEVBQWdCLENBQUMsR0FBR0gsRUFBUyxHQUFHRSxDQUFnQixFQUd0RCxJQUFJRSxFQUFZTixFQUFpQkcsRUFBT0UsQ0FBa0IsRUFHMUQsT0FBR0osSUFDREssRUFBWUwsRUFBY0ssRUFBV0QsQ0FBa0IsR0FJdERBLEdBQWUsbUJBQ2hCQyxFQUFZRCxFQUFjLGlCQUFpQkMsQ0FBUyxHQUcvQ0EsQ0FDVCxFQWdCYUMsRUFBeUIsQ0FDcENQLEVBRUFRLEVBQW9CLENBQUMsSUFDbEIsQ0FJSCxJQUFJQyxFQUFvQixDQUFDLEdBRkMsQ0FBQyxFQUVpQixHQUFHRCxDQUFjLEVBQ3pEUCxFQUVBUyxFQUFZWCxFQUF1QkMsRUFBa0JDLEVBQWVRLENBQWMsRUFhdEYsTUFBTyxDQUNMLGlCQUFrQixJQUFNUixFQUN4QixXQUFZLEtBRVMsQ0FBQyxHQUFHUSxDQUFjLEdBR3ZDLGNBbEJxQkUsR0FBd0QsQ0FDN0VWLEVBQWdCVSxFQUNoQkQsRUFBWVgsRUFBdUJDLEVBQWtCQyxFQUFlUSxDQUFjLENBQ3BGLEVBZ0JFLGNBZHFCUCxHQUFxQixDQUUxQ08sRUFBaUIsQ0FBQyxHQUFHQSxFQUFnQixHQUFHUCxDQUFPLEVBQy9DUSxFQUFZWCxFQUF1QkMsRUFBa0JDLEVBQWVRLENBQWMsQ0FDcEYsRUFXRSxVQUFBQyxDQUNGLENBQ0YiLAogICJuYW1lcyI6IFsiY3JlYXRlVmFsaWRhdG9yRmFjdG9yeSIsICJkZWZhdWx0VmFsaWRhdG9yIiwgImN1c3RvbUFkYXB0ZXIiLCAib3B0aW9ucyIsICJpbnB1dCIsICJ2YWxpZGF0b3JPcHRpb25zIiwgIm1lcmdlZE9wdGlvbnMiLCAidmFsaWRhdGVkIiwgImNyZWF0ZVZhbGlkYXRvck1hbmFnZXIiLCAiaW5pdGlhbE9wdGlvbnMiLCAiYWRhcHRlck9wdGlvbnMiLCAidmFsaWRhdG9yIiwgImFkYXB0ZXIiXQp9Cg==
|
package/package.json
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlabs/metropolisjs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "MetropolisJS is a library to connect users to Reaktor",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"main": "lib/index.js",
|
|
6
|
-
"module": "
|
|
7
|
-
"
|
|
7
|
+
"module": "lib/index.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./lib/index.js",
|
|
11
|
+
"require": "./lib/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
8
14
|
"types": "./lib/index.d.ts",
|
|
9
15
|
"scripts": {
|
|
10
|
-
"build": "lex compile
|
|
16
|
+
"build": "lex compile --remove",
|
|
11
17
|
"clean": "lex clean",
|
|
12
|
-
"dev": "lex dev
|
|
18
|
+
"dev": "lex dev --remove",
|
|
13
19
|
"format": "npm run prettier && npm run lint",
|
|
14
|
-
"lint": "
|
|
15
|
-
"pretest": "npm run lint",
|
|
20
|
+
"lint": "lex lint --fix",
|
|
16
21
|
"prettier": "prettier --write ./src",
|
|
17
22
|
"production": "lex build",
|
|
18
23
|
"publish:major": "npm version major && npm run publish:tags && npm publish",
|
|
@@ -21,8 +26,8 @@
|
|
|
21
26
|
"publish:tags": "git push --tags && git push origin HEAD",
|
|
22
27
|
"start": "lex dev -r -o",
|
|
23
28
|
"test": "lex test",
|
|
24
|
-
"update": "lex update
|
|
25
|
-
"watch": "lex compile
|
|
29
|
+
"update": "lex update --interactive",
|
|
30
|
+
"watch": "lex compile --watch"
|
|
26
31
|
},
|
|
27
32
|
"repository": {
|
|
28
33
|
"type": "git",
|
|
@@ -41,28 +46,29 @@
|
|
|
41
46
|
},
|
|
42
47
|
"license": "MIT",
|
|
43
48
|
"dependencies": {
|
|
44
|
-
"@nlabs/rip-hunter": "
|
|
45
|
-
"@nlabs/utils": "
|
|
46
|
-
"
|
|
47
|
-
"luxon": "^2.3.1",
|
|
49
|
+
"@nlabs/rip-hunter": "3.0.0",
|
|
50
|
+
"@nlabs/utils": "2.7.5",
|
|
51
|
+
"luxon": "^3.7.1",
|
|
48
52
|
"p-debounce": "^4.0.0",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
53
|
+
"sockette": "^2.0.6",
|
|
54
|
+
"zod": "^4.0.5"
|
|
51
55
|
},
|
|
52
56
|
"devDependencies": {
|
|
53
|
-
"@
|
|
54
|
-
"@nlabs/arkhamjs
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"@
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
57
|
+
"@jest/globals": "30.0.4",
|
|
58
|
+
"@nlabs/arkhamjs": "3.31.5",
|
|
59
|
+
"@nlabs/arkhamjs-storage-browser": "^3.30.1",
|
|
60
|
+
"@nlabs/arkhamjs-utils-react": "^3.32.4",
|
|
61
|
+
"@nlabs/lex": "^1.48.7",
|
|
62
|
+
"@types/jest": "^30.0.0",
|
|
63
|
+
"@types/node": "^24.0.15",
|
|
64
|
+
"@types/react": "^19.1.8",
|
|
65
|
+
"react": "^19.1.0",
|
|
66
|
+
"typescript": "^5.8.3"
|
|
62
67
|
},
|
|
63
68
|
"peerDependencies": {
|
|
64
|
-
"@nlabs/arkhamjs": "^3.
|
|
65
|
-
"@nlabs/arkhamjs-storage-browser": "^3.
|
|
66
|
-
"@nlabs/arkhamjs-utils-react": "^3.
|
|
69
|
+
"@nlabs/arkhamjs": "^3.31.1",
|
|
70
|
+
"@nlabs/arkhamjs-storage-browser": "^3.30.0",
|
|
71
|
+
"@nlabs/arkhamjs-utils-react": "^3.32.0",
|
|
72
|
+
"react": "^19.1.0"
|
|
67
73
|
}
|
|
68
74
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"noImplicitAny": false,
|
|
5
|
+
"noImplicitThis": false,
|
|
6
|
+
"noUncheckedIndexedAccess": false,
|
|
7
|
+
"noUnusedLocals": false,
|
|
8
|
+
"skipLibCheck": false,
|
|
9
|
+
"strict": false,
|
|
10
|
+
"types": [
|
|
11
|
+
"jest",
|
|
12
|
+
"node"
|
|
13
|
+
],
|
|
14
|
+
},
|
|
15
|
+
"include": [
|
|
16
|
+
"./src/**/*.ts",
|
|
17
|
+
"./src/**/*.tsx",
|
|
18
|
+
"./src/**/*.test.ts",
|
|
19
|
+
"./src/**/*.test.tsx"
|
|
20
|
+
],
|
|
21
|
+
"exclude": [
|
|
22
|
+
"lib",
|
|
23
|
+
"./node_modules"
|
|
24
|
+
]
|
|
25
|
+
}
|