refactor: gatherWithLatus

This commit is contained in:
cha0s 2021-01-12 23:16:46 -06:00
parent 772d1752c7
commit 3153561f50
5 changed files with 29 additions and 8 deletions

View File

@ -24,6 +24,7 @@
"dependencies": {
"@avocado/resource": "^2.0.0",
"@avocado/traits": "^2.0.0",
"@latus/core": "^2.0.0",
"debug": "4.3.1",
"howler": "2.1.2"
},

View File

@ -1 +1,12 @@
export {default} from './sound';
import {gatherWithLatus} from '@latus/core';
export default {
hooks: {
'@avocado/resource/resources': gatherWithLatus(
require.context('./resources', false, /\.js$/),
),
'@avocado/traits': gatherWithLatus(
require.context('./traits', false, /\.js$/),
),
},
};

View File

@ -2,7 +2,7 @@ import {Howl} from 'howler';
import {JsonResource} from '@avocado/resource';
export default class Sound extends JsonResource {
export default () => class Sound extends JsonResource {
constructor({interval = 0, volume = 1, sound} = {}) {
super();
@ -45,4 +45,4 @@ export default class Sound extends JsonResource {
}
}
}
};

View File

@ -1,8 +1,7 @@
import {resource} from '@avocado/resource';
import {Trait} from '@avocado/traits';
import Sound from '../sound';
export default class Audible extends Trait {
export default (latus) => class Audible extends Trait {
#sounds;
@ -59,6 +58,7 @@ export default class Audible extends Trait {
async extendJson(json) {
const extended = await super.extendJson(json);
if (this.params.sounds && 'client' === process.env.SIDE) {
const {fromResourceType: {Sound}} = resource(latus);
extended.sounds = Object.fromEntries(
await Promise.all(
Object.entries(this.params.sounds)
@ -84,4 +84,4 @@ export default class Audible extends Trait {
.reduce((r, key) => ({...r, [key]: key}), {});
}
}
};

View File

@ -931,7 +931,7 @@
minimatch "^3.0.4"
strip-json-comments "^3.1.1"
"@latus/core@2.0.0", "@latus/core@^2.0.0":
"@latus/core@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-2.0.0.tgz#f8a860fa8ef52368e25adbef28b9554e4e45bab4"
integrity sha512-rZGy5utsb22klB85SG72m2+bc92NzFMDvNbtDEVKqCtVN2DzPDUqDBcqfoFcyN6DMDtG3NhAMxw71dj0JLFZiA==
@ -940,6 +940,15 @@
js-yaml "3.14.0"
lodash.flatten "^4.4.0"
"@latus/core@^2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fcore/-/core-2.0.0.tgz#b98b3cecd37e11cfecc3dd25c900b34232c98cf9"
integrity sha512-mVAuCJJzkyXDZjCcZ97+vuForcZl7lIiaxwqHdm73Fo/CgKoCqNXge96LfJ8ZHx+3ypx5Zz3C2+0em1dvEvFLw==
dependencies:
debug "4.3.1"
js-yaml "3.14.0"
lodash.flatten "^4.4.0"
"@latus/http@2.0.0":
version "2.0.0"
resolved "https://npm.i12e.cha0s.io/@latus%2fhttp/-/http-2.0.0.tgz#da9bed42d196b6864510b6cd0838cb16319c89c9"