jason-rails 0.7.1 → 0.7.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +4 -3
- data/client/lib/JasonProvider.d.ts +2 -1
- data/client/lib/JasonProvider.js +2 -2
- data/client/lib/index.d.ts +7 -1
- data/client/lib/index.js +3 -1
- data/client/lib/useJason.d.ts +2 -1
- data/client/lib/useJason.js +2 -2
- data/client/package.json +1 -1
- data/client/src/JasonProvider.tsx +2 -2
- data/client/src/index.ts +2 -0
- data/client/src/useJason.ts +2 -2
- data/lib/jason/consistency_checker.rb +4 -0
- data/lib/jason/publisher.rb +2 -2
- data/lib/jason/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7f9c248374aaa06055ef47cfaed1c131b9341bee90708d215986e551ac4d9cc
|
4
|
+
data.tar.gz: 6e414392f9658ddcfe77b299c2edcd352977652d07f046d8d707d6d9b3b37d8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34c5b26b7b909e8f4a24ce47b5c74ca584f9aca49d379c70972bdea1899c74a333acce67c4afdb21b86ef7c9ee31fb5cadfe4cbc91528380c37f5482d6f4ec1c
|
7
|
+
data.tar.gz: d6c760e610ddac664d3a95a60fce8c535b6485e745d3f58701bf67489f8a50f8b05d487af555e1ea392c8efaacaed8d8ca0f3fae36607d0bc90df129860398f9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## v0.7.2
|
2
|
+
- Add JasonContext to exports, for use in scenarios where you need to forward the context into some other React reconciler (e.g. `react-three-fiber`)
|
3
|
+
- Fixed: Unneeded `reload` in Publisher resulting in extra database calls
|
4
|
+
|
1
5
|
## v0.7.1
|
2
6
|
- Added: Authorization for REST endpoints. Previously these just inherited logic from ApplicationController. Pass a `update_authorization_service` option to the Jason initializer to use this.
|
3
7
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
jason-rails (0.7.
|
4
|
+
jason-rails (0.7.1)
|
5
5
|
connection_pool (>= 2.2.3)
|
6
6
|
jsondiff
|
7
7
|
rails (>= 5)
|
@@ -89,9 +89,10 @@ GEM
|
|
89
89
|
marcel (0.3.3)
|
90
90
|
mimemagic (~> 0.3.2)
|
91
91
|
method_source (1.0.0)
|
92
|
-
mimemagic (0.3.
|
92
|
+
mimemagic (0.3.10)
|
93
93
|
nokogiri (~> 1)
|
94
|
-
|
94
|
+
rake
|
95
|
+
mini_mime (1.1.0)
|
95
96
|
mini_portile2 (2.5.0)
|
96
97
|
minitest (5.14.3)
|
97
98
|
nio4r (2.5.7)
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
declare const JasonProvider: ({ reducers, middleware, extraActions, children }: {
|
2
|
+
declare const JasonProvider: ({ reducers, middleware, enhancers, extraActions, children }: {
|
3
3
|
reducers?: any;
|
4
4
|
middleware?: any;
|
5
|
+
enhancers?: any;
|
5
6
|
extraActions?: any;
|
6
7
|
children?: React.FC<{}> | undefined;
|
7
8
|
}) => JSX.Element;
|
data/client/lib/JasonProvider.js
CHANGED
@@ -7,8 +7,8 @@ const react_1 = __importDefault(require("react"));
|
|
7
7
|
const useJason_1 = __importDefault(require("./useJason"));
|
8
8
|
const react_redux_1 = require("react-redux");
|
9
9
|
const JasonContext_1 = __importDefault(require("./JasonContext"));
|
10
|
-
const JasonProvider = ({ reducers, middleware, extraActions, children }) => {
|
11
|
-
const [store, value] = useJason_1.default({ reducers, middleware, extraActions });
|
10
|
+
const JasonProvider = ({ reducers, middleware, enhancers, extraActions, children }) => {
|
11
|
+
const [store, value] = useJason_1.default({ reducers, middleware, enhancers, extraActions });
|
12
12
|
if (!(store && value))
|
13
13
|
return react_1.default.createElement("div", null); // Wait for async fetch of schema to complete
|
14
14
|
return react_1.default.createElement(react_redux_1.Provider, { store: store },
|
data/client/lib/index.d.ts
CHANGED
@@ -2,9 +2,15 @@
|
|
2
2
|
import _useAct from './useAct';
|
3
3
|
import _useSub from './useSub';
|
4
4
|
import _useEager from './useEager';
|
5
|
-
export declare const
|
5
|
+
export declare const JasonContext: import("react").Context<{
|
6
|
+
actions: any;
|
7
|
+
subscribe: null;
|
8
|
+
eager: (entity: any, id: any, relations: any) => void;
|
9
|
+
}>;
|
10
|
+
export declare const JasonProvider: ({ reducers, middleware, enhancers, extraActions, children }: {
|
6
11
|
reducers?: any;
|
7
12
|
middleware?: any;
|
13
|
+
enhancers?: any;
|
8
14
|
extraActions?: any;
|
9
15
|
children?: import("react").FC<{}> | undefined;
|
10
16
|
}) => JSX.Element;
|
data/client/lib/index.js
CHANGED
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.useEager = exports.useSub = exports.useAct = exports.JasonProvider = void 0;
|
6
|
+
exports.useEager = exports.useSub = exports.useAct = exports.JasonProvider = exports.JasonContext = void 0;
|
7
|
+
const JasonContext_1 = __importDefault(require("./JasonContext"));
|
7
8
|
const JasonProvider_1 = __importDefault(require("./JasonProvider"));
|
8
9
|
const useAct_1 = __importDefault(require("./useAct"));
|
9
10
|
const useSub_1 = __importDefault(require("./useSub"));
|
10
11
|
const useEager_1 = __importDefault(require("./useEager"));
|
12
|
+
exports.JasonContext = JasonContext_1.default;
|
11
13
|
exports.JasonProvider = JasonProvider_1.default;
|
12
14
|
exports.useAct = useAct_1.default;
|
13
15
|
exports.useSub = useSub_1.default;
|
data/client/lib/useJason.d.ts
CHANGED
data/client/lib/useJason.js
CHANGED
@@ -16,7 +16,7 @@ const humps_1 = require("humps");
|
|
16
16
|
const blueimp_md5_1 = __importDefault(require("blueimp-md5"));
|
17
17
|
const lodash_1 = __importDefault(require("lodash"));
|
18
18
|
const react_1 = require("react");
|
19
|
-
function useJason({ reducers, middleware = [], extraActions }) {
|
19
|
+
function useJason({ reducers, middleware = [], enhancers = [], extraActions }) {
|
20
20
|
const [store, setStore] = react_1.useState(null);
|
21
21
|
const [value, setValue] = react_1.useState(null);
|
22
22
|
react_1.useEffect(() => {
|
@@ -28,7 +28,7 @@ function useJason({ reducers, middleware = [], extraActions }) {
|
|
28
28
|
const serverActionQueue = createServerActionQueue_1.default();
|
29
29
|
const allReducers = Object.assign(Object.assign({}, reducers), createJasonReducers_1.default(schema));
|
30
30
|
console.debug({ allReducers });
|
31
|
-
const store = toolkit_1.configureStore({ reducer: allReducers, middleware: [...middleware, pruneIdsMiddleware_1.default(schema)] });
|
31
|
+
const store = toolkit_1.configureStore({ reducer: allReducers, middleware: [...middleware, pruneIdsMiddleware_1.default(schema)], enhancers });
|
32
32
|
const dispatch = store.dispatch;
|
33
33
|
const optDis = createOptDis_1.default(schema, dispatch, restClient_1.default, serverActionQueue);
|
34
34
|
const actions = createActions_1.default(schema, store, restClient_1.default, optDis, extraActions);
|
data/client/package.json
CHANGED
@@ -3,8 +3,8 @@ import useJason from './useJason'
|
|
3
3
|
import { Provider } from 'react-redux'
|
4
4
|
import JasonContext from './JasonContext'
|
5
5
|
|
6
|
-
const JasonProvider = ({ reducers, middleware, extraActions, children }: { reducers?: any, middleware?: any, extraActions?: any, children?: React.FC }) => {
|
7
|
-
const [store, value] = useJason({ reducers, middleware, extraActions })
|
6
|
+
const JasonProvider = ({ reducers, middleware, enhancers, extraActions, children }: { reducers?: any, middleware?: any, enhancers?: any, extraActions?: any, children?: React.FC }) => {
|
7
|
+
const [store, value] = useJason({ reducers, middleware, enhancers, extraActions })
|
8
8
|
|
9
9
|
if(!(store && value)) return <div /> // Wait for async fetch of schema to complete
|
10
10
|
|
data/client/src/index.ts
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
+
import _JasonContext from './JasonContext'
|
1
2
|
import _JasonProvider from './JasonProvider'
|
2
3
|
import _useAct from './useAct'
|
3
4
|
import _useSub from './useSub'
|
4
5
|
import _useEager from './useEager'
|
5
6
|
|
7
|
+
export const JasonContext = _JasonContext
|
6
8
|
export const JasonProvider = _JasonProvider
|
7
9
|
export const useAct = _useAct
|
8
10
|
export const useSub = _useSub
|
data/client/src/useJason.ts
CHANGED
@@ -14,7 +14,7 @@ import md5 from 'blueimp-md5'
|
|
14
14
|
import _ from 'lodash'
|
15
15
|
import React, { useState, useEffect } from 'react'
|
16
16
|
|
17
|
-
export default function useJason({ reducers, middleware = [], extraActions }: { reducers?: any, middleware?: any[], extraActions?: any }) {
|
17
|
+
export default function useJason({ reducers, middleware = [], enhancers = [], extraActions }: { reducers?: any, middleware?: any[], enhancers?: any[], extraActions?: any }) {
|
18
18
|
const [store, setStore] = useState(null as any)
|
19
19
|
const [value, setValue] = useState(null as any)
|
20
20
|
|
@@ -35,7 +35,7 @@ export default function useJason({ reducers, middleware = [], extraActions }: {
|
|
35
35
|
|
36
36
|
console.debug({ allReducers })
|
37
37
|
|
38
|
-
const store = configureStore({ reducer: allReducers, middleware: [...middleware, pruneIdsMiddleware(schema)] })
|
38
|
+
const store = configureStore({ reducer: allReducers, middleware: [...middleware, pruneIdsMiddleware(schema)], enhancers })
|
39
39
|
const dispatch = store.dispatch
|
40
40
|
|
41
41
|
const optDis = createOptDis(schema, dispatch, restClient, serverActionQueue)
|
data/lib/jason/publisher.rb
CHANGED
@@ -16,7 +16,7 @@ module Jason::Publisher
|
|
16
16
|
|
17
17
|
# Exists
|
18
18
|
if self.persisted? && (scope.blank? || self.class.unscoped.send(scope).exists?(self.id))
|
19
|
-
payload = self.
|
19
|
+
payload = self.as_json(as_json_config)
|
20
20
|
gidx = Jason::LuaGenerator.new.cache_json(self.class.name.underscore, self.id, payload)
|
21
21
|
return [payload, gidx]
|
22
22
|
# Has been destroyed
|
@@ -129,7 +129,7 @@ module Jason::Publisher
|
|
129
129
|
|
130
130
|
class_methods do
|
131
131
|
def cache_all
|
132
|
-
all.
|
132
|
+
all.find_each(&:cache_json)
|
133
133
|
end
|
134
134
|
|
135
135
|
def has_jason?
|
data/lib/jason/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jason-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Rees
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-04-
|
11
|
+
date: 2021-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|