@aws-solutions-constructs/core 2.77.0 → 2.78.0
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/.jsii +42 -42
- package/lib/alb-helper.js +2 -3
- package/lib/apigateway-defaults.d.ts +6 -6
- package/lib/apigateway-defaults.js +11 -11
- package/lib/apigateway-helper.d.ts +2 -2
- package/lib/apigateway-helper.js +8 -10
- package/lib/cloudfront-distribution-helper.js +2 -3
- package/lib/cloudwatch-log-group-helper.js +2 -4
- package/lib/cognito-defaults.d.ts +2 -2
- package/lib/cognito-defaults.js +4 -4
- package/lib/cognito-helper.js +3 -5
- package/lib/dynamodb-table-defaults.d.ts +3 -3
- package/lib/dynamodb-table-defaults.js +6 -6
- package/lib/dynamodb-table-helper.js +3 -3
- package/lib/elasticsearch-helper.js +5 -5
- package/lib/eventbridge-helper.js +4 -4
- package/lib/events-rule-defaults.d.ts +1 -1
- package/lib/events-rule-defaults.js +4 -4
- package/lib/fargate-helper.js +2 -3
- package/lib/glue-database-defaults.js +3 -3
- package/lib/glue-job-helper.js +3 -3
- package/lib/glue-table-defaults.js +6 -6
- package/lib/iot-topic-rule-defaults.d.ts +1 -1
- package/lib/iot-topic-rule-defaults.js +6 -6
- package/lib/kendra-helper.d.ts +1 -1
- package/lib/kendra-helper.js +1 -1
- package/lib/kinesis-analytics-defaults.d.ts +2 -2
- package/lib/kinesis-analytics-defaults.js +4 -4
- package/lib/kinesis-analytics-helper.js +2 -2
- package/lib/kinesis-firehose-s3-defaults.d.ts +1 -1
- package/lib/kinesis-firehose-s3-defaults.js +7 -7
- package/lib/kinesis-streams-defaults.d.ts +2 -2
- package/lib/kinesis-streams-defaults.js +4 -4
- package/lib/kinesis-streams-helper.js +2 -3
- package/lib/kms-defaults.d.ts +2 -2
- package/lib/kms-defaults.js +4 -4
- package/lib/kms-helper.js +2 -4
- package/lib/lambda-event-source-mapping-defaults.d.ts +3 -3
- package/lib/lambda-event-source-mapping-defaults.js +16 -16
- package/lib/mediastore-helper.js +2 -3
- package/lib/opensearch-helper.js +2 -2
- package/lib/override-warning-service.js +9 -6
- package/lib/s3-bucket-helper.js +7 -1
- package/lib/sagemaker-helper.d.ts +5 -0
- package/lib/sagemaker-helper.js +10 -9
- package/lib/secretsmanager-defaults.d.ts +2 -2
- package/lib/secretsmanager-defaults.js +4 -4
- package/lib/secretsmanager-helper.js +2 -3
- package/lib/sns-defaults.d.ts +2 -2
- package/lib/sns-defaults.js +4 -4
- package/lib/sns-helper.js +2 -2
- package/lib/sqs-defaults.js +3 -3
- package/lib/sqs-helper.js +2 -2
- package/lib/step-function-defaults.d.ts +1 -1
- package/lib/step-function-defaults.js +3 -3
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +14 -12
- package/lib/vpc-helper.js +1 -3
- package/lib/waf-helper.js +2 -3
- package/lib/websocket-api-helper.js +1 -2
- package/package.json +3 -3
- package/test/apigateway-helper.test.js +3 -3
- package/test/cloudfront-distribution-api-gateway-helper.test.js +11 -11
- package/test/dynamo-table.test.js +9 -9
- package/test/glue-job-helper.test.js +7 -7
- package/test/glue-table-helper.test.js +5 -5
- package/test/kinesis-analytics.test.js +2 -2
- package/test/kinesis-streams-defaults.test.js +2 -2
- package/test/lambda-event-source.test.js +10 -10
- package/test/override-warning-service.test.js +25 -26
- package/test/pipes-helper.test.js +2 -2
- package/test/step-function-helper.test.js +5 -5
- package/test/utils.test.js +11 -12
- package/.eslintignore +0 -9
- package/node_modules/ansi-regex/index.d.ts +0 -37
- package/node_modules/ansi-regex/index.js +0 -10
- package/node_modules/ansi-regex/license +0 -9
- package/node_modules/ansi-regex/package.json +0 -55
- package/node_modules/ansi-regex/readme.md +0 -78
- package/node_modules/aproba/LICENSE +0 -14
- package/node_modules/aproba/README.md +0 -94
- package/node_modules/aproba/index.js +0 -105
- package/node_modules/aproba/package.json +0 -35
- package/node_modules/are-we-there-yet/LICENSE.md +0 -18
- package/node_modules/are-we-there-yet/README.md +0 -208
- package/node_modules/are-we-there-yet/lib/index.js +0 -4
- package/node_modules/are-we-there-yet/lib/tracker-base.js +0 -13
- package/node_modules/are-we-there-yet/lib/tracker-group.js +0 -112
- package/node_modules/are-we-there-yet/lib/tracker-stream.js +0 -42
- package/node_modules/are-we-there-yet/lib/tracker.js +0 -34
- package/node_modules/are-we-there-yet/package.json +0 -53
- package/node_modules/color-support/LICENSE +0 -15
- package/node_modules/color-support/README.md +0 -129
- package/node_modules/color-support/bin.js +0 -3
- package/node_modules/color-support/browser.js +0 -14
- package/node_modules/color-support/index.js +0 -134
- package/node_modules/color-support/package.json +0 -36
- package/node_modules/console-control-strings/LICENSE +0 -13
- package/node_modules/console-control-strings/README.md +0 -145
- package/node_modules/console-control-strings/index.js +0 -125
- package/node_modules/console-control-strings/package.json +0 -27
- package/node_modules/deep-diff/.circleci/config.yml +0 -76
- package/node_modules/deep-diff/.eslintrc +0 -72
- package/node_modules/deep-diff/.vscode/launch.json +0 -30
- package/node_modules/deep-diff/.vscode/tasks.json +0 -12
- package/node_modules/deep-diff/ChangeLog.md +0 -63
- package/node_modules/deep-diff/LICENSE +0 -7
- package/node_modules/deep-diff/Readme.md +0 -239
- package/node_modules/deep-diff/dist/deep-diff.min.js +0 -1
- package/node_modules/deep-diff/dist/deep-diff.min.js.map +0 -1
- package/node_modules/deep-diff/examples/apply-diff-from-any.js +0 -39
- package/node_modules/deep-diff/examples/array-change.js +0 -45
- package/node_modules/deep-diff/examples/capture_change_apply_elsewhere.js +0 -53
- package/node_modules/deep-diff/examples/diff-ignoring-fun.js +0 -88
- package/node_modules/deep-diff/examples/diff-scenarios.js +0 -49
- package/node_modules/deep-diff/examples/example1.js +0 -41
- package/node_modules/deep-diff/examples/issue-111.js +0 -6
- package/node_modules/deep-diff/examples/issue-113-1.js +0 -14
- package/node_modules/deep-diff/examples/issue-113-2.js +0 -11
- package/node_modules/deep-diff/examples/issue-115.js +0 -17
- package/node_modules/deep-diff/examples/issue-124.js +0 -8
- package/node_modules/deep-diff/examples/issue-125.js +0 -19
- package/node_modules/deep-diff/examples/issue-126.js +0 -33
- package/node_modules/deep-diff/examples/issue-35.js +0 -11
- package/node_modules/deep-diff/examples/issue-47.js +0 -17
- package/node_modules/deep-diff/examples/issue-48.js +0 -48
- package/node_modules/deep-diff/examples/issue-62.js +0 -14
- package/node_modules/deep-diff/examples/issue-70.js +0 -6
- package/node_modules/deep-diff/examples/issue-71.js +0 -15
- package/node_modules/deep-diff/examples/issue-72.js +0 -21
- package/node_modules/deep-diff/examples/issue-74.js +0 -9
- package/node_modules/deep-diff/examples/issue-78.js +0 -24
- package/node_modules/deep-diff/examples/issue-83.js +0 -11
- package/node_modules/deep-diff/examples/issue-88.js +0 -26
- package/node_modules/deep-diff/examples/performance.js +0 -64
- package/node_modules/deep-diff/examples/practice-data.json +0 -2501
- package/node_modules/deep-diff/index.js +0 -526
- package/node_modules/deep-diff/package.json +0 -74
- package/node_modules/deep-diff/test/.eslintrc +0 -10
- package/node_modules/deep-diff/test/tests.html +0 -34
- package/node_modules/deep-diff/test/tests.js +0 -759
- package/node_modules/deepmerge/.editorconfig +0 -7
- package/node_modules/deepmerge/.eslintcache +0 -1
- package/node_modules/deepmerge/changelog.md +0 -167
- package/node_modules/deepmerge/dist/cjs.js +0 -133
- package/node_modules/deepmerge/dist/umd.js +0 -139
- package/node_modules/deepmerge/index.d.ts +0 -20
- package/node_modules/deepmerge/index.js +0 -106
- package/node_modules/deepmerge/license.txt +0 -21
- package/node_modules/deepmerge/package.json +0 -42
- package/node_modules/deepmerge/readme.md +0 -264
- package/node_modules/deepmerge/rollup.config.js +0 -22
- package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/node_modules/emoji-regex/README.md +0 -73
- package/node_modules/emoji-regex/es2015/index.js +0 -6
- package/node_modules/emoji-regex/es2015/text.js +0 -6
- package/node_modules/emoji-regex/index.d.ts +0 -23
- package/node_modules/emoji-regex/index.js +0 -6
- package/node_modules/emoji-regex/package.json +0 -50
- package/node_modules/emoji-regex/text.js +0 -6
- package/node_modules/gauge/LICENSE.md +0 -20
- package/node_modules/gauge/README.md +0 -402
- package/node_modules/gauge/lib/base-theme.js +0 -18
- package/node_modules/gauge/lib/error.js +0 -24
- package/node_modules/gauge/lib/has-color.js +0 -4
- package/node_modules/gauge/lib/index.js +0 -289
- package/node_modules/gauge/lib/plumbing.js +0 -50
- package/node_modules/gauge/lib/process.js +0 -3
- package/node_modules/gauge/lib/progress-bar.js +0 -41
- package/node_modules/gauge/lib/render-template.js +0 -222
- package/node_modules/gauge/lib/set-immediate.js +0 -7
- package/node_modules/gauge/lib/set-interval.js +0 -3
- package/node_modules/gauge/lib/spin.js +0 -5
- package/node_modules/gauge/lib/template-item.js +0 -87
- package/node_modules/gauge/lib/theme-set.js +0 -122
- package/node_modules/gauge/lib/themes.js +0 -56
- package/node_modules/gauge/lib/wide-truncate.js +0 -31
- package/node_modules/gauge/package.json +0 -68
- package/node_modules/has-unicode/LICENSE +0 -14
- package/node_modules/has-unicode/README.md +0 -43
- package/node_modules/has-unicode/index.js +0 -16
- package/node_modules/has-unicode/package.json +0 -30
- package/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
- package/node_modules/is-fullwidth-code-point/index.js +0 -50
- package/node_modules/is-fullwidth-code-point/license +0 -9
- package/node_modules/is-fullwidth-code-point/package.json +0 -42
- package/node_modules/is-fullwidth-code-point/readme.md +0 -39
- package/node_modules/npmlog/LICENSE.md +0 -20
- package/node_modules/npmlog/README.md +0 -216
- package/node_modules/npmlog/lib/log.js +0 -400
- package/node_modules/npmlog/package.json +0 -52
- package/node_modules/set-blocking/LICENSE.txt +0 -14
- package/node_modules/set-blocking/README.md +0 -31
- package/node_modules/set-blocking/index.js +0 -7
- package/node_modules/set-blocking/package.json +0 -42
- package/node_modules/signal-exit/LICENSE.txt +0 -16
- package/node_modules/signal-exit/README.md +0 -74
- package/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
- package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
- package/node_modules/signal-exit/dist/cjs/browser.js +0 -10
- package/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
- package/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
- package/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
- package/node_modules/signal-exit/dist/cjs/index.js +0 -279
- package/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
- package/node_modules/signal-exit/dist/cjs/package.json +0 -3
- package/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
- package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
- package/node_modules/signal-exit/dist/cjs/signals.js +0 -42
- package/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
- package/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
- package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
- package/node_modules/signal-exit/dist/mjs/browser.js +0 -4
- package/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
- package/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
- package/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
- package/node_modules/signal-exit/dist/mjs/index.js +0 -275
- package/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
- package/node_modules/signal-exit/dist/mjs/package.json +0 -3
- package/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
- package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
- package/node_modules/signal-exit/dist/mjs/signals.js +0 -39
- package/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
- package/node_modules/signal-exit/package.json +0 -106
- package/node_modules/string-width/index.d.ts +0 -29
- package/node_modules/string-width/index.js +0 -47
- package/node_modules/string-width/license +0 -9
- package/node_modules/string-width/package.json +0 -56
- package/node_modules/string-width/readme.md +0 -50
- package/node_modules/strip-ansi/index.d.ts +0 -17
- package/node_modules/strip-ansi/index.js +0 -4
- package/node_modules/strip-ansi/license +0 -9
- package/node_modules/strip-ansi/package.json +0 -54
- package/node_modules/strip-ansi/readme.md +0 -46
- package/node_modules/wide-align/LICENSE +0 -14
- package/node_modules/wide-align/README.md +0 -47
- package/node_modules/wide-align/align.js +0 -65
- package/node_modules/wide-align/package.json +0 -33
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const { log, inspect } = require('util');
|
|
2
|
-
const assert = require('assert');
|
|
3
|
-
const diff = require('../');
|
|
4
|
-
|
|
5
|
-
const o1 = {};
|
|
6
|
-
const o2 = {};
|
|
7
|
-
o1.foo = o1;
|
|
8
|
-
o2.foo = o2;
|
|
9
|
-
|
|
10
|
-
assert.notEqual(o1, o2, 'not same object');
|
|
11
|
-
assert.notEqual(o1.foo, o2.foo, 'not same object');
|
|
12
|
-
|
|
13
|
-
const differences = diff(o1, o2);
|
|
14
|
-
log(inspect(differences, false, 9));
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
var diff = require('../');
|
|
2
|
-
var expect = require('expect.js');
|
|
3
|
-
|
|
4
|
-
var thing1 = 'this';
|
|
5
|
-
var thing2 = 'that';
|
|
6
|
-
var thing3 = 'other';
|
|
7
|
-
var thing4 = 'another';
|
|
8
|
-
|
|
9
|
-
var oldArray = [thing1, thing2, thing3, thing4];
|
|
10
|
-
var newArray = [thing1, thing2];
|
|
11
|
-
|
|
12
|
-
diff.observableDiff(oldArray, newArray,
|
|
13
|
-
function (d) {
|
|
14
|
-
diff.applyChange(oldArray, d);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
expect(oldArray).to.eql(newArray);
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
var diff = require('../');
|
|
2
|
-
|
|
3
|
-
const left = {
|
|
4
|
-
nested: {
|
|
5
|
-
param1: null,
|
|
6
|
-
param2: null
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const right = {
|
|
11
|
-
nested: {
|
|
12
|
-
param1: null,
|
|
13
|
-
param2: null
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
var differences = diff(left, right);
|
|
18
|
-
// eslint-disable-next-line no-console
|
|
19
|
-
console.log(differences);
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// This example shows how prefiltering can be used.
|
|
2
|
-
|
|
3
|
-
const diff = require('../'); // deep-diff
|
|
4
|
-
const { log, inspect } = require('util');
|
|
5
|
-
const assert = require('assert');
|
|
6
|
-
|
|
7
|
-
const data = {
|
|
8
|
-
issue: 126,
|
|
9
|
-
submittedBy: 'abuzarhamza',
|
|
10
|
-
title: 'readme.md need some additional example prefilter',
|
|
11
|
-
posts: [
|
|
12
|
-
{
|
|
13
|
-
date: '2018-04-16',
|
|
14
|
-
text: `additional example for prefilter for deep-diff would be great.
|
|
15
|
-
https://stackoverflow.com/questions/38364639/pre-filter-condition-deep-diff-node-js`
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const clone = JSON.parse(JSON.stringify(data));
|
|
21
|
-
clone.title = 'README.MD needs additional example illustrating how to prefilter';
|
|
22
|
-
clone.disposition = 'completed';
|
|
23
|
-
|
|
24
|
-
const two = diff(data, clone);
|
|
25
|
-
const none = diff(data, clone,
|
|
26
|
-
(path, key) => path.length === 0 && ~['title', 'disposition'].indexOf(key)
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
assert.equal(two.length, 2, 'should reflect two differences');
|
|
30
|
-
assert.ok(typeof none === 'undefined', 'should reflect no differences');
|
|
31
|
-
|
|
32
|
-
log(inspect(two, false, 9));
|
|
33
|
-
log(inspect(none, false, 9));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
var deep = require('../');
|
|
2
|
-
|
|
3
|
-
var lhs = ['a', 'a'];
|
|
4
|
-
var rhs = ['a'];
|
|
5
|
-
var differences = deep.diff(lhs, rhs);
|
|
6
|
-
differences.forEach(function (change) {
|
|
7
|
-
deep.applyChange(lhs, true, change);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
console.log(lhs); // eslint-disable-line no-console
|
|
11
|
-
console.log(rhs); // eslint-disable-line no-console
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
var diff = require('../');
|
|
2
|
-
var expect = require('expect.js');
|
|
3
|
-
|
|
4
|
-
var thing1 = 'this';
|
|
5
|
-
var thing2 = 'that';
|
|
6
|
-
var thing3 = 'other';
|
|
7
|
-
var thing4 = 'another';
|
|
8
|
-
|
|
9
|
-
var oldArray = [thing1, thing2, thing3, thing4];
|
|
10
|
-
var newArray = [thing1, thing2];
|
|
11
|
-
|
|
12
|
-
diff.observableDiff(oldArray, newArray,
|
|
13
|
-
function (d) {
|
|
14
|
-
diff.applyChange(oldArray, newArray, d);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
expect(oldArray).to.eql(newArray);
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
var dd = require('../'); // deep-diff
|
|
3
|
-
var inspect = require('util').inspect;
|
|
4
|
-
var expect = require('expect.js');
|
|
5
|
-
|
|
6
|
-
var before = {
|
|
7
|
-
name: 'my object',
|
|
8
|
-
description: 'it\'s an object!',
|
|
9
|
-
details: {
|
|
10
|
-
it: 'has',
|
|
11
|
-
an: 'array',
|
|
12
|
-
with: ['a', 'few', 'elements']
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
var after = {
|
|
17
|
-
name: 'updated object',
|
|
18
|
-
description: 'it\'s an object!',
|
|
19
|
-
details: {
|
|
20
|
-
it: 'has',
|
|
21
|
-
an: 'array',
|
|
22
|
-
with: ['a', 'few', 'more', 'elements', { than: 'before' }]
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
var revertDiff = function (src, d) {
|
|
27
|
-
d.forEach(function (change) {
|
|
28
|
-
dd.revertChange(src, true, change);
|
|
29
|
-
});
|
|
30
|
-
return src;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
var clone = function (src) {
|
|
34
|
-
return JSON.parse(JSON.stringify(src));
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
var df = dd.diff(before, after);
|
|
38
|
-
var b1 = clone(before);
|
|
39
|
-
var a1 = clone(after);
|
|
40
|
-
|
|
41
|
-
console.log(inspect(a1, false, 9)); // eslint-disable-line no-console
|
|
42
|
-
|
|
43
|
-
var reverted = revertDiff(a1, df);
|
|
44
|
-
console.log(inspect(reverted, false, 9)); // eslint-disable-line no-console
|
|
45
|
-
console.log(inspect(b1, false, 9)); // eslint-disable-line no-console
|
|
46
|
-
|
|
47
|
-
expect(reverted).to.eql(b1);
|
|
48
|
-
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
var deep = require("../");
|
|
2
|
-
|
|
3
|
-
// https://github.com/flitbit/diff/issues/62#issuecomment-229549984
|
|
4
|
-
// 3: appears to be fixed, probably in fixing #74.
|
|
5
|
-
|
|
6
|
-
var a = {};
|
|
7
|
-
var b = {};
|
|
8
|
-
a.x = b;
|
|
9
|
-
b.x = b;
|
|
10
|
-
deep.diff(a, b); // True
|
|
11
|
-
|
|
12
|
-
a.x = a; // Change to a
|
|
13
|
-
// No change to b
|
|
14
|
-
console.log(deep.diff(a, b)); // Still true...
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
var diff = require('../');
|
|
2
|
-
|
|
3
|
-
var before = {
|
|
4
|
-
data: [1, 2, 3]
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
var after = {
|
|
8
|
-
data: [4, 5, 1]
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
var differences = diff(before, after);
|
|
12
|
-
console.log(differences); // eslint-disable-line no-console
|
|
13
|
-
differences.reduce(
|
|
14
|
-
(acc, change) => {
|
|
15
|
-
diff.revertChange(acc, true, change);
|
|
16
|
-
return acc;
|
|
17
|
-
},
|
|
18
|
-
after
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
console.log(after); // eslint-disable-line no-console
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
const diff = require('../');
|
|
3
|
-
const ptr = require('json-ptr');
|
|
4
|
-
|
|
5
|
-
const inspect = require('util').inspect;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const objA = { array: [{ a: 1 }] };
|
|
9
|
-
const objB = { array: [{ a: 2 }] };
|
|
10
|
-
|
|
11
|
-
let changes = diff(objA, objB);
|
|
12
|
-
if (changes) {
|
|
13
|
-
// decorate the changes using json-pointers
|
|
14
|
-
for (let i = 0; i < changes.length; ++i) {
|
|
15
|
-
let change = changes[i];
|
|
16
|
-
// get the parent path:
|
|
17
|
-
let pointer = ptr.create(change.path.slice(0, change.path.length - 1));
|
|
18
|
-
if (change.kind === 'E') {
|
|
19
|
-
change.elementLeft = pointer.get(objA);
|
|
20
|
-
change.elementRight = pointer.get(objB);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
console.log(inspect(changes, false, 9)); // eslint-disable-line no-console
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
var diff = require("../");
|
|
2
|
-
|
|
3
|
-
var before = {
|
|
4
|
-
length: 3,
|
|
5
|
-
data: [1, 2, 3]
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
var after = {
|
|
9
|
-
data: [4, 5, 1, 2, 3],
|
|
10
|
-
count: 5
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
var differences = diff(before, after);
|
|
14
|
-
console.log(differences);
|
|
15
|
-
|
|
16
|
-
function applyChanges(target, changes) {
|
|
17
|
-
return changes.reduce(
|
|
18
|
-
(acc, change) => {
|
|
19
|
-
diff.applyChange(acc, true, change);
|
|
20
|
-
return acc;
|
|
21
|
-
},
|
|
22
|
-
target
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
console.log(applyChanges(before, differences));
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
var util = require('util')
|
|
2
|
-
, diff = require('..')
|
|
3
|
-
, data = require('./practice-data')
|
|
4
|
-
;
|
|
5
|
-
|
|
6
|
-
var cycle = -1
|
|
7
|
-
, i
|
|
8
|
-
, len = data.length
|
|
9
|
-
, prior = {}
|
|
10
|
-
, comparand
|
|
11
|
-
, records
|
|
12
|
-
, roll = []
|
|
13
|
-
, stat
|
|
14
|
-
, stats = []
|
|
15
|
-
, mark, elapsed, avg = { diff: { ttl: 0 }, apply: { ttl: 0 } }, ttl = 0
|
|
16
|
-
;
|
|
17
|
-
|
|
18
|
-
mark = process.hrtime();
|
|
19
|
-
while (++cycle < 10) {
|
|
20
|
-
i = -1;
|
|
21
|
-
while (++i < len) {
|
|
22
|
-
stats.push(stat = { mark: process.hrtime() });
|
|
23
|
-
|
|
24
|
-
comparand = roll[i] || data[i];
|
|
25
|
-
|
|
26
|
-
stat.diff = { mark: process.hrtime() };
|
|
27
|
-
records = diff(prior, comparand);
|
|
28
|
-
stat.diff.intv = process.hrtime(stat.diff.mark);
|
|
29
|
-
|
|
30
|
-
if (records) {
|
|
31
|
-
stat.apply = { count: diff.length, mark: process.hrtime() };
|
|
32
|
-
records.forEach(function (ch) {
|
|
33
|
-
diff.applyChange(prior, comparand, ch);
|
|
34
|
-
});
|
|
35
|
-
stat.apply.intv = process.hrtime(stat.apply.mark);
|
|
36
|
-
|
|
37
|
-
prior = comparand;
|
|
38
|
-
}
|
|
39
|
-
stat.intv = process.hrtime(stat.mark);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function ms(intv) {
|
|
44
|
-
return (intv[0] * 1e9 + intv[1] / 1e6);
|
|
45
|
-
}
|
|
46
|
-
elapsed = ms(process.hrtime(mark));
|
|
47
|
-
|
|
48
|
-
stats.forEach(function (stat) {
|
|
49
|
-
stat.elapsed = ms(stat.intv);
|
|
50
|
-
stat.diff.elapsed = ms(stat.diff.intv);
|
|
51
|
-
avg.diff.ttl += stat.diff.elapsed;
|
|
52
|
-
if (stat.apply) {
|
|
53
|
-
stat.apply.elapsed = ms(stat.apply.intv);
|
|
54
|
-
ttl += stat.apply.count;
|
|
55
|
-
avg.apply.ttl += stat.apply.elapsed;
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
avg.diff.avg = avg.diff.ttl / ttl;
|
|
60
|
-
avg.apply.avg = avg.apply.ttl / ttl;
|
|
61
|
-
|
|
62
|
-
console.log('Captured '.concat(stats.length, ' samples with ', ttl, ' combined differences in ', elapsed, 'ms'));
|
|
63
|
-
console.log('\tavg diff: '.concat(avg.diff.avg, 'ms or ', (1 / avg.diff.avg), ' per ms'));
|
|
64
|
-
console.log('\tavg apply: '.concat(avg.apply.avg, 'ms or ', (1 / avg.apply.avg), ' per ms'));
|