@kaspernj/api-maker 1.0.166 → 1.0.169

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/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  ]
17
17
  },
18
18
  "name": "@kaspernj/api-maker",
19
- "version": "1.0.166",
19
+ "version": "1.0.169",
20
20
  "description": "",
21
21
  "main": "index.js",
22
22
  "repository": {
@@ -3,6 +3,7 @@ const CommandsPool = require("./commands-pool.cjs")
3
3
  const {digg} = require("diggerize")
4
4
  const inflection = require("inflection")
5
5
  const {merge} = require("./merge.cjs")
6
+ const modelClassRequire = require("./model-class-require.cjs")
6
7
  const Result = require("./result.cjs")
7
8
 
8
9
  class ApiMakerCollection {
@@ -212,7 +213,7 @@ class ApiMakerCollection {
212
213
  modelClass () {
213
214
  const modelName = digg(this.args.modelClass.modelClassData(), "name")
214
215
 
215
- return digg(require("@kaspernj/api-maker/src/models"), modelName)
216
+ return modelClassRequire(modelName)
216
217
  }
217
218
 
218
219
  clone () {
@@ -1,5 +1,6 @@
1
1
  const {digg} = require("diggerize")
2
2
  const inflection = require("inflection")
3
+ const modelClassRequire = require("./model-class-require.cjs")
3
4
  const ModelsResponseReader = require("./models-response-reader.cjs")
4
5
  const Money = require("js-money")
5
6
 
@@ -32,14 +33,14 @@ module.exports = class ApiMakerDeserializer {
32
33
  return Money.fromInteger(cents, currency)
33
34
  } else if (object.api_maker_type == "model") {
34
35
  const modelClassName = inflection.classify(digg(object, "model_name"))
35
- const ModelClass = digg(require("@kaspernj/api-maker/src/models"), modelClassName)
36
+ const ModelClass = modelClassRequire(modelClassName)
36
37
  const data = ApiMakerDeserializer.parse(digg(object, "serialized"))
37
38
  const model = new ModelClass({data, isNewRecord: false})
38
39
 
39
40
  return model
40
41
  } else if (object.api_maker_type == "resource") {
41
42
  const modelClassName = inflection.classify(digg(object, "name"))
42
- const ModelClass = digg(require("@kaspernj/api-maker/src/models"), modelClassName)
43
+ const ModelClass = modelClassRequire(modelClassName)
43
44
 
44
45
  return ModelClass
45
46
  } else {
@@ -1,29 +1,30 @@
1
- const CanCan = require("./can-can.cjs")
2
- const Deserializer = require("./deserializer.cjs")
3
- const {digg} = require("diggerize")
4
- const EventEmitter = require("events")
5
- const inflection = require("inflection")
6
- const Services = require("./services.cjs")
7
-
8
- module.exports = class ApiMakerDevise {
1
+ import CanCan from "./can-can.cjs"
2
+ import Deserializer from "./deserializer.cjs"
3
+ import {digg} from "diggerize"
4
+ import EventEmitter from "events"
5
+ import inflection from "inflection"
6
+ import modelClassRequire from "./model-class-require.cjs"
7
+ import Services from "./services.cjs"
8
+
9
+ export default class ApiMakerDevise {
9
10
  static callSignOutEvent (args) {
10
11
  ApiMakerDevise.events().emit("onDeviseSignOut", {args})
11
12
  }
12
13
 
13
14
  static current () {
14
- if (!global.currentApiMakerDevise)
15
- global.currentApiMakerDevise = new ApiMakerDevise()
15
+ if (!globalThis.currentApiMakerDevise)
16
+ globalThis.currentApiMakerDevise = new ApiMakerDevise()
16
17
 
17
- return global.currentApiMakerDevise
18
+ return globalThis.currentApiMakerDevise
18
19
  }
19
20
 
20
21
  static events () {
21
- if (!global.apiMakerDeviseEvents) {
22
- global.apiMakerDeviseEvents = new EventEmitter()
23
- global.apiMakerDeviseEvents.setMaxListeners(1000)
22
+ if (!globalThis.apiMakerDeviseEvents) {
23
+ globalThis.apiMakerDeviseEvents = new EventEmitter()
24
+ globalThis.apiMakerDeviseEvents.setMaxListeners(1000)
24
25
  }
25
26
 
26
- return global.apiMakerDeviseEvents
27
+ return globalThis.apiMakerDeviseEvents
27
28
  }
28
29
 
29
30
  static addUserScope (scope) {
@@ -82,8 +83,8 @@ module.exports = class ApiMakerDevise {
82
83
  await CanCan.current().resetAbilities()
83
84
 
84
85
  // Cannot use the class because they would both import each other
85
- if (global.apiMakerSessionStatusUpdater) {
86
- global.apiMakerSessionStatusUpdater.updateSessionStatus()
86
+ if (globalThis.apiMakerSessionStatusUpdater) {
87
+ globalThis.apiMakerSessionStatusUpdater.updateSessionStatus()
87
88
  }
88
89
 
89
90
  ApiMakerDevise.setSignedOut(args)
@@ -104,7 +105,7 @@ module.exports = class ApiMakerDevise {
104
105
  }
105
106
 
106
107
  loadCurrentScope (scope) {
107
- const scopeData = global.apiMakerDeviseCurrent[scope]
108
+ const scopeData = globalThis.apiMakerDeviseCurrent[scope]
108
109
 
109
110
  if (!scopeData) return null
110
111
 
@@ -113,7 +114,7 @@ module.exports = class ApiMakerDevise {
113
114
  // Might be a collection with preloaded relationships
114
115
  if (Array.isArray(parsedScopeData)) return parsedScopeData[0]
115
116
 
116
- const ModelClass = digg(require("@kaspernj/api-maker/src/models"), inflection.camelize(scope))
117
+ const ModelClass = modelClassRequire(scope)
117
118
  const modelInstance = new ModelClass({data: parsedScopeData})
118
119
 
119
120
  return modelInstance
@@ -0,0 +1,9 @@
1
+ const {digg} = require("diggerize")
2
+ const inflection = require("inflection")
3
+
4
+ module.exports = (modelName) => {
5
+ const requireName = inflection.camelize(modelName)
6
+ const ModelClass = digg(require("@kaspernj/api-maker/src/models.cjs"), requireName)
7
+
8
+ return ModelClass
9
+ }
@@ -1,7 +1,7 @@
1
- const {digg, digs} = require("diggerize")
2
- const ModelRecipesModelLoader = require("./model-recipes-model-loader.cjs")
1
+ import {digg, digs} from "diggerize"
2
+ import ModelRecipesModelLoader from "./model-recipes-model-loader.mjs"
3
3
 
4
- module.exports = class ModelRecipesLoader {
4
+ export default class ModelRecipesLoader {
5
5
  constructor ({recipes}) {
6
6
  this.modelClasses = {}
7
7
  this.recipes = recipes
@@ -1,9 +1,9 @@
1
- const BaseModel = require("./base-model.cjs")
2
- const Collection = require("./collection.cjs")
3
- const {digg, digs} = require("diggerize")
4
- const inflection = require("inflection")
1
+ import BaseModel from "./base-model.cjs"
2
+ import Collection from "./collection.cjs"
3
+ import {digg, digs} from "diggerize"
4
+ import inflection from "inflection"
5
5
 
6
- module.exports = class ApiMakerModelRecipesModelLoader {
6
+ export default class ApiMakerModelRecipesModelLoader {
7
7
  constructor ({modelRecipe, modelRecipesLoader}) {
8
8
  if (!modelRecipe) throw new Error("No 'modelRecipe' was given")
9
9
 
@@ -0,0 +1,3 @@
1
+ /* rails-erb-loader-dependencies api_maker/resources/ models/ */
2
+
3
+ export default <%= ApiMaker::ModelClassesJavaScriptGeneratorService.execute!.to_json %>
@@ -1,5 +1,6 @@
1
1
  const {digg} = require("diggerize")
2
2
  const inflection = require("inflection")
3
+ const modelClassRequire = require("./model-class-require.cjs")
3
4
  const Preloaded = require("./preloaded.cjs")
4
5
 
5
6
  module.exports = class ModelsResponseReader {
@@ -23,7 +24,7 @@ module.exports = class ModelsResponseReader {
23
24
 
24
25
  for (const modelType in this.response.data) {
25
26
  const modelClassName = inflection.classify(modelType)
26
- const ModelClass = digg(require("@kaspernj/api-maker/src/models"), modelClassName)
27
+ const ModelClass = modelClassRequire(modelClassName)
27
28
  const collectionName = ModelClass.modelClassData().collectionName
28
29
 
29
30
  for (const modelId of this.response.data[modelType]) {
package/src/models.cjs CHANGED
@@ -1,5 +1,5 @@
1
- const modelRecipes = require("./model-recipes.cjs.erb")
2
- const ModelRecipesLoader = require("./model-recipes-loader.cjs")
1
+ const modelRecipes = require("./model-recipes.mjs.erb").default
2
+ const ModelRecipesLoader = require("./model-recipes-loader.mjs").default
3
3
 
4
4
  const loader = new ModelRecipesLoader({recipes: modelRecipes})
5
5
  const result = loader.load()
package/src/preloaded.cjs CHANGED
@@ -1,5 +1,5 @@
1
- const {digg} = require("diggerize")
2
1
  const inflection = require("inflection")
2
+ const modelClassRequire = require("./model-class-require.cjs")
3
3
 
4
4
  module.exports = class ApiMakerPreloaded {
5
5
  constructor (response) {
@@ -12,7 +12,7 @@ module.exports = class ApiMakerPreloaded {
12
12
 
13
13
  for (const preloadedType in this.response.preloaded) {
14
14
  const modelClassName = inflection.classify(preloadedType)
15
- const ModelClass = digg(require("@kaspernj/api-maker/src/models"), modelClassName)
15
+ const ModelClass = modelClassRequire(modelClassName)
16
16
 
17
17
  for (const preloadedId in this.response.preloaded[preloadedType]) {
18
18
  const preloadedData = this.response.preloaded[preloadedType][preloadedId]
package/src/router.jsx CHANGED
@@ -24,7 +24,7 @@ class ApiMakerRouter extends React.Component {
24
24
 
25
25
  return (
26
26
  <Suspense fallback={<div />}>
27
- <NotFoundComponent />
27
+ <NotFoundComponent match={match} />
28
28
  </Suspense>
29
29
  )
30
30
  } else {
@@ -1,13 +1,13 @@
1
- const Devise = require("./devise.cjs")
2
- const inflection = require("inflection")
3
- const wakeEvent = require("wake-event")
1
+ import Devise from "./devise.mjs"
2
+ import inflection from "inflection"
3
+ import wakeEvent from "wake-event"
4
4
 
5
- module.exports = class ApiMakerSessionStatusUpdater {
5
+ export default class ApiMakerSessionStatusUpdater {
6
6
  static current () {
7
- if (!global.apiMakerSessionStatusUpdater)
8
- global.apiMakerSessionStatusUpdater = new ApiMakerSessionStatusUpdater()
7
+ if (!globalThis.apiMakerSessionStatusUpdater)
8
+ globalThis.apiMakerSessionStatusUpdater = new ApiMakerSessionStatusUpdater()
9
9
 
10
- return global.apiMakerSessionStatusUpdater
10
+ return globalThis.apiMakerSessionStatusUpdater
11
11
  }
12
12
 
13
13
  constructor (args = {}) {
@@ -20,7 +20,7 @@ module.exports = class ApiMakerSessionStatusUpdater {
20
20
  }
21
21
 
22
22
  connectOnlineEvent () {
23
- global.addEventListener("online", () => this.updateSessionStatus(), false)
23
+ window.addEventListener("online", () => this.updateSessionStatus(), false)
24
24
  }
25
25
 
26
26
  connectWakeEvent () {
@@ -1,5 +1,5 @@
1
- const {digg} = require("diggerize")
2
- const translatedCollectionsData = require("./translated-collections-data").default
1
+ import {digg} from "diggerize"
2
+ import translatedCollectionsData from "./translated-collections-data.mjs.erb"
3
3
 
4
4
  export default class ApiMakerTranslatedCollections {
5
5
  static get (modelClass, collectionName) {
@@ -1,5 +1,6 @@
1
1
  const {digg, digs} = require("diggerize")
2
2
  const inflection = require("inflection")
3
+ const modelClassRequire = require("./model-class-require.cjs")
3
4
 
4
5
  class ValidationError {
5
6
  constructor (args) {
@@ -65,7 +66,7 @@ class ValidationError {
65
66
  getModelClass () {
66
67
  const modelName = inflection.classify(digg(this, "modelName"))
67
68
 
68
- return digg(require("@kaspernj/api-maker/src/models"), modelName)
69
+ return modelClassRequire(modelName)
69
70
  }
70
71
 
71
72
  setHandled () {
@@ -116,9 +116,10 @@ export default (WrapperComponent) => class WithRouter extends React.Component {
116
116
  render() {
117
117
  const {path, routes, routeDefinitions, ...restProps} = this.props
118
118
  const matchingRoute = this.findMatchingRoute()
119
+ const params = matchingRoute?.params || {}
119
120
  const match = {
120
121
  matchingRoute,
121
- params: matchingRoute?.params
122
+ params
122
123
  }
123
124
 
124
125
  return (
@@ -1,3 +0,0 @@
1
- /* rails-erb-loader-dependencies api_maker/resources/ models/ */
2
-
3
- module.exports = <%= ApiMaker::ModelClassesJavaScriptGeneratorService.execute!.to_json %>